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

google/filament filament/CMakeLists.txt :462

add_custom_command(
        OUTPUT "${MATERIAL_DIR}/colorGradingAsSubpass.filamat"
        DEPENDS ../shaders/src/inline_dithering.fs
        DEPENDS ../shaders/src/inline_vignette.fs
        DEPENDS src/materials/colorGrading/colorGrading.fs
        APPEND
)

rbfx/rbfx Source/ThirdParty/Diligent/BuildTools/CMake/BuildUtils.cmake :371

add_custom_command(
                OUTPUT ${COMBINED_LIB_NAME}
                COMMAND ${AR} -crs ${COMBINED_LIB_NAME} "*${CMAKE_C_OUTPUT_EXTENSION}"
                COMMAND ${CMAKE_COMMAND} -E remove "*${CMAKE_C_OUTPUT_EXTENSION}"
                APPEND
            )

mozilla-mobile/mozilla-vpn-client macos/pkg/CMakeLists.txt :62

add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/.staging-stamp APPEND
        DEPENDS ${MACPKG_SOURCE_BUNDLE}
        COMMAND ${CMAKE_COMMAND} -E copy_directory $<TARGET_BUNDLE_DIR:${MACPKG_SOURCE_BUNDLE}>
            ${CMAKE_CURRENT_BINARY_DIR}/staging/$<TARGET_PROPERTY:${MACPKG_SOURCE_BUNDLE},OUTPUT_NAME>.app
        COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/.staging-stamp
    )

mhx/dwarfs CMakeLists.txt :1265

add_custom_command(
          OUTPUT _copy_artifacts APPEND
          COMMAND ${CMAKE_COMMAND} -E copy
              ${CMAKE_CURRENT_BINARY_DIR}/ricepp/ricepp_benchmark_fits${CMAKE_EXECUTABLE_SUFFIX}
              ${ARTIFACTS_FULL_PATH}/ricepp_benchmark_fits-${DWARFS_ARTIFACT_ID}${CMAKE_EXECUTABLE_SUFFIX}
        )

neka-nat/cupoch src/cupoch/visualization/CMakeLists.txt :11

add_custom_command(
        OUTPUT ${PROJECT_SOURCE_DIR}/src/cupoch/visualization/shader/shader.h
        COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/encode_shader.py shader.h ${file}
        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/cupoch/visualization/shader/
        DEPENDS ${SHADER_FILES}
        APPEND
    )

Lewuathe/mlir-hello thirdparty/llvm-project/offload/DeviceRTL/CMakeLists.txt :171

add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/internalized_${bclib_name}
      DEPENDS opt
      APPEND)