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

facebook/fbthrift build/fbcode_builder/CMake/RustStaticLibrary.cmake :215

add_custom_target(
    ${cargo_target}
    ALL
    COMMAND
      "${CMAKE_COMMAND}" -E remove -f "${CMAKE_CURRENT_SOURCE_DIR}/Cargo.lock"
    COMMAND
      "${CMAKE_COMMAND}" -E env
      "CARGO_TARGET_DIR=${CMAKE_CURRENT_BINARY_DIR}"
      ${extra_cargo_env}
      ${CARGO_COMMAND}
      ${cargo_flags}
    COMMENT "Building Rust executable '${crate_name}'..."
    JOB_POOL rust_job_pool
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
    BYPRODUCTS
      "${CMAKE_CURRENT_BINARY_DIR}/debug/${executable_name}"
      "${CMAKE_CURRENT_BINARY_DIR}/release/${executable_name}"
  )

espressomd/espresso testsuite/scripts/CMakeLists.txt :27

add_custom_target(
  check_scripts JOB_POOL console
  COMMAND ${CMAKE_CTEST_COMMAND} --timeout ${ESPRESSO_TEST_TIMEOUT}
          -j${ESPRESSO_TEST_NP} ${ESPRESSO_CTEST_ARGS} --output-on-failure)