cmake add_custom_command examples

Signatures

add_custom_command(OUTPUT output1 [output2 ...]
  COMMAND command1 [ARGS] [args1...]
  [COMMAND command2 [ARGS] [args2...] ...]
  [MAIN_DEPENDENCY depend]
  [DEPENDS [depends...]]
  [BYPRODUCTS [files...]]
  [IMPLICIT_DEPENDS <lang1> depend1
  [<lang2> depend2] ...]
  [WORKING_DIRECTORY dir]
  [COMMENT comment]
  [DEPFILE depfile]
  [JOB_POOL job_pool]
  [JOB_SERVER_AWARE <bool>]
  [VERBATIM] [APPEND] [USES_TERMINAL]
  [COMMAND_EXPAND_LISTS]
[DEPENDS_EXPLICIT_ONLY])

Examples

jasp-stats/jasp-desktop Tools/CMake/R.cmake :1058

add_custom_command(
        JOB_POOL sequential
        WORKING_DIRECTORY ${jags_SOURCE_DIR}
        OUTPUT ${jags_VERSION_H_PATH}
        COMMAND
          export CFLAGS=${READSTAT_CFLAGS} && export
          CXXFLAGS=${READSTAT_CXXFLAGS} && ${JAGS_F77_FLAG} ./configure
          --disable-dependency-tracking --prefix=${jags_HOME}
          ${JAGS_EXTRA_FLAGS_1} ${JAGS_EXTRA_FLAGS_2}
        COMMAND ${MAKE}
        COMMAND ${MAKE} install
        COMMAND
          ${CMAKE_COMMAND} -D
          NAME_TOOL_PREFIX_PATCHER=${PROJECT_SOURCE_DIR}/Tools/macOS/install_name_prefix_tool.sh
          -D PATH=${jags_HOME} -D R_HOME_PATH=${R_HOME_PATH} -D
          R_DIR_NAME=${R_DIR_NAME} -D
          SIGNING_IDENTITY=${APPLE_CODESIGN_IDENTITY} -D
          SIGNING=${IS_SIGNING} -D
          CODESIGN_TIMESTAMP_FLAG=${CODESIGN_TIMESTAMP_FLAG} -P
          ${PROJECT_SOURCE_DIR}/Tools/CMake/Patch.cmake
        COMMENT "----- Preparing 'jags'")

orbitersim/orbiter Doc/Orbiter Technical Reference/CMakeLists.txt :8

add_custom_command(
	OUTPUT ${out_path}
	COMMAND ${pdflatex_cmd}
	COMMAND ${bibtex_cmd}
	COMMAND ${pdflatex_cmd}
	DEPENDS ${src_path}
	WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
	JOB_POOL latex
)