cmake add_custom_target examples

Signatures

add_custom_target(Name [ALL] [command1 [args1...]]
  [COMMAND command2 [args2...] ...]
  [DEPENDS depend depend depend ... ]
  [BYPRODUCTS [files...]]
  [WORKING_DIRECTORY dir]
  [COMMENT comment]
  [JOB_POOL job_pool]
  [JOB_SERVER_AWARE <bool>]
  [VERBATIM] [USES_TERMINAL]
  [COMMAND_EXPAND_LISTS]
[SOURCES src1 [src2...]])

Examples

nCine/nCine benchmarks/CMakeLists.txt :14

add_custom_target(copy_ncine_dll_benchmarks ALL
			COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:ncine> ${CMAKE_BINARY_DIR}/benchmarks
			DEPENDS ncine
			COMMENT "Copying nCine DLL..."
		)

timi-liuliang/echo thirdparty/eigen-3.3.3/doc/CMakeLists.txt :75

add_custom_target(
  doc-eigen-prerequisites
  ALL
  COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/html/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/eigen_navtree_hacks.js           ${CMAKE_CURRENT_BINARY_DIR}/html/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png  ${CMAKE_CURRENT_BINARY_DIR}/html/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ftv2pnode.png                    ${CMAKE_CURRENT_BINARY_DIR}/html/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/ftv2node.png                     ${CMAKE_CURRENT_BINARY_DIR}/html/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/AsciiQuickReference.txt          ${CMAKE_CURRENT_BINARY_DIR}/html/
  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)

geodynamics/aspect CMakeLists.txt :979

add_custom_target(run_unit_tests
    COMMAND ${CMAKE_BINARY_DIR}/aspect --test
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unit_tests
    DEPENDS ${TARGET_EXE}
    COMMENT "Running unit_tests ...")

u3d-community/U3D Source/Clang-Tools/CMakeLists.txt :129

add_custom_target (annotate
        COMMAND ${CMAKE_CURRENT_BINARY_DIR}/bin/tool/clang/Annotator -p ${CMAKE_CURRENT_BINARY_DIR} ${SOURCES}
        DEPENDS Annotator
        WORKING_DIRECTORY ${URHO3D_SOURCE_DIR}/Urho3D
        COMMENT "Annotating Urho3D library source files")

IFL-CAMP/supra cmake/FindCUDA_old.cmake :1982

add_custom_target(${cuda_clean_target_name}
    COMMAND ${CMAKE_COMMAND} -E remove ${CUDA_ADDITIONAL_CLEAN_FILES})

mgerhardy/caveexpress cmake/macros.cmake :770

add_custom_target(${_EXE_TARGET}-run
		COMMAND $<TARGET_FILE:${_EXE_TARGET}>
		USES_TERMINAL
		DEPENDS ${_EXE_TARGET}
		WORKING_DIRECTORY "${ROOT_DIR}"
	)

alicevision/AliceVision src/cmake/CodeCoverage.cmake :700

add_custom_target(${Coverage_NAME}

        # Cleanup fastcov
        COMMAND ${FASTCOV_PATH} ${Coverage_FASTCOV_ARGS} --gcov ${GCOV_PATH}
            --search-directory ${BASEDIR}
            --zerocounters

        COMMAND ${FASTCOV_EXEC_TESTS_CMD}
        COMMAND ${FASTCOV_CAPTURE_CMD}
        COMMAND ${FASTCOV_CONVERT_CMD}
        COMMAND ${FASTCOV_HTML_CMD}
        COMMAND ${FASTCOV_POST_CMD}

        # Set output files as GENERATED (will be removed on 'make clean')
        BYPRODUCTS
             ${Coverage_NAME}.info
             ${Coverage_NAME}.json
             ${Coverage_NAME}/index.html  # report directory

        WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
        DEPENDS ${Coverage_DEPENDENCIES}
        VERBATIM # Protect arguments to commands
        COMMENT "Resetting code coverage counters to zero. Processing code coverage counters and generating report."
    )

prusa3d/PrusaSlicer deps/CMakeLists.txt :265

add_custom_target(${pkgtgt}_debug
      COMMAND ${CMAKE_COMMAND} --build . --target ${pkgtgt}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/_d
      USES_TERMINAL
    )

FreeCAD/FreeCAD cMake/FreeCAD_Helpers/CreatePackagingTargets.cmake :22

add_custom_target(distcheck-git
            COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/makedist.py
                  --bindir=${CMAKE_BINARY_DIR}
                  --major=${PACKAGE_VERSION_MAJOR}
                  --minor=${PACKAGE_VERSION_MINOR}
                  --check
                  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
        )

godlikepanos/anki-3d-engine ThirdParty/Sdl3/examples/CMakeLists.txt :376

add_custom_target(uninstall-sdl-example-apks
                COMMAND "${CMAKE_COMMAND}" "-DADB=$<TARGET_FILE:SdlAndroid::adb>" -DACTION=uninstall "-DPACKAGES=${packages}" -P "${SDL3_SOURCE_DIR}/cmake/android/SdlAndroidScript.cmake"
                VERBATIM
            )

prusa3d/Prusa-Firmware lib/Catch2/CMake/FindLcov.cmake :286

add_custom_target(${TNAME}-genhtml
		COMMAND ${GENHTML_BIN} --quiet --sort --prefix ${PROJECT_SOURCE_DIR}
			--baseline-file ${LCOV_DATA_PATH_INIT}/${TNAME}.info
			--output-directory ${LCOV_HTML_PATH}/${TNAME}
			--title "${CMAKE_PROJECT_NAME} - target ${TNAME}"
			${GENHTML_CPPFILT_FLAG} ${OUTFILE}
		DEPENDS ${TNAME}-geninfo ${TNAME}-capture-init
	)

tinyobjloader/tinyobjloader CMakeLists.txt :218

add_custom_target(
    uninstall COMMAND ${CMAKE_COMMAND} -P
                      ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

anhttran/3dmm_basic lib/3rdParty/Eigen_old/doc/CMakeLists.txt :56

add_custom_target(
  doc-unsupported-prerequisites
  ALL
  COMMAND ${CMAKE_COMMAND} -E make_directory ${Eigen_BINARY_DIR}/doc/html/unsupported
  COMMAND ${CMAKE_COMMAND} -E copy ${Eigen_SOURCE_DIR}/doc/eigendoxy_tabs.css
                                   ${Eigen_BINARY_DIR}/doc/html/unsupported/
  COMMAND ${CMAKE_COMMAND} -E copy ${Eigen_SOURCE_DIR}/doc/Eigen_Silly_Professor_64x64.png
                                   ${Eigen_BINARY_DIR}/doc/html/unsupported/
  WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc
)

cadaver/turso3d ThirdParty/SDL/CMakeLists.txt :3621

add_custom_target(uninstall
        COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")

STORM-IRIT/Radium-Engine cmake/CleanCppExtensions.cmake :30

add_custom_target(
        ${LIBNAME}_update
        COMMENT "Updated ${LIBNAME}"
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${LIBNAME}/src/${LIBNAME}_download
        COMMAND ${GIT_EXECUTABLE} fetch --recurse-submodules
        COMMAND ${GIT_EXECUTABLE} reset --hard ${GIT_TAG}
        COMMAND ${GIT_EXECUTABLE} submodule update --init --force --recursive --remote --merge
        DEPENDS ${LIBNAME}_download
    )

fzi-forschungszentrum-informatik/gpu-voxels icmaker/CMakeModules/FindAVRGCC.cmake :228

add_custom_target(${icmaker_target}-fuse
                                  COMMAND ${AVRGCC_AVRDUDE} ${_avrdude_params} ${${icmaker_target}_AVR_FUSE}
                                  DEPENDS ${icmaker_target}.hex
                                  COMMENT "Programming ${icmaker_target}"
                                  VERBATIM)

RavEngine/RavEngine deps/assimp/cmake-modules/Coveralls.cmake :94

add_custom_target(coveralls_upload
			# Upload the JSON to coveralls.
			COMMAND ${CURL_EXECUTABLE}
					-S -F json_file=@${COVERALLS_FILE}
					https://coveralls.io/api/v1/jobs

			DEPENDS coveralls_generate

			WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
			COMMENT "Uploading coveralls output...")

bmwcarit/ramses scripts/ci/installation-check/static-lib-check/CMakeLists.txt :41

add_custom_target(run-${name}
        COMMAND $<TARGET_FILE:${name}>
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
        DEPENDS ${name}
        COMMENT "Run executable ${name}")

zenustech/zeno projects/Audio/aquila/cmake/CodeCoverage.cmake :106

ADD_CUSTOM_TARGET(${_targetname}
		
		# Cleanup lcov
		${LCOV_PATH} --directory . --zerocounters
		
		# Run tests
		COMMAND ${_testrunner} ${ARGV3}
		
		# Capturing lcov counters and generating report
		COMMAND ${LCOV_PATH} --directory . --capture --output-file ${_outputname}.info
		COMMAND ${LCOV_PATH} --remove ${_outputname}.info 'tests/*' '/usr/*' --output-file ${_outputname}.info.cleaned
		COMMAND ${GENHTML_PATH} -o ${_outputname} ${_outputname}.info.cleaned
		COMMAND ${CMAKE_COMMAND} -E remove ${_outputname}.info ${_outputname}.info.cleaned
		
		WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
		COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report."
	)

pioneerspacesim/pioneer CMakeLists.txt :372

add_custom_target(enums
		COMMAND "${Python2_EXECUTABLE}" scripts/scan_enums.py -o src/enum_table.cpp --pattern='*.h' -r src
		WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
	)

overte-org/overte server-console/CMakeLists.txt :17

add_custom_target(${TARGET_NAME}-npm-install
  COMMAND npm install
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)

PDAL/PDAL CMakeLists.txt :411

add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)

eclipse-ecal/ecal doc/CMakeLists.txt :58

add_custom_target(documentation_copy_rst_files ALL
  COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/rst ${DOC_SOURCE_DIRECTORY}
  SOURCES ${rst_sources}
)

microsoft/Extensible-Storage-Engine dev/ese/src/os/CMakeLists.txt :30

add_custom_target(gen_tracetagimpl
    COMMAND ${CMAKE_COMMAND} -E
        copy ${GEN_OUTPUT_DIRECTORY}/_tracetagimpl.h ${INC_OUTPUT_DIRECTORY}/_tracetagimpl.h
    DEPENDS ${GEN_OUTPUT_DIRECTORY}/_tracetagimpl.h
)

end2endzone/ShellAnything CMakeLists.txt :272

add_custom_target( shellanything_doc ALL
      COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      COMMENT "Generating API documentation with Doxygen"
      VERBATIM )

KjellKod/g3log iOSBuild.cmake :76

add_custom_target(sim
	  COMMAND ${CMAKE_COMMAND}
	    --build ${SIM_BINARY_DIR}
	    --config ${CMAKE_BUILD_TYPE}
	  COMMENT "Building for i386 (simulator)"
	  VERBATIM
	)

svkaiser/Doom64EX CMakeLists.txt :160

add_custom_target(pk3 ALL
    WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/distrib/doom64ex.pk3"
    COMMAND "${CMAKE_COMMAND}" -E tar "cfv" "${CMAKE_BINARY_DIR}/doom64ex.pk3" --format=zip "--files-from=${CMAKE_SOURCE_DIR}/distrib/doom64ex_pk3.txt")

etternagame/etterna CMake/Helpers/DocumentationTools.cmake :15

add_custom_target(doxygen 
        COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
        WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
        COMMENT "Generating API documentation with Doxygen"
        VERBATIM)

KDE/digikam core/CMakeLists.txt :666

add_custom_target(digikam-gitversion ALL COMMAND ${CMAKE_COMMAND} -P
                      "${CMAKE_CURRENT_BINARY_DIR}/gitscript.cmake")

pcb9382/FaceAlgorithm include/Eigen/doc/CMakeLists.txt :77

add_custom_target(
  doc-unsupported-prerequisites
  ALL
  COMMAND ${CMAKE_COMMAND} -E make_directory ${Eigen_BINARY_DIR}/doc/html/unsupported
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/eigen_navtree_hacks.js           ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png  ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/
  WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc
)

Kitware/kwiver python/CMakeLists.txt :17

add_custom_target(install_egg_info ALL
    COMMENT "Install python egg info in the build directory"
    COMMAND ${PYTHON_EXECUTABLE} ${KWIVER_SOURCE_DIR}/setup.py egg_info --egg-base ${KWIVER_BINARY_DIR}/${python_site_packages}
    )

RSIA-LIESMARS-WHU/LSHBOX include/eigen/doc/CMakeLists.txt :77

add_custom_target(
  doc-unsupported-prerequisites
  ALL
  COMMAND ${CMAKE_COMMAND} -E make_directory ${Eigen_BINARY_DIR}/doc/html/unsupported
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/eigen_navtree_hacks.js           ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/
  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png  ${CMAKE_CURRENT_BINARY_DIR}/html/unsupported/
  WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc
)

nojhan/paradiseo cmake/Target.cmake :46

add_custom_target(doc
            COMMAND make doc-eo
        )

liminchen/OptCuts ext/libigl/external/cgal/src/CGAL_Project/CMakeLists.txt :926

add_custom_target( install_FindCGAL
                      COMMAND ${CMAKE_COMMAND} -E copy ${CGAL_MODULES_DIR}/FindCGAL.cmake ${CMAKE_ROOT}/Modules
                    )

wpilibsuite/allwpilib thirdparty/imgui_suite/glfw/src/CMakeLists.txt :23

add_custom_target(update_mappings
    COMMAND "${CMAKE_COMMAND}" -P "${GLFW_SOURCE_DIR}/CMake/GenerateMappings.cmake" mappings.h.in mappings.h
    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
    COMMENT "Updating gamepad mappings from upstream repository"
    SOURCES mappings.h.in "${GLFW_SOURCE_DIR}/CMake/GenerateMappings.cmake"
    VERBATIM)

GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator CMakeLists.txt :20

add_custom_target( doc_doxygen ALL
            COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
            COMMENT "Generating API documentation with Doxygen"
            VERBATIM )

nv-legate/legate docs/legate/CMakeLists.txt :81

add_custom_target(generate_cpp_api_rst
                  COMMAND ${LEGATE_DIR}/scripts/maint/gen_api_doc.py
                          "${DOXYGEN_OUTPUT_DIR}/xml" --generate=class,struct,group
                          --output-dir="${generated_cpp_api_dir}" --force
                  WORKING_DIRECTORY "${generated_cpp_api_dir}"
                  COMMENT "Generating C++ API rst files")

bareos/bareos cmake/BareosTestCoverage.cmake :60

add_custom_target(
    cov-report
    COMMAND
      "${CMAKE_COMMAND}" -E echo
      "WARNING: gcovr binary not found, cannot create HTML coverage report"
  )

WerWolv/Fenestra cmake/build_helpers.cmake :409

add_custom_target(uninstall
                COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

maidsafe-archive/MaidSafe cmake_modules/add_installers.cmake :89

add_custom_target(${${Type}Name}
                    COMMAND ${CMAKE_COMMAND}
                        -DSUPER_PROJECT_BINARY_DIR="${CMAKE_BINARY_DIR}"
                        -DSUPER_PROJECT_SOURCE_DIR="${CMAKE_SOURCE_DIR}"
                        -DCMAKE_CL_64="${CMAKE_CL_64}"
                        -DVersion="${ApplicationVersionMajor}.${ApplicationVersionMinor}.${ApplicationVersionPatch}"
                        -DTargetName="${${Type}Name}"
                        -DTargetType=${Type}
                        $<$<OR:$<STREQUAL:${Type},Dev>,$<STREQUAL:${Type},DevDebug>>:-DTargetLibs=$<TARGET_FILE:maidsafe>>
                        -DMonolithicIncludes="${MonolithicIncludes}"
                        -DTargetExes="${${Type}Exes}"
                        -DBoostSourceDir="${BoostSourceDir}"
                        -DConfig=$<CONFIGURATION>
                        -DCMAKE_SYSTEM_VERSION="${CMAKE_SYSTEM_VERSION}"
                        -P "${CMAKE_SOURCE_DIR}/cmake_modules/${InstallerScriptName}"
                        -V)

libsigcplusplus/libsigcplusplus CMakeLists.txt :74

add_custom_target(uninstall
	COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

NVIDIA/nvshmem nvshmem4py/cmake/addNumbast.cmake :97

add_custom_target(
        copy_source_${PACKAGE_NAME}

        # Make dirs
        COMMAND mkdir -p ${ASSET_DIR}

        # Copy assets, but stop at the first failure
        COMMAND cp -rvf ${CMAKE_SOURCE_DIR}/nvshmem4py/build_assets/numbast/ ${ASSET_DIR}
	    COMMAND touch ${OUTPUT_DIR}/copy_source.txt
        DEPENDS pip_install_numbast
        COMMENT "Copying assets for Numbast binding generation"
    )

mariadb-corporation/MaxScale CMakeLists.txt :265

add_custom_target(dist
    COMMAND ${CMAKE_CPACK_COMMAND} -G TGZ --config ${CMAKE_BINARY_DIR}/CPackSourceConfig.cmake
    COMMENT "Building source tarball" VERBATIM)

facebook/rocksdb java/CMakeLists.txt :826

add_custom_target(rocksdb_javadocs_jar ALL
  COMMAND ${Java_JAR_EXECUTABLE} cvf ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAVADOC_JAR} -C ${CMAKE_CURRENT_BINARY_DIR}/javadoc/rocksdb .
  BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAVADOC_JAR}
  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
  DEPENDS rocksdb_javadoc
)

JSBSim-Team/jsbsim tests/unit_tests/CMakeModules/FindLcov.cmake :351

add_custom_target(lcov-genhtml
		COMMAND ${GENHTML_BIN}
			--quiet
			--output-directory ${LCOV_HTML_PATH}/selected_targets
			--title \"${CMAKE_PROJECT_NAME} - targets  `find
				${LCOV_DATA_PATH_CAPTURE} -name \"*.info\" ! -name
				\"all_targets.info\" -exec basename {} .info \\\;`\"
			--prefix ${PROJECT_SOURCE_DIR}
			--sort
			${GENHTML_CPPFILT_FLAG}
			`find ${LCOV_DATA_PATH_CAPTURE} -name \"*.info\" ! -name
				\"all_targets.info\"`
	)

gnss-sdr/gnss-sdr CMakeLists.txt :3035

add_custom_target(pdfmanual
            COMMAND ${PDFMANUAL_MAKE_PROGRAM}
            COMMAND ${CMAKE_COMMAND} -E copy refman.pdf ${GNSSSDR_BINARY_DIR}/docs/GNSS-SDR_manual.pdf
            COMMAND ${PDFMANUAL_MAKE_PROGRAM} clean
            DEPENDS doc
            WORKING_DIRECTORY ${GNSSSDR_BINARY_DIR}/docs/latex
            COMMENT "Generating PDF manual with LaTeX and pdflatex..." VERBATIM
        )

openthread/openthread third_party/mbedtls/repo/CMakeLists.txt :353

ADD_CUSTOM_TARGET(${MBEDTLS_TARGET_PREFIX}apidoc
    COMMAND doxygen mbedtls.doxyfile
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doxygen)

alexa/avs-device-sdk doc/CMakeLists.txt :12

add_custom_target(
        doc COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_CFG}
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
        COMMENT "Generating API documentation with Doxygen"
        VERBATIM)

SsageParuders/Android_Native_Surface my_android_opencv/3rdparty/libjpeg-turbo/src/simd/CMakeLists.txt :109

add_custom_target(jsimdcfg COMMAND
  ${CMAKE_C_COMPILER} -E -I${CMAKE_BINARY_DIR} -I${CMAKE_CURRENT_BINARY_DIR}
    -I${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_CURRENT_SOURCE_DIR}/nasm/jsimdcfg.inc.h |
  ${GREP} -E '^[\;%]|^\ %' | sed 's%_cpp_protection_%%' |
  sed 's@% define@%define@g' >${CMAKE_CURRENT_SOURCE_DIR}/nasm/jsimdcfg.inc)

lizardfs/lizardfs tests/CMakeLists.txt :8

add_custom_target(list_of_test_cases
  COMMAND ls ${CMAKE_CURRENT_SOURCE_DIR}/test_suites
    | xargs -IXXX echo "class XXX : public BashTestingSuite {};"
    > test_suites.h.tmp
  COMMAND ${CMAKE_COMMAND} -E copy_if_different test_suites.h.tmp test_suites.h

  COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && bash tools/generate_tests_from_templates.sh

  COMMAND find ${CMAKE_CURRENT_SOURCE_DIR}/test_suites/ -name test_*.sh
    ${filter_out}
    | sed -e "s/[.]sh$//"
    | awk -F/ "{print $(NF-1) \",\" $NF}"
    | xargs -IXXX echo "add_test_case(XXX)"
    > test_cases.h.tmp
  COMMAND ${CMAKE_COMMAND} -E copy_if_different test_cases.h.tmp test_cases.h

  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
  VERBATIM)

NVIDIA/MatX bench/CMakeLists.txt :44

add_custom_target(bench
    DEPENDS matx_bench
    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/matx_bench)

v6d-io/v6d CMakeLists.txt :1129

add_custom_target(vineyard_cpplint
        COMMAND ${PROJECT_SOURCE_DIR}/misc/cpplint.py --root=vineyard ${FILES_NEED_FORMAT}
        COMMENT "Running cpplint check."
        VERBATIM)

AcademySoftwareFoundation/MaterialX source/MaterialXTest/CMakeLists.txt :100

add_custom_target(MaterialXTestData ALL
    COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different
    ${MATERIALX_DATA_LIBRARY_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libraries)

w111liang222/lidar-slam-detection slam/thirdparty/fast_gicp/thirdparty/Eigen/cmake/EigenConfigureTesting.cmake :11

add_custom_target(check COMMAND "ctest")

NVIDIA/DALI cmake/lint.cmake :43

add_custom_target(lint-python-black
        # keep black invocation  separated so each invocation will pick appropriate configuration
        # file from the top dir used for it
        COMMAND
          black --check ${PYTHON_LINT_PATHS} ${AUTOGRAPH_LINT_PATHS}
        COMMAND
          black --check ${PYTHON_LINT_DOCS_PATHS}
        COMMENT
          "Performing black Python formatting check"
)

gscept/nebula fips-files/include.cmake :421

add_custom_target(GenerateNIDL_${nidlName}
            COMMAND ${PYTHON} ${NROOT}/fips-files/generators/NIDL.py "${f_abs}" "${abs_output_folder}/${out_cs}" "--csharp"
            BYPRODUCTS "${abs_output_folder}${out_cs}"
            COMMENT "IDLC: Generating ${out_cs}..."
            DEPENDS ${NROOT}/fips-files/generators/NIDL.py
            WORKING_DIRECTORY "${NROOT}"
            VERBATIM
            SOURCES "${f_abs}"
        )

asset-group/Sni5Gect-5GNR-sniffing-and-exploitation CMakeLists.txt :615

add_custom_target(uninstall
    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

Kitware/ParaView Documentation/CMakeLists.txt :13

add_custom_target(ParaViewDoc-TGZ
  COMMAND
    ${CMAKE_COMMAND} -E tar cfz
    ${CMAKE_CURRENT_BINARY_DIR}/ParaViewGeneratedDocs.tar.gz
    ${PARAVIEW_GENERATED_DOCUMENTATION_OUTPUT_DIRECTORY}
  WORKING_DIRECTORY ${PARAVIEW_GENERATED_DOCUMENTATION_OUTPUT_DIRECTORY}/..
  COMMENT "Generate ParaViewGeneratedDocs.tar.gz")

rakhimov/scram CMakeLists.txt :199

add_custom_target(uninstall
  COMMAND "${CMAKE_COMMAND}" -P "\"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake\"")

DIPlib/diplib doc/CMakeLists.txt :92

add_custom_target(
      doc
      DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/diplib_docs.json"
      COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/${DOCUMENTATION_OUTPUT}"
      COMMAND "${DOXPP_BRIEF_EXECUTABLE}"
      COMMAND "${DOXPP_URLS_EXECUTABLE}"
      COMMAND "${DOXPP_HTML_EXECUTABLE}"
      WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
   )

electronicarts/IRIS test/Iris.Tests/CMakeLists.txt :72

add_custom_target(copy_data_bin_dir ALL 
        COMMAND ${CMAKE_COMMAND} -E copy_directory
        ${CMAKE_CURRENT_SOURCE_DIR}/data
        ${CMAKE_BINARY_DIR}/data
        COMMENT "Copying test data into binary directory")

Tulip-Dev/tulip CMakeLists.txt :503

ADD_CUSTOM_TARGET(runTests COMMAND ${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure)

gismo/gismo cppyy/CMakeLists.txt :38

add_custom_target(install-bindings COMMAND pip install ${PY_WHEEL_FILE}
        COMMENT "Installing the cppyy Python bindings using pip"
        DEPENDS wheel gismo)

AMICI-dev/AMICI models/model_dirac_py/swig/CMakeLists.txt :58

add_custom_target(install-python
        DEPENDS ${SWIG_LIBRARY_NAME}
        COMMAND python ${SETUP_PY_OUT} install)

NERSC/timemory cmake/Modules/MacroUtilities.cmake :239

add_custom_target(
            timemory-test
            COMMAND ${CMAKE_COMMAND} --build ${PROJECT_BINARY_DIR} --target test
            WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
            COMMENT "Running tests...")

emsec/hal cmake/CodeCoverage.cmake :240

add_custom_target(${Coverage_NAME}

                       # Run tests
                       ${Coverage_EXECUTABLE}

                       # Running gcovr
#                       COMMAND ${GCOVR_PATH} -x -r ${CMAKE_SOURCE_DIR} ${COBERTURA_EXCLUDES}
#                       -o ${Coverage_NAME}.xml
                       COMMAND ${GCOVR_PATH} -s --html-details -r ${CMAKE_SOURCE_DIR} ${COBERTURA_EXCLUDES}
                       -o ${Coverage_NAME}/
#                       WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
                       WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
                       DEPENDS ${Coverage_DEPENDENCIES}
                       COMMENT "Running gcovr to produce Cobertura code coverage report."
                       )

GoSSIP-SJTU/TripleDoggy CMakeLists.txt :766

add_custom_target(srpm
  COMMAND cpack -G TGZ --config CPackSourceConfig.cmake -B ${LLVM_SRPM_DIR}/SOURCES
  COMMAND rpmbuild -bs --define '_topdir ${LLVM_SRPM_DIR}' ${LLVM_SRPM_BINARY_SPECFILE})

WerWolv/ImHex cmake/build_helpers.cmake :806

add_custom_target(uninstall
                COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

ceph/ceph CMakeLists.txt :832

add_custom_target(check
  COMMAND ${CMAKE_CTEST_COMMAND}
  DEPENDS tests)

catchorg/Catch2 CMake/FindLcov.cmake :286

add_custom_target(${TNAME}-genhtml
		COMMAND ${GENHTML_BIN} --quiet --sort --prefix ${PROJECT_SOURCE_DIR}
			--baseline-file ${LCOV_DATA_PATH_INIT}/${TNAME}.info
			--output-directory ${LCOV_HTML_PATH}/${TNAME}
			--title "${CMAKE_PROJECT_NAME} - target ${TNAME}"
			${GENHTML_CPPFILT_FLAG} ${OUTFILE}
		DEPENDS ${TNAME}-geninfo ${TNAME}-capture-init
	)

opensim-org/opensim-core CMakeLists.txt :771

add_custom_target(Simbody_CONFIG_check ALL
        COMMAND "set" "Simbody_CONFIG=${Simbody_CONFIGURATION_STR}"
        COMMAND "if"
           "\"%Simbody_CONFIG:$<LOWER_CASE:$<CONFIG>>=%\"==\"%Simbody_CONFIG%\""
           "exit" "1"
        COMMENT ${MESSAGE})

AcademySoftwareFoundation/openvdb CMakeLists.txt :615

add_custom_target(uninstall
    COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/cmake/Uninstall.cmake
  )

CMU-Perceptual-Computing-Lab/openpose CMakeLists.txt :1066

add_custom_target(uninstall
        COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

apache/trafficserver CMakeLists.txt :857

add_custom_target(
  asf-distdir
  COMMENT "Create distribution tarball for ASF"
  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
  COMMAND rm -rf ${DISTTMP} && mkdir /tmp/asf-dist
  COMMAND git archive --format=tar --prefix=${DISTFILENAME}/ HEAD | tar -C ${DISTTMP} -xf -
  COMMAND rm -rf ${DISTTMP}/${DISTFILENAME}/ci
  COMMAND grep -v img.shields.io ${DISTTMP}/${DISTFILENAME}/README.md > ${DISTTMP}/${DISTFILENAME}/README.md.clean
  COMMAND mv ${DISTTMP}/${DISTFILENAME}/README.md.clean ${DISTTMP}/${DISTFILENAME}/README.md
)

STEllAR-GROUP/hpx CMakeLists.txt :2800

add_custom_target(
    configure_ycm
    COMMAND ${CMAKE_COMMAND} -E copy ${build_dir_file} ${source_dir_file}
    COMMENT "Copying YCM config file to source directory"
    VERBATIM
  )

dartsim/dart CMakeLists.txt :623

add_custom_target(format
                      COMMAND ${CMAKE_COMMAND} -E echo "Warning: Not found any source files to format.")

vengi-voxel/vengi cmake/perf.cmake :4

add_custom_target(${TARGET}-perf
			COMMAND
				${PERF_EXECUTABLE} record --call-graph dwarf
				$<TARGET_FILE:${TARGET}>
			USES_TERMINAL
			DEPENDS ${TARGET}
			WORKING_DIRECTORY $<TARGET_FILE_DIR:${TARGET}>
		)

YosysHQ/nextpnr 3rdparty/pybind11/tests/CMakeLists.txt :548

add_custom_target(
  memcheck
  COMMAND
    PYTHONMALLOC=malloc
    valgrind
    --leak-check=full
    --show-leak-kinds=definite,indirect
    --errors-for-leak-kinds=definite,indirect
    --error-exitcode=1
    --read-var-info=yes
    --track-origins=yes
    --suppressions="${CMAKE_CURRENT_SOURCE_DIR}/valgrind-python.supp"
    --suppressions="${CMAKE_CURRENT_SOURCE_DIR}/valgrind-numpy-scipy.supp"
    --gen-suppressions=all
    ${PYTHON_EXECUTABLE} -m pytest ${PYBIND11_ABS_PYTEST_FILES}
  DEPENDS ${test_targets}
  WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
  USES_TERMINAL)

steemit/steem libraries/protocol/CMakeLists.txt :6

add_custom_target( build_hardfork_hpp
      COMMAND cat-parts "${CMAKE_CURRENT_SOURCE_DIR}/hardfork.d" ${hardfork_hpp_file} )

brndnmtthws/conky cmake/CodeCoverage.cmake :331

add_custom_target(
    ${Coverage_NAME}
    # Run tests
    ${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
    # Running gcovr
    COMMAND ${GCOVR_PATH}
            --xml -r ${PROJECT_SOURCE_DIR} ${GCOVR_EXCLUDES}
            --object-directory=${PROJECT_BINARY_DIR} -o ${Coverage_NAME}.xml
    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
    DEPENDS ${Coverage_DEPENDENCIES}
    COMMENT "Running gcovr to produce Cobertura code coverage report.")

root-project/root CMakeLists.txt :624

add_custom_target(dist COMMAND cpack --config CPackConfig.cmake)

CLIUtils/CLI11 cmake/CodeCoverage.cmake :518

add_custom_target(
    ${Coverage_NAME}
    COMMAND ${GCOVR_XML_EXEC_TESTS_CMD}
    COMMAND ${GCOVR_XML_CMD}
    BYPRODUCTS ${Coverage_NAME}.xml
    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
    DEPENDS ${Coverage_DEPENDENCIES}
    VERBATIM # Protect arguments to commands
    COMMENT "Running gcovr to produce Cobertura code coverage report.")

libLAS/libLAS cmake/modules/BuildOSGeo4W.cmake :99

add_custom_target(tar
  COMMAND ${CMAKE_COMMAND} -E echo "Tarring OSGeo4W install")

Slicer/Slicer Utilities/Doxygen/CMakeLists.txt :19

add_custom_target(cpp-doc
      COMMAND ${DOXYGEN_EXECUTABLE} ${userdoc_doxyfile}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
      )

edubart/otclient src/framework/cmake/cotire.cmake :2257

add_custom_target(${_targetName} COMMAND ${_cmds}
            WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" COMMENT "Cleaning up all cotire generated files" VERBATIM)

Oneflow-Inc/oneflow cmake/oneflow.cmake :160

add_custom_target(of_git_version_create_dir COMMAND ${CMAKE_COMMAND} -E make_directory
                                                    ${OF_GIT_VERSION_DIR})

google/filament third_party/dawn/third_party/dxc/cmake/modules/AddLLVM.cmake :563

add_custom_target(install-${name}
                          DEPENDS ${name}
                          COMMAND "${CMAKE_COMMAND}"
                                  -DCMAKE_INSTALL_COMPONENT=${name}
                                  -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")

percona/percona-xtrabackup CMakeLists.txt :2711

ADD_CUSTOM_TARGET(
    doxygen
    COMMAND ${CMAKE_COMMAND}
    -DDOXYGEN_EXECUTABLE=${DOXYGEN_EXECUTABLE}
    -DDOXYGEN_DOT_EXECUTABLE=${DOXYGEN_DOT_EXECUTABLE}
    -DDOXYFILE=${CMAKE_BINARY_DIR}/Doxyfile
    -DERROR_FILE=${CMAKE_BINARY_DIR}/doxyerror.log
    -DOUTPUT_FILE=${CMAKE_BINARY_DIR}/doxyoutput.log
    -DREDIRECT_DOXYGEN_STDOUT=${REDIRECT_DOXYGEN_STDOUT}
    -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
    -DTOFIX_FILE=${CMAKE_BINARY_DIR}/tofix-all.log
    -DREGRESSION_FILE=${CMAKE_BINARY_DIR}/tofix-regressions.log
    -DIGNORE_FILE=${CMAKE_SOURCE_DIR}/Doxyfile-ignored
    -P ${CMAKE_SOURCE_DIR}/run_doxygen.cmake
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
    COMMENT "Generating Doxygen documentation" VERBATIM
    )

NREL/EnergyPlus third_party/btwxt/cmake/FindLcov.cmake :322

add_custom_target(lcov
				COMMAND ${GENHTML_BIN} --quiet --sort
				--baseline-file ${LCOV_DATA_PATH_INIT}/all_targets.info
				--output-directory ${LCOV_HTML_PATH}/all_targets
				--title "${CMAKE_PROJECT_NAME}" --prefix "${PROJECT_SOURCE_DIR}"
				${GENHTML_CPPFILT_FLAG} ${OUTFILE}
				DEPENDS lcov-geninfo-init lcov-geninfo
				)

google/shaderc CMakeLists.txt :149

add_custom_target(${NAME}-pkg-config ALL
    COMMAND ${CMAKE_COMMAND}
      -DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES
      -DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/${NAME}.pc.in
      -DOUT_FILE=${CMAKE_CURRENT_BINARY_DIR}/${NAME}.pc
      -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
      -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
      -DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}
      -DLIBS=${LIBS}
      -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake
  DEPENDS "CHANGES" "cmake/${NAME}.pc.in" "cmake/write_pkg_config.cmake")

ngscopeclient/scopehal-apps src/ngscopeclient/CMakeLists.txt :134

add_custom_target(
	ngprotoshaders
	COMMENT "Copying protocol shaders..."
	COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SPIRV_SHADERS} ${CMAKE_BINARY_DIR}/src/ngscopeclient/shaders
	)

Devsh-Graphics-Programming/Nabla 3rdparty/CMakeLists.txt :112

add_custom_target(zlib_copy
	COMMAND ${CMAKE_COMMAND} -E rm -Rf "${_COPY_BIN_SOURCE_}"
	COMMAND ${CMAKE_COMMAND} -E copy_directory "${_ORIGINAL_SOURCE_}" "${_COPY_BIN_SOURCE_}"
	COMMAND ${CMAKE_COMMAND} -E rm -f ${_COPY_BIN_SOURCE_}/zconf.h # no duplicates in include search paths!
	COMMENT "Copying zlib..."
)

nanocurrency/nano-node CMakeLists.txt :780

add_custom_target(
    all_tests
    COMMAND echo "BATCH BUILDING TESTS"
    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
    DEPENDS core_test load_test rpc_test slow_test nano_node nano_rpc)

mysql/mysql-server cmake/fastcov.cmake :152

ADD_CUSTOM_TARGET(fastcov-html
  COMMAND genhtml -o code_coverage report.info
  COMMENT "Running genhtml -o code_coverage report.info"
  VERBATIM
  )

onnx/onnx-mlir docs/doc_check/CMakeLists.txt :5

add_custom_target(check-doc
  COMMAND ${check_cmd}
    ${ONNX_MLIR_SRC_ROOT}
    --exclude_dirs
      third_party
      docs/doc_check/test
      docs/_site
  COMMAND ${check_cmd} ${CMAKE_BINARY_DIR}
  )

GPSBabel/gpsbabel gui/coretool/CMakeLists.txt :55

add_custom_target(coretool_lrelease
                    COMMAND Qt6::lrelease ${TRANSLATIONS}
                    DEPENDS coretool_lupdate
                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
                    VERBATIM
                    USES_TERMINAL)

openturns/openturns lib/test/CMakeLists.txt :723

add_custom_target (cppcheck COMMAND ${CMAKE_CTEST_COMMAND} --build-config ${CMAKE_BUILD_TYPE} --tests-regex "^cppcheck_"
                    DEPENDS ${CHECK_TO_BE_RUN}
                    COMMENT "Run C++ pre-installation tests")

robotology/yarp extern/thrift/thrift/lib/java/CMakeLists.txt :62

add_custom_target(MavenPublish
        COMMENT "Publishing Java Library to Apache Maven staging"
        COMMAND ${GRADLEW_EXECUTABLE} ${GRADLE_OPTS} clean uploadArchives
            --console=plain --no-daemon
            -Prelease=${PRELEASE}
            -Pthrift.version=${thrift_VERSION}
            "-Pbuild.dir=${CMAKE_CURRENT_BINARY_DIR}/build"
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
    )

yandex/porto CMakeLists.txt :139

add_custom_target(tags COMMAND ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})

mysql/mysql-router cmake/Coverage.cmake :64

add_custom_target(coverage-clear
      COMMAND ${LCOV} ${LCOV_FLAGS} -z
      COMMENT "Clearing coverage information")