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

FreeCAD/FreeCAD cMake/FreeCadMacros.cmake :204

add_custom_command(
		 		OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}"
		 		COMMAND "${Python3_EXECUTABLE}" "${TOOL_NATIVE_PATH}" "${SOURCE_NATIVE_PATH}" "${OUTPUT_FILE}" "${VARIABLE}"
				MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/${INPUT_FILE}"
				DEPENDS "${TOOL_PATH}"
				WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
				COMMENT "Building files out of ${INPUT_FILE}")

harfang3d/harfang3d doc/CMakeLists.txt :3

add_custom_command(
 	OUTPUT
 		${CMAKE_CURRENT_BINARY_DIR}/harfang/api.xml
 	COMMAND
 		${Python3_EXECUTABLE} bind.py ${CMAKE_SOURCE_DIR}/binding/bind_harfang.py --xml --out ${CMAKE_CURRENT_BINARY_DIR}/harfang ${HG_BINDING_DEFINES}
 	MAIN_DEPENDENCY
 		${CMAKE_SOURCE_DIR}/binding/bind_harfang.py
 	WORKING_DIRECTORY
 		${HG_FABGEN_PATH}
 	COMMENT
 		"Generating Harfang API description file")

RavEngine/RavEngine deps/RGL/deps/DirectXTex/CMakeLists.txt :212

add_custom_command(
            OUTPUT "${COMPILED_SHADERS}/BC6HEncode_EncodeBlockCS.inc"
            MAIN_DEPENDENCY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders/CompileShaders.cmd"
            DEPENDS ${SHADER_SOURCES}
            COMMENT "Generating HLSL shaders..."
            COMMAND ${CMAKE_COMMAND} -E env CompileShadersOutput="${COMPILED_SHADERS}" $<$<BOOL:${DIRECTX_FXC_TOOL}>:LegacyShaderCompiler=${DIRECTX_FXC_TOOL}> CompileShaders.cmd > "${COMPILED_SHADERS}/compileshaders.log"
            WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders"
            USES_TERMINAL)

AcademySoftwareFoundation/OpenShadingLanguage src/cmake/flexbison.cmake :65

add_custom_command ( OUTPUT ${bisonoutputcxx}
          COMMAND ${BISON_EXECUTABLE} -dv -p ${prefix} -o ${bisonoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${bisonsrc}"
          MAIN_DEPENDENCY ${bisonsrc}
          DEPENDS ${${compiler_headers}}
          WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )

KhronosGroup/Vulkan-Samples bldsys/cmake/sample_helper.cmake :231

add_custom_command(
                OUTPUT ${OUTPUT_FILE}
                COMMAND ${Vulkan_dxc_EXECUTABLE} -spirv -T ${DXC_PROFILE} -E main ${TARGET_DXC_ADDITIONAL_ARGUMENTS} ${SHADER_FILE_HLSL} -Fo ${OUTPUT_FILE}
                COMMAND ${CMAKE_COMMAND} -E copy ${OUTPUT_FILE} ${directory}
                MAIN_DEPENDENCY ${SHADER_FILE_HLSL}
                WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
            )

facebook/folly build/fbcode_builder/CMake/FBThriftCppLibrary.cmake :109

add_custom_command(
    OUTPUT
      ${generated_headers}
      ${generated_sources}
    COMMAND_EXPAND_LISTS
    COMMAND
      "${CMAKE_COMMAND}" -E make_directory "${output_dir}"
    COMMAND
      "${FBTHRIFT_COMPILER}"
      --legacy-strict
      --gen "mstch_cpp2:${GEN_ARG_STR}"
      "${thrift_include_options}"
      -I "${FBTHRIFT_INCLUDE_DIR}"
      -o "${output_dir}"
      "${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_FILE}"
    WORKING_DIRECTORY
      "${CMAKE_BINARY_DIR}"
    MAIN_DEPENDENCY
      "${THRIFT_FILE}"
    DEPENDS
      ${ARG_DEPENDS}
      "${FBTHRIFT_COMPILER}"
  )

SsageParuders/Android_Native_Surface my_android_opencv/modules/java/test/android_test/CMakeLists.txt :41

add_custom_command(
    OUTPUT ${android_proj_target_files}
    COMMAND ${CMAKE_COMMAND} -E remove ${android_proj_target_files}
    COMMAND ${ANDROID_EXECUTABLE} --silent update test-project --path "${OPENCV_JAVA_TEST_DIR}" --main "${OpenCV_BINARY_DIR}/android_sdk"
    COMMAND ${ANDROID_EXECUTABLE} --silent update project --path "${OPENCV_JAVA_TEST_DIR}" --library "${__dep}"
    MAIN_DEPENDENCY "${OPENCV_JAVA_TEST_DIR}/${ANDROID_MANIFEST_FILE}"
    DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${ANDROID_MANIFEST_FILE}"
    COMMENT "Updating Android Java API test project")

moneymanagerex/moneymanagerex po/CMakeLists.txt :33

add_custom_command(
        OUTPUT ${CurrentFile}.mo
        COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -v --statistics -o ${CurrentFile}.mo ${CMAKE_BINARY_DIR}/po/${CurrentFile}.po
        COMMENT ""
        MAIN_DEPENDENCY "${POFile}")

awawa-dev/HyperHDR sources/webserver/CMakeLists.txt :33

add_custom_command (
        OUTPUT ${EMBEDDED_WEB_RESOURCES}
        COMMAND Qt${Qt_VERSION}::rcc -no-compress --binary ${CMAKE_BINARY_DIR}/web_resources.qrc -o ${EMBEDDED_WEB_RESOURCES}
        MAIN_DEPENDENCY ${CMAKE_BINARY_DIR}/web_resources.qrc
        DEPENDS ${web_resources_list}
        VERBATIM)

root-project/root cmake/modules/RootMacros.cmake :2060

add_custom_command(OUTPUT ${output}
    MAIN_DEPENDENCY
      ${input}
    DEPENDS
      ${CMAKE_SOURCE_DIR}/cmake/scripts/argparse2help.py
    COMMAND
      ${Python3_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/cmake/scripts/argparse2help.py ${input} ${output}
  )

CLIUtils/CLI11 tests/CMakeLists.txt :111

add_custom_command(
    OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${DATA_FILE}"
    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${DATA_FILE}"
            "${CMAKE_CURRENT_BINARY_DIR}/${DATA_FILE}"
    MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/${DATA_FILE}"
    VERBATIM)

google/filament filament/CMakeLists.txt :428

add_custom_command(
                    OUTPUT ${output_path_multiview}
                    COMMAND matc ${MATC_BASE_FLAGS} -PstereoscopicType=multiview -o ${output_path_multiview} ${fullname}
                    MAIN_DEPENDENCY ${fullname}
                    DEPENDS matc
                    COMMENT "Compiling material ${fullname} (Multiview)"
            )

NREL/EnergyPlus idd/CMakeLists.txt :4

add_custom_command(
  OUTPUT "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Energy+.schema.epJSON"
  COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/schema/generate_epJSON_schema.py" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
  MAIN_DEPENDENCY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Energy+.idd"
  DEPENDS
    schema/generate_epJSON_schema.py
    schema/idd_parser.py
    schema/modify_schema.py
  VERBATIM
)

eyalroz/cuda-api-wrappers examples/CMakeLists.txt :139

add_custom_command(
			OUTPUT vectorAddMMAP_kernel.fatbin
			COMMAND ${CMAKE_CUDA_COMPILER} -fatbin
				${CCBIN_ARGUMENT}
				${CUDA_ARCH_FLAGS}
				-o ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vectorAddMMAP_kernel.fatbin
				${CMAKE_CURRENT_SOURCE_DIR}/modified_cuda_samples/vectorAddMMAP/vectorAdd_kernel.cu
			MAIN_DEPENDENCY modified_cuda_samples/vectorAddMMAP/vectorAdd_kernel.cu
	)

tlorach/nvFX samples/OpenGL_CUDAConvolution/CMakeLists.txt :93

add_custom_command(
    OUTPUT OpenGL_CUDAConvolution_Log.txt
    COMMAND ${NVFX_BINARY_PATH}/nvFxcc
            -oOpenGL_CUDAConvolution_Log.txt
            ${OpenGL_CUDAConvolution_SOURCE_DIR}/OpenGL_CUDAConvolution.glslfx
    MAIN_DEPENDENCY OpenGL_CUDAConvolution.glslfx
    DEPENDS ${NVFX_BINARY_PATH}/nvFxcc
    WORKING_DIRECTORY ${OpenGL_CUDAConvolution_SOURCE_DIR}
    )

intel/hexl-fpga doc/CMakeLists.txt :16

add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
                   COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
                   MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
                   COMMENT "Generating Doxygen documentation")

OSVR/OSVR-Core cmake/UseMarkdown.cmake :84

add_custom_command(OUTPUT "${absout}"
			COMMAND
			${CMAKE_COMMAND}
			ARGS -E make_directory "${_dest}"
			COMMAND
			${MARKDOWN_EXECUTABLE}
			ARGS "${fullpath}" > "${absout}"
			MAIN_DEPENDENCY "${fullpath}"
			VERBATIM
			COMMENT "Converting Markdown ${fn} to HTML in ${absout}...")

aseprite/aseprite src/CMakeLists.txt :131

add_custom_command(
    OUTPUT ${DATA_OUTPUT_DIR}/${fn}
    COMMAND ${CMAKE_COMMAND} -E copy ${SOURCE_DATA_DIR}/${fn} ${DATA_OUTPUT_DIR}/${fn}
    MAIN_DEPENDENCY ${SOURCE_DATA_DIR}/${fn})

casadi/casadi cmake/UseSWIGMOD.cmake :253

add_custom_command(
    OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files}
    COMMAND "${SWIG_EXECUTABLE}"
    ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
    ${swig_source_file_flags}
    ${USE_SWIG_FLAGS}
    ${USE_SWIG_FLAGS_${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}}
    ${CMAKE_SWIG_FLAGS}
    -outdir ${swig_outdir}
    ${swig_special_flags}
    ${swig_extra_flags}
    ${swig_include_dirs}
    -o "${swig_generated_file_fullname}"
    "${swig_source_file_fullname}"
    MAIN_DEPENDENCY "${swig_source_file_fullname}"
    DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS}
    COMMENT "Swig source")

BioMedIA/MIRTK CMake/Basis/TargetTools.cmake :3504

add_custom_command (
    OUTPUT          "${BUILD_DIR}/__init__.py" ${PYTHON_OUTPUT_FILES} ${JYTHON_OUTPUT_FILES}
    COMMAND         "${CMAKE_COMMAND}" -P "${BUILD_SCRIPT}"
    MAIN_DEPENDENCY "${BASIS_PYTHON_TEMPLATES_DIR}/__init__.py.in"
    COMMENT         "Building PYTHON modules */__init__.py..."
  )

supertuxkart/stk-code lib/wiiuse/cmake/FileCopyTargets.cmake :65

add_custom_command(OUTPUT "${absout}"
			COMMAND
			${CMAKE_COMMAND}
			ARGS -E make_directory "${_dest}"
			COMMAND
			${CMAKE_COMMAND}
			ARGS -E copy "${fullpath}" "${_dest}"
			MAIN_DEPENDENCY "${fullpath}"
			VERBATIM
			COMMENT "Copying ${fn} to ${absout}")

qt/qtbase src/corelib/Qt6CoreMacros.cmake :463

add_custom_command(OUTPUT ${outfile}
                               COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::rcc
                               ARGS ${rcc_options} --name ${outfilename} --output ${outfile} ${infile}
                               MAIN_DEPENDENCY ${infile}
                               DEPENDS ${_rc_depends} "${_out_depends}" ${QT_CMAKE_EXPORT_NAMESPACE}::rcc
                               VERBATIM)

aras-p/hlsl2glslfork CMakeLists.txt :117

add_custom_command(OUTPUT hlslang/MachineIndependent/Gen_hlslang_tab.cpp hlslang/MachineIndependent/hlslang_tab.h 
                         COMMAND set ARGS "BISON_SIMPLE=../../tools/bison.simple"
                         COMMAND set ARGS "BISON_HAIRY=../../tools/bison.simple"
                         COMMAND ../../tools/bison.exe ARGS  -d -t -v hlslang.y
                         COMMAND copy ARGS /y hlslang_tab.c Gen_hlslang_tab.cpp
                         COMMAND del ARGS hlslang_tab.c
                         COMMAND del ARGS hlslang.output
                         MAIN_DEPENDENCY hlslang/MachineIndependent/hlslang.y
                         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/hlslang/MachineIndependent
                         COMMENT "Executing Bison on hlslang.y"
                      )

NauEngine/NauEditorPublic editor/external/magic_enum/cmake/GenPkgConfig/GenPkgConfig.cmake :179

add_custom_command(
				OUTPUT "${PKG_CONFIG_FILE_NAME_FINISHED}"
				PRE_BUILD COMMAND ${CMAKE_COMMAND} "-DobjectsFile=\"${TARGET_OBJECTS_FILE}\"" "-DpkgConfigFileUnlinished=\"${PKG_CONFIG_FILE_NAME_UNFINISHED}\"" "-DpkgConfigFileFinal=\"${PKG_CONFIG_FILE_NAME_FINISHED}\"" "-P" "${GEN_PKG_CONFIG_WORKAROUNDS_BUILD_TIME_SCRIPTS}/getObjectFilesBaseNames.cmake"
				MAIN_DEPENDENCY "${TARGET_OBJECTS_FILE}"
				DEPENDS "${PKG_CONFIG_FILE_NAME_UNFINISHED}"
				COMMENT "Working around CMake limitations about getting list of basenames of object files and about lack of generator expressions to modify strings: ${PKG_CONFIG_FILE_NAME_UNFINISHED} + ${TARGET_OBJECTS_FILE} -> ${PKG_CONFIG_FILE_NAME_FINISHED}"
			)

lifting-bits/mcsema cmake/BCCompiler.cmake :167

add_custom_command(OUTPUT "${absolute_output_file_path}"
      COMMAND "${CMAKE_BC_COMPILER}" ${include_directory_list} ${additional_windows_settings} "-DADDRESS_SIZE_BITS=${address_size}" ${definition_list} ${DEFAULT_BC_COMPILER_FLAGS} ${bc_flag_list} ${source_file_option_list} -c "${absolute_source_file_path}" -o "${absolute_output_file_path}"
      MAIN_DEPENDENCY "${absolute_source_file_path}"
      ${dependency_list_directive}
      COMMENT "Building BC object ${absolute_output_file_path}"
    )

InsightSoftwareConsortium/ITK CMake/ExternalData.cmake :451

add_custom_command(
          # Users care about the data file, so hide the hash/timestamp file.
          COMMENT "Generating ${file}"
          # The hash/timestamp file is the output from the build perspective.
          # List the real file as a second output in case it is a broken link.
          # The files must be listed in this order so CMake can hide from the
          # make tool that a symlink target may not be newer than the input.
          OUTPUT "${file}${stamp}" "${file}"
          # Run the data fetch/update script.
          COMMAND ${CMAKE_COMMAND} -Drelative_top=${CMAKE_BINARY_DIR}
                                   -Dfile=${file} -Dname=${name} -Dexts=${exts}
                                   -DExternalData_ACTION=fetch
                                   -DExternalData_CONFIG=${config}
                                   -P ${_ExternalData_SELF}
          # Update whenever the object hash changes.
          MAIN_DEPENDENCY "${name}${first_ext}"
          )

shawwn/noh cmake/FileCopyTargets.cmake :66

add_custom_command(OUTPUT "${absout}"
			COMMAND
			${CMAKE_COMMAND}
			ARGS -E make_directory "${_dest}"
			COMMAND
			${CMAKE_COMMAND}
			ARGS -E copy "${fullpath}" "${_dest}"
			MAIN_DEPENDENCY "${fullpath}"
			VERBATIM
			COMMENT "Copying ${fn} to ${absout}")

tx00100xt/SeriousSamClassic-VK SamTFE/Sources/CMakeLists.txt :685

add_custom_command(
        OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}.h" "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}_tables.h"
        MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}.es"
        DEPENDS ${ECC}
        WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
        COMMAND ${ECC}
        ARGS "${_NAME}.es"
    )

ClickHouse/ClickHouse contrib/openldap-cmake/CMakeLists.txt :39

add_custom_command(
        OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}-version.c"
        COMMAND ${CMAKE_COMMAND} -E env bash -c "${OPENLDAP_SOURCE_DIR}/build/mkversion -v '${OPENLDAP_VERSION_STRING}' liblber.la > \"${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}-version.c\""
        MAIN_DEPENDENCY "${OPENLDAP_SOURCE_DIR}/build/mkversion"
        WORKING_DIRECTORY ${OPENLDAP_SOURCE_DIR}
        VERBATIM
    )

Jackarain/proxy third_party/boost/libs/json/pretty_printers/FindBoostPrettyPrinters.cmake :48

add_custom_command(
        OUTPUT "${BOOST_PPRINT_GDB_GEN_OUTPUT}"
        MAIN_DEPENDENCY "${BOOST_PPRINT_GDB_GEN_INPUT}"
        DEPENDS "${BoostPrettyPrinters_GDB_HEADER_SCRIPT}"
        COMMAND
            "${Python3_EXECUTABLE}"
            "${BoostPrettyPrinters_GDB_HEADER_SCRIPT}"
            "${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_PPRINT_GDB_GEN_INPUT}"
            "${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_PPRINT_GDB_GEN_OUTPUT}"
            ${BOOST_PPRINT_GDB_GEN_HEADER_GUARD}
            ${BOOST_PPRINT_GDB_GEN_DISABLE_MACRO}
        COMMENT "Regenerating ${BOOST_PPRINT_GDB_GEN_OUTPUT}")

chsl/PLADE code/3rd_party/opencv/cmake/OpenCVDetectAndroidSDK.cmake :261

add_custom_command(
        OUTPUT ${android_proj_target_files}
        COMMAND ${CMAKE_COMMAND} -E remove ${android_proj_target_files}
        COMMAND ${ANDROID_EXECUTABLE} --silent update project --path "${android_proj_bin_dir}" --target "${android_proj_sdk_target}" --name "${target}"
        ${android_proj_lib_deps_commands}
        MAIN_DEPENDENCY "${android_proj_bin_dir}/${ANDROID_MANIFEST_FILE}"
        DEPENDS "${path}/${ANDROID_MANIFEST_FILE}"
        COMMENT "Updating Android project at ${path}. SDK target: ${android_proj_sdk_target}"
        )

kpeeters/cadabra2 cmake/modules/FindMathematica.cmake :4060

add_custom_command(
		OUTPUT ${_outfile}
		COMMAND ${_command}
		MAIN_DEPENDENCY ${_templateFileAbs}
		DEPENDS ${_dependencies}
		WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
		COMMENT ${_msg}
		VERBATIM)

Slicer/SlicerGitSVNArchive CMake/SlicerFunctionAddPythonQtResources.cmake :46

add_custom_command(
      OUTPUT ${out_path}
      COMMAND ${CMAKE_COMMAND} -E make_directory ${out_dir}
      COMMAND ${PYTHON_EXECUTABLE}
        ${Slicer_SOURCE_DIR}/Utilities/Scripts/qrcc.py
        --rcc ${QT_RCC_EXECUTABLE}
        -o ${out_path}
        ${in_path}
      VERBATIM
      WORKING_DIRECTORY ${rc_path}
      MAIN_DEPENDENCY ${in_path}
      DEPENDS ${Slicer_SOURCE_DIR}/Utilities/Scripts/qrcc.py ${rc_depends}
      )

openclonk/openclonk CMakeLists.txt :381

add_custom_command(
		OUTPUT mape-resource.c
		COMMAND
			${GLIB_COMPILE_RESOURCES} "--internal" "--generate"
			"--target" "mape-resource.c"
			"--sourcedir" ${CMAKE_CURRENT_SOURCE_DIR}/src/res
			"${CMAKE_CURRENT_SOURCE_DIR}/src/res/mape.xml"
		MAIN_DEPENDENCY src/res/mape.xml
		DEPENDS
			${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocd.ico
			${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocf.ico
			${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocg.ico
			${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocm.ico
			${CMAKE_CURRENT_SOURCE_DIR}/src/res/ocs.ico
		VERBATIM
	)

luxonis/depthai-core docs/CMakeLists.txt :32

add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
                   DEPENDS "${header_files}"
                   COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
                   MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
                   COMMENT "Generating docs"
                   VERBATIM
                   COMMAND_EXPAND_LISTS)

irods/irods cmake/Modules/ObjectTargetHelpers.cmake :390

add_custom_command(
      OUTPUT "${IRODS_${language}_DUMMY_SOURCE_FILE}"
      COMMAND "${CMAKE_COMMAND}" -E touch "${IRODS_${language}_DUMMY_SOURCE_FILE}"
      MAIN_DEPENDENCY "${IRODS_DUMMY_SOURCE_FILES_DIR}"
    )

axmolengine/axmol cmake/Modules/AXSLCC.cmake :235

add_custom_command(
        MAIN_DEPENDENCY ${SC_FILE} OUTPUT ${SC_OUTPUT} COMMAND ${AXSLCC_EXE} ${SC_FLAGS}
        COMMENT "${SC_COMMENT}"
      )

Bitcoin-ABC/bitcoin-abc src/test/CMakeLists.txt :15

add_custom_command(OUTPUT ${h}
			COMMAND
				"${Python_EXECUTABLE}"
				"${CMAKE_CURRENT_SOURCE_DIR}/data/generate_header.py"
				"${TEST_NAME}"
				"${CMAKE_CURRENT_SOURCE_DIR}/${f}" > ${h}
			MAIN_DEPENDENCY ${f}
			DEPENDS
				"data/generate_header.py"
			VERBATIM
		)

ovsky/sumi-emu src/video_core/host_shaders/CMakeLists.txt :138

add_custom_command(
            OUTPUT
                ${SPIRV_HEADER_FILE}
            COMMAND
                ${GLSLANGVALIDATOR} -V ${QUIET_FLAG} -I"${FIDELITYFX_INCLUDE_DIR}" ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} --target-env ${SPIR_V_VERSION}
            MAIN_DEPENDENCY
                ${SOURCE_FILE}
        )

nutjunkie/IQmol src/OpenMesh/cmake/ACGCommon.cmake :523

add_custom_command (OUTPUT ${_outfile}
            COMMAND ${Qt5Widgets_UIC_EXECUTABLE}
            ARGS -o ${_outfile} ${_abs_FILE}
            MAIN_DEPENDENCY ${_abs_FILE} VERBATIM)

JoshuaSenouf/gl-engine api/assimp/tools/assimp_view/CMakeLists.txt :55

ADD_CUSTOM_COMMAND(TARGET assimp_viewer
  PRE_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:assimp> $<TARGET_FILE_DIR:assimp_viewer>
  MAIN_DEPENDENCY assimp)

DiligentGraphics/DiligentSamples Tutorials/Tutorial25_StatePackager/CMakeLists.txt :49

add_custom_command(OUTPUT ${PSO_ARCHIVE} # We must use full path here!
                   COMMAND $<TARGET_FILE:Diligent-RenderStatePackager> -i RenderStates.json -r assets -s assets -o "${PSO_ARCHIVE}" ${DEVICE_FLAGS} --print_contents
                   WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
                   MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/assets/RenderStates.json"
                   DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/assets/screen_tri.vsh"
                           "${CMAKE_CURRENT_SOURCE_DIR}/assets/g_buffer.psh"
                           "${CMAKE_CURRENT_SOURCE_DIR}/assets/resolve.psh"
                           "${CMAKE_CURRENT_SOURCE_DIR}/assets/path_trace.psh"
                           "${CMAKE_CURRENT_SOURCE_DIR}/assets/structures.fxh"
                           "${CMAKE_CURRENT_SOURCE_DIR}/assets/scene.fxh"
                           "${CMAKE_CURRENT_SOURCE_DIR}/assets/hash.fxh"
                           "$<TARGET_FILE:Diligent-RenderStatePackager>"
                   COMMENT "Creating render state archive..."
                   VERBATIM
)

microsoft/WSL cmake/FindIDL.cmake :50

add_custom_command(
            OUTPUT ${IDL_HEADER} ${CMAKE_CURRENT_BINARY_DIR}/CmakeFiles/${target}
            COMMAND midl /nologo /target NT100 /env "${IDL_ENV}" /Zp8 /char unsigned /ms_ext /c_ext /h ${IDL_HEADER} ${idl_file} ${IDL_DEFINITIONS}
            COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/CmakeFiles/${target}"
            WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
            DEPENDS ${idl_file}
            MAIN_DEPENDENCY ${idl_file}
            VERBATIM
        )

trilinos/Trilinos packages/PyTrilinos/cmake/UseSWIG.cmake :262

ADD_CUSTOM_COMMAND(
    OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files}
    COMMAND "${SWIG_EXECUTABLE}"
    ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
    ${swig_source_file_flags}
    ${CMAKE_SWIG_FLAGS}
    -outdir ${outdir}
    ${swig_special_flags}
    ${swig_extra_flags}
    ${swig_include_dirs}
    -o "${swig_generated_file_fullname}"
    "${swig_source_file_fullname}"
    MAIN_DEPENDENCY "${swig_source_file_fullname}"
    DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS}
    COMMENT "Swig source ${swig_source_file_fullname}")

joachimBurket/esp32-opencv modules/java/CMakeLists.txt :45

add_custom_command(
        OUTPUT "${_dst}/${f}"
        COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_src}/${f}" "${_dst}/${f}"
        MAIN_DEPENDENCY "${_src}/${f}"
        COMMENT "Copying ${f}")

etherzhhb/Shang testsuite/CMakeLists.txt :218

add_custom_command(OUTPUT ${MAIN_OBJ_PRJ_ROOT}/V${DUT_NAME}_RTL.mk
    COMMAND rm -rf "${TEST_BINARY_ROOT}/obj_dir/*"
    COMMAND ${VERILATOR_EXECUTABLE} ${MAIN_RTL_SRC} -Wall --sc -D__DEBUG_IF +define+__VERILATOR_SIM --top-module ${MAIN_RTL_ENTITY} || ${CatchFail}
    MAIN_DEPENDENCY ${MAIN_RTL_SRC}
    WORKING_DIRECTORY ${TEST_BINARY_ROOT}
    COMMENT "Compiling RTL module of ${TEST_SRC} into cpp file" 
  )

glKarin/com.n0n3m4.diii4a Q3E/src/main/jni/doom3/neo/externlibs/openal-soft/CMakeLists.txt :1222

add_custom_command(OUTPUT "${OpenAL_BINARY_DIR}/version_witness.txt"
        BYPRODUCTS "${OpenAL_BINARY_DIR}/version.h"
        COMMAND ${CMAKE_COMMAND} -D GIT_EXECUTABLE=${GIT_EXECUTABLE} -D LIB_VERSION=${LIB_VERSION}
            -D LIB_VERSION_NUM=${LIB_VERSION_NUM} -D SRC=${OpenAL_SOURCE_DIR}/version.h.in
            -D DST=${OpenAL_BINARY_DIR}/version.h -P ${OpenAL_SOURCE_DIR}/version.cmake
        COMMAND ${CMAKE_COMMAND} -E touch "${OpenAL_BINARY_DIR}/version_witness.txt"
        WORKING_DIRECTORY "${OpenAL_SOURCE_DIR}"
        MAIN_DEPENDENCY "${OpenAL_SOURCE_DIR}/version.h.in"
        DEPENDS "${GIT_DIR}/index" "${OpenAL_SOURCE_DIR}/version.cmake"
        VERBATIM
    )

lagadic/visp modules/python/doc/CMakeLists.txt :83

add_custom_command(
      OUTPUT "${output_dir}/${f}"
      COMMAND ${CMAKE_COMMAND} -E copy_if_different "${input_dir}/${f}" "${output_dir}/${f}"
      MAIN_DEPENDENCY "${input_dir}/${f}"
    )

FlightGear/flightgear src/EmbeddedResources/CMakeLists.txt :23

add_custom_command(
    COMMAND
      fgrcc --root=${PROJECT_SOURCE_DIR}
            --output-cpp-file=${CMAKE_CURRENT_BINARY_DIR}/FlightGear-resources.cxx
            --init-func-name=initFlightGearEmbeddedResources
            --output-header-file=${CMAKE_CURRENT_BINARY_DIR}/FlightGear-resources.hxx
            --output-header-identifier=_FG_FLIGHTGEAR_EMBEDDED_RESOURCES
            ${CMAKE_CURRENT_SOURCE_DIR}/FlightGear-resources.xml
    OUTPUT
      ${CMAKE_CURRENT_BINARY_DIR}/FlightGear-resources.cxx
      ${CMAKE_CURRENT_BINARY_DIR}/FlightGear-resources.hxx
    MAIN_DEPENDENCY
      fgrcc ${CMAKE_CURRENT_SOURCE_DIR}/FlightGear-resources.xml
    COMMENT
      "Re-generating embedded resources"
)

ADVRHumanoids/OpenSoT external/soth-ext/cmake/idl.cmake :174

ADD_CUSTOM_COMMAND(
    OUTPUT ${output_files}
    COMMAND ${OMNIIDL}
    ARGS ${_omniidl_args}
    ${DIRECTORY}/${_NAME}.idl
    MAIN_DEPENDENCY ${DIRECTORY}/${_NAME}.idl
    COMMENT "Generating Python stubs for ${_NAME}"
    )

PixarAnimationStudios/OpenUSD cmake/macros/Private.cmake :358

add_custom_command(
            OUTPUT ${outFilePath}
            COMMAND "${PYSIDEUICBINARY}"
            ARGS ${PYSIDEUIC_EXTRA_ARGS} -o ${outFilePath} ${uiFilePath}
            MAIN_DEPENDENCY "${uiFilePath}"
            COMMENT "Generating Python for ${uiFilePath} ..."
            VERBATIM
        )

qt/qtwebkit Source/cmake/WebKitMacros.cmake :120

add_custom_command(
                OUTPUT ${_destination}/${_prefix}${_name}.${_extension} ${_destination}/${_prefix}${_name}.h
                MAIN_DEPENDENCY ${_file}
                DEPENDS ${COMMON_GENERATOR_DEPENDENCIES}
                COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${BINDING_GENERATOR} --defines "${_features}" --generator ${_generator} ${_idl_includes} --outputDir "${_destination}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --idlAttributesFile ${_idl_attributes_file} ${_supplemental_dependency} ${_file}
                WORKING_DIRECTORY ${_base_dir}
                VERBATIM)

m-a-d-n-e-s-s/madness src/madness/tensor/CMakeLists.txt :6

add_custom_command(
      OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/tensoriter_spec.h
             ${CMAKE_CURRENT_SOURCE_DIR}/tensor_spec.h
      COMMAND ${Python_EXECUTABLE} tempspec.py
      MAIN_DEPENDENCY tempspec.py
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      COMMENT "Generating tensoriter_spec.h and tensor_spec.h")

Z3Prover/z3 cmake/z3_add_component.cmake :118

add_custom_command(OUTPUT "${_output_file}"
      COMMAND "${Python3_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/scripts/pyg2hpp.py" "${_full_pyg_file_path}" "${CMAKE_CURRENT_BINARY_DIR}"
      MAIN_DEPENDENCY "${_full_pyg_file_path}"
      DEPENDS "${PROJECT_SOURCE_DIR}/scripts/pyg2hpp.py"
              ${Z3_GENERATED_FILE_EXTRA_DEPENDENCIES}
      COMMENT "Generating \"${_full_output_file_path}\" from \"${pyg_file}\""
      WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
      USES_TERMINAL
      VERBATIM
    )

LadybirdBrowser/ladybird Meta/CMake/code_generators.cmake :12

add_custom_command(
        OUTPUT "${output}"
        COMMAND "${Python3_EXECUTABLE}" "${SerenityOS_SOURCE_DIR}/Meta/embed_as_string.py" "${source_file}" -o "${output}.tmp" -n "${source_variable_name}" ${namespace_arg}
        COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${output}.tmp" "${output}"
        COMMAND "${CMAKE_COMMAND}" -E remove "${output}.tmp"
        VERBATIM
        DEPENDS "${SerenityOS_SOURCE_DIR}/Meta/embed_as_string.py"
        MAIN_DEPENDENCY "${source_file}"
    )

labapart/gattlib docs/CMakeLists.txt :21

add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
                   DEPENDS ${DOXYGEN_INPUT_DEPENDENCIES}
                   COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
                   MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
                   COMMENT "Generating documentation with Doxygen")

sandialabs/seacas packages/seacas/libraries/aprepro_lib/CMakeLists.txt :62

add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/apr_scanner.cc
                     COMMAND ${FLEX_EXE}
                     ARGS -o apr_scanner.cc --noline
		        ${CMAKE_CURRENT_SOURCE_DIR}/aprepro.ll
                     MAIN_DEPENDENCY aprepro.ll
                     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
                     )

rose-compiler/rose cmake/modules/KDE4Macros.cmake :107

add_custom_command(OUTPUT ${_header}
         COMMAND ${CMAKE_COMMAND}
         ARGS
         -DKDE4_HEADER:BOOL=ON
         -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE}
         -DKDE_UIC_FILE:FILEPATH=${_tmp_FILE}
         -DKDE_UIC_H_FILE:FILEPATH=${_header}
         -DKDE_UIC_BASENAME:STRING=${_basename}
         -P ${KDE4_MODULE_DIR}/kde4uic.cmake
         MAIN_DEPENDENCY ${_tmp_FILE}
      )

stevengj/nlopt CMakeLists.txt :159

add_custom_command (OUTPUT nlopt.hpp
  COMMAND ${CMAKE_COMMAND} -DAPI_SOURCE_DIR=${PROJECT_SOURCE_DIR}/src/api -P ${PROJECT_SOURCE_DIR}/cmake/generate-cpp.cmake
  MAIN_DEPENDENCY src/api/nlopt-in.hpp)

darktable-org/darktable data/CMakeLists.txt :94

add_custom_command(
      OUTPUT ${DARKTABLE_SHAREDIR}/metainfo/org.darktable.darktable.appdata.xml
      SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/org.darktable.darktable.appdata.xml.in
      COMMAND ${CMAKE_COMMAND} -E make_directory ${DARKTABLE_SHAREDIR}/metainfo
      COMMAND sh -c "${intltool_merge_BIN} --xml-style ${CMAKE_CURRENT_SOURCE_DIR}/../po ${CMAKE_CURRENT_SOURCE_DIR}/org.darktable.darktable.appdata.xml.in ${DARKTABLE_SHAREDIR}/metainfo/org.darktable.darktable.appdata.xml"
      COMMAND ${appstream_util_BIN} validate --nonet ${DARKTABLE_SHAREDIR}/metainfo/org.darktable.darktable.appdata.xml
      MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/org.darktable.darktable.appdata.xml.in
      DEPENDS ${PO_FILES}
    )

fluent/fluent-bit lib/luajit-cmake/Bundle.cmake :75

add_custom_command(
          OUTPUT ${generated_file}
          MAIN_DEPENDENCY ${source_file}
          DEPENDS ${LUA_TARGET}
          COMMAND ${BUNDLE_CMD} ARGS
            ${BUNDLE_CMD_ARGS} lua2c.lua ${BUNDLE_ENABLE_DEBUG} ${source_file} ${generated_file}
          COMMENT "${BUNDLE_CMD} ${BUNDLE_CMD_ARGS} lua2c.lua ${BUNDLE_ENABLE_DEBUG} ${source_file} ${generated_file}"
          WORKING_DIRECTORY ${LUA_TARGET_PATH})

ptitSeb/box64 CMakeLists.txt :800

add_custom_command(
        OUTPUT "${BOX64_ROOT}/src/wrapped/generated/functions_list.txt"
        COMMAND "${PYTHON_EXECUTABLE}" "${BOX64_ROOT}/rebuild_wrappers.py"
        "${BOX64_ROOT}"
        "PANDORA" "HAVE_LD80BITS" "NOALIGN" "HAVE_TRACE" "ANDROID" "TERMUX" "STATICBUILD" "LA64" "--"
        ${WRAPPEDS_HEAD}
        MAIN_DEPENDENCY "${BOX64_ROOT}/rebuild_wrappers.py"
        DEPENDS ${WRAPPEDS} ${WRAPPEDS_HEAD}
        BYPRODUCTS ${WRAPPER}
    )

Sneeds-Feed-and-Seed/sneedacity lib-src/portmidi/pm_java/CMakeLists.txt :20

add_custom_command(OUTPUT pmdefaults/PmDefaults.class
        COMMAND javac -classpath . pmdefaults/PmDefaults.java
	MAIN_DEPENDENCY pmdefaults/PmDefaults.java
	DEPENDS pmdefaults/PmDefaultsFrame.java
	WORKING_DIRECTORY pm_java)

jlblancoc/suitesparse-metis-for-windows SuiteSparse/LAGraph/rtdocs/CMakeLists.txt :38

add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
    DEPENDS ${LAGRAPH_PUBLIC_HEADERS}
            COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
        MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
            COMMENT "Generating docs"
        VERBATIM)

karimnaaji/melt tests/CMakeLists.txt :21

add_custom_command(
    OUTPUT "${MODEL_OUTPUT}"
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    MAIN_DEPENDENCY "${model}"
    COMMAND ${CMAKE_COMMAND} -Din="${model}" -Dout="${MODEL_OUTPUT}" -Dname="${model_name}" -P ${PROJECT_SOURCE_DIR}/models.cmake)

Ferdi265/wl-mirror glsl/CMakeLists.txt :14

add_custom_command(
        OUTPUT "${shader-source}"
        MAIN_DEPENDENCY "${shader}"
        DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/embed.cmake" "${shader-template}"
        COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_SOURCE_DIR}/embed.cmake" "${shader}" "${shader-template}" "${shader-source}"
    )

MiKTeX/miktex BuildUtilities/cweb/ctangle.cmake :54

add_custom_command(
    OUTPUT
        ${CMAKE_CURRENT_BINARY_DIR}/common.c
    COMMAND
        initctangle
        ${CMAKE_CURRENT_SOURCE_DIR}/source/common.w
        ${CMAKE_CURRENT_SOURCE_DIR}/source/comm-w2c.ch
        ${CMAKE_CURRENT_BINARY_DIR}/common.c
    WORKING_DIRECTORY
        ${CMAKE_CURRENT_BINARY_DIR}
    MAIN_DEPENDENCY
        ${CMAKE_CURRENT_SOURCE_DIR}/source/common.w
    DEPENDS
        ${CMAKE_CURRENT_SOURCE_DIR}/source/comm-w2c.ch
        initctangle
    VERBATIM
)

doe300/VC4C test/test_files.cmake :14

add_custom_command(OUTPUT ${output_file}
		COMMAND ld -r -b binary -o ${output_file} ${input_file}
		COMMAND objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents ${output_file} ${output_file}
		MAIN_DEPENDENCY ${base_folder}/${input_file}
		WORKING_DIRECTORY ${base_folder}
		VERBATIM)

delta3d/delta3d CMakeModules/PCHMacros.cmake :76

add_custom_command(OUTPUT ${PrecompiledBinary}
                     MAIN_DEPENDENCY $${PCH_HEADER_PATH}/${PrecompiledSource}
                     Depends  ${PCH_HEADER_PATH}/${PrecompiledHeader}
                     COMMAND ${CMAKE_CXX_COMPILER} ${FLAGS} -Winvalid-pch -x c++-header ${PCH_HEADER_PATH}/${PrecompiledSource} -o ${PrecompiledBinary}
                     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
                     )

plumonito/dtslam 3rdparty/opencv-git/cmake/OpenCVDetectAndroidSDK.cmake :241

add_custom_command(
        OUTPUT "${android_proj_bin_dir}/${f}"
        COMMAND ${CMAKE_COMMAND} -E copy "${path}/${f}" "${android_proj_bin_dir}/${f}"
        MAIN_DEPENDENCY "${path}/${f}"
        COMMENT "Copying ${f}")

mgba-emu/mgba CMakeLists.txt :1123

add_custom_command(OUTPUT CHANGES.txt COMMAND ${UNIX2DOS} -n "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES" "${CMAKE_CURRENT_BINARY_DIR}/CHANGES.txt" MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES")

ksherlock/mpw bin/CMakeLists.txt :20

add_custom_command(
		OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/parser.cpp ${CMAKE_CURRENT_SOURCE_DIR}/parser.h
		# COMMAND cp -f "${CMAKE_CURRENT_SOURCE_DIR}/parser.lemon" "parser.lemon"
		COMMAND ${LEMON} parser.lemon
		COMMAND mv -f parser.c parser.cpp
		MAIN_DEPENDENCY parser.lemon
		DEPENDS debugger.h
		WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
	)

OverShifted/OverEngine OverEngine/CMakeLists.txt :43

add_custom_command(
		OUTPUT "${WREN_FILE_ABS}.inc"
		MAIN_DEPENDENCY "${WREN_FILE_ABS}"
		WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src/Wren"
		COMMAND python "${PROJECT_SOURCE_DIR}/utils/wren_to_c_string.py" "${WREN_FILE}.inc" ${WREN_FILE}
	)

libcsp/libcsp doc/CMakeLists.txt :18

add_custom_command(OUTPUT ${SPHINX_INDEX_FILE}
    COMMAND
        ${SPHINX_EXECUTABLE} -E -b html ${SPHINX_SOURCE} ${SPHINX_BUILD} ${DOCS_FILES}
    MAIN_DEPENDENCY conf.py
    COMMENT "Building DOCS for lib CSP")

Dillonb/n64 src/cpu/CMakeLists.txt :69

add_custom_command(OUTPUT v1_emitter.c
                COMMAND $<TARGET_FILE:minilua> ARGS dynasm/dynasm.lua -D X64 ${DYNASM_EXTRA_FLAGS} -o v1_emitter.c ${CMAKE_CURRENT_SOURCE_DIR}/dynarec/v1/v1_emitter.dasc
                MAIN_DEPENDENCY dynarec/v1/v1_emitter.dasc
                DEPENDS minilua)

tanis2000/binocle-c src/deps/luajit-cmake/Bundle.cmake :52

add_custom_command(
        OUTPUT ${generated_file}
        MAIN_DEPENDENCY ${source_file}
        DEPENDS ${LUA_TARGET}
        COMMAND ${BUNDLE_CMD} ARGS
          ${BUNDLE_CMD_ARGS} lua2c.lua ${source_file} ${generated_file}
        COMMENT "${BUNDLE_CMD} ${BUNDLE_CMD_ARGS} lua2c.lua ${source_file} ${generated_file}"
        WORKING_DIRECTORY ${LUA_TARGET_PATH})

devernay/cminpack examples/CMakeLists.txt :50

add_custom_command (
      OUTPUT ${FPGM_SRCS}
      COMMAND $<TARGET_FILE:genf77tests> ${CMINPACK_SOURCE_DIR}/docs/minpack-documentation.txt
      WORKING_DIRECTORY ${CMINPACK_SOURCE_DIR}/examples
      DEPENDS genf77tests
      MAIN_DEPENDENCY ${CMINPACK_SOURCE_DIR}/docs/minpack-documentation.txt
      )

AcademySoftwareFoundation/openexr website/CMakeLists.txt :31

add_custom_command(OUTPUT ${SPHINX_INDEX_FILE}
                   COMMAND 
                     ${SPHINX_EXECUTABLE} -b html ${SPHINX_OPTS}
                     # Tell Breathe where to find the Doxygen output
                     -Dbreathe_projects.OpenEXR=${DOXYGEN_OUTPUT_DIR}/xml
                   ${SPHINX_SOURCE} ${SPHINX_BUILD}
                   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
                   DEPENDS ${DOXYGEN_INDEX_FILE} 
                   MAIN_DEPENDENCY ${SPHINX_CONF_PY_FILE}
                   COMMENT "Generating documentation with Sphinx")