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

RavEngine/RavEngine deps/resonance-audio/third_party/eigen/cmake/FindComputeCpp.cmake :299

add_custom_command(
    OUTPUT ${outputDeviceFile} ${outputSyclFile}
    COMMAND ${ComputeCpp_DEVICE_COMPILER_EXECUTABLE}
            ${COMPUTECPP_DEVICE_COMPILER_FLAGS}
            ${generated_include_directories}
            ${generated_compile_definitions}
            -sycl-ih ${outputSyclFile}
            -o ${outputDeviceFile}
            -c ${SDK_BUILD_IR_SOURCE}
            ${generate_depfile}
    DEPENDS ${ir_dependencies}
    IMPLICIT_DEPENDS CXX ${SDK_BUILD_IR_SOURCE}
    ${enable_depfile}
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    COMMENT "Building ComputeCpp integration header file ${outputSyclFile}")

Hotride/OrionUO CMake/cotire.cmake :2418

add_custom_command(
				OUTPUT "${_pchFile}"
				COMMAND ${_cmds}
				DEPENDS "${_prefixFile}" "${_realCompilerExe}"
				IMPLICIT_DEPENDS ${_language} "${_prefixFile}"
				WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
				COMMENT "Building ${_language} precompiled header ${_pchFileLogPath}"
				VERBATIM)

saturneric/GpgFrontend cmake/cotire.cmake :2428

add_custom_command(
				OUTPUT "${_pchFile}"
				COMMAND ${_cmds}
				DEPENDS "${_prefixFile}" "${_realCompilerExe}"
				IMPLICIT_DEPENDS ${_language} "${_prefixFile}"
				WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
				COMMENT "Building ${_language} precompiled header ${_pchFileLogPath}"
				VERBATIM)

bitshares-cnvote/newbitshares-core CMakeModules/cotire.cmake :2260

add_custom_command(
				OUTPUT "${_pchFile}"
				COMMAND ${_cmds}
				DEPENDS "${_prefixFile}" "${_realCompilerExe}"
				IMPLICIT_DEPENDS ${_language} "${_prefixFile}"
				WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
				COMMENT "Building ${_language} precompiled header ${_pchFileLogPath}"
				VERBATIM)

Froser/gamemachine src/3rdparty/openal-soft-1.19.1/CMakeLists.txt :1293

ADD_CUSTOM_COMMAND(OUTPUT "${BIN2H_COMMAND}" "${BSINCGEN_COMMAND}"
    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" "${NATIVE_SRC_DIR}"
    COMMAND ${CMAKE_COMMAND} -E remove "${BIN2H_COMMAND}" "${BSINCGEN_COMMAND}"
    COMMAND ${CMAKE_COMMAND} --build . --config "Release"
    WORKING_DIRECTORY "${NATIVE_BIN_DIR}"
    DEPENDS "${NATIVE_SRC_DIR}CMakeLists.txt"
    IMPLICIT_DEPENDS C "${NATIVE_SRC_DIR}bin2h.c"
                     C "${NATIVE_SRC_DIR}bsincgen.c"
    VERBATIM
)

datoviz/datoviz CMakeLists.txt :614

add_custom_command(
    OUTPUT ${path_shadersc}
    COMMAND ${CMAKE_COMMAND}
    -D DIR="${SPIRV_DIR}/*"
    -D PREFIX="shader"
    -D OUTPUT=${path_shadersc}
    -P "${CMAKE_SOURCE_DIR}/cmake/embed_resources.cmake"
    DEPENDS shaders_spirv ${shader_sources}
    IMPLICIT_DEPENDS shaders_spirv ${shader_sources}
)