cmake try_run examples

Signatures

try_run(<runResultVar> <compileResultVar>
  [SOURCES_TYPE <type>]
  <SOURCES <srcfile...>                 |
  SOURCE_FROM_CONTENT <name> <content> |
  SOURCE_FROM_VAR <name> <var>         |
  SOURCE_FROM_FILE <name> <path>       >...
  [LOG_DESCRIPTION <text>]
  [NO_CACHE]
  [NO_LOG]
  [CMAKE_FLAGS <flags>...]
  [COMPILE_DEFINITIONS <defs>...]
  [LINK_OPTIONS <options>...]
  [LINK_LIBRARIES <libs>...]
  [COMPILE_OUTPUT_VARIABLE <var>]
  [COPY_FILE <fileName> [COPY_FILE_ERROR <var>]]
  [<LANG>_STANDARD <std>]
  [<LANG>_STANDARD_REQUIRED <bool>]
  [<LANG>_EXTENSIONS <bool>]
  [RUN_OUTPUT_VARIABLE <var>]
  [RUN_OUTPUT_STDOUT_VARIABLE <var>]
  [RUN_OUTPUT_STDERR_VARIABLE <var>]
  [WORKING_DIRECTORY <var>]
  [ARGS <args>...]
)

Examples

STEllAR-GROUP/hpx cmake/CacheLineSize.cmake :42

try_run(
        run_result_unused compile_result_unused "${PROJECT_BINARY_DIR}" SOURCES
        "${PROJECT_BINARY_DIR}/cache_line_size.cpp"
        COMPILE_DEFINITIONS ${compile_definitions}
        CMAKE_FLAGS CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS
                    FALSE
        RUN_OUTPUT_VARIABLE CACHE_LINE_SIZE
      )

ornladios/ADIOS2 cmake/upstream/FindMPI.cmake :1205

try_run(MPI_RUN_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE} MPI_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
     "${CMAKE_BINARY_DIR}" SOURCES "${MPI_TEST_SOURCE_FILE}"
      COMPILE_DEFINITIONS ${MPI_TEST_COMPILE_DEFINITIONS}
      LINK_LIBRARIES MPI::MPI_${LANG}
      RUN_OUTPUT_VARIABLE MPI_RUN_OUTPUT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
      COMPILE_OUTPUT_VARIABLE _MPI_TRY_${MPI_TEST_FILE_NAME}_${MODE}_OUTPUT)

mhx/dwarfs cmake/need_phmap.cmake :21

try_run(
  PHMAP_RUN_RESULT
  PHMAP_COMPILE_RESULT
  SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/phmap-version.cpp
  CMAKE_FLAGS -DINCLUDE_DIRECTORIES=${TRY_RUN_INCLUDE_DIRECTORIES}
  CXX_STANDARD ${DWARFS_CXX_STANDARD}
  RUN_OUTPUT_VARIABLE PHMAP_VERSION
  COMPILE_OUTPUT_VARIABLE PHMAP_COMPILE_OUTPUT
)

LMMS/lmms cmake/modules/ImportedTargetHelpers.cmake :43

try_run(
		_dvfs_run_result _dvfs_compile_result "${CMAKE_CURRENT_BINARY_DIR}"
		SOURCES "${_source_file}"
		LINK_LIBRARIES "${_target}"
		CXX_STANDARD 20
		RUN_OUTPUT_VARIABLE _run_output
		COMPILE_OUTPUT_VARIABLE _compile_output
	)

cb-geo/mpm cmake/FindMPI.cmake :1175

try_run(MPI_RUN_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE} MPI_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
     "${CMAKE_BINARY_DIR}" SOURCES "${MPI_TEST_SOURCE_FILE}"
      COMPILE_DEFINITIONS ${MPI_TEST_COMPILE_DEFINITIONS}
      LINK_LIBRARIES MPI::MPI_${LANG}
      RUN_OUTPUT_VARIABLE MPI_RUN_OUTPUT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE})

Kitware/VTK CMake/patches/3.22/FindMPI.cmake :1282

try_run(MPI_RUN_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE} MPI_RESULT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
     "${CMAKE_BINARY_DIR}" SOURCES "${MPI_TEST_SOURCE_FILE}"
      COMPILE_DEFINITIONS ${MPI_TEST_COMPILE_DEFINITIONS}
      LINK_LIBRARIES MPI::MPI_${LANG}
      RUN_OUTPUT_VARIABLE MPI_RUN_OUTPUT_${LANG}_${MPI_TEST_FILE_NAME}_${MODE}
      COMPILE_OUTPUT_VARIABLE _MPI_TRY_${MPI_TEST_FILE_NAME}_${MODE}_OUTPUT)

WujekFoliarz/DualSenseY-v2 thirdparty/json/cmake/download_test_data.cmake :60

try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
        "${CMAKE_BINARY_DIR}" SOURCES "${CMAKE_SOURCE_DIR}/cmake/detect_libcpp_version.cpp"
        RUN_OUTPUT_VARIABLE LIBCPP_VERSION_OUTPUT COMPILE_OUTPUT_VARIABLE LIBCPP_VERSION_COMPILE_OUTPUT
    )

fluent/fluent-bit lib/wasm-micro-runtime-WAMR-2.4.1/build-scripts/config_common.cmake :598

try_run (TEST_WRGSBASE_RESULT
      TEST_WRGSBASE_COMPILED
      ${CMAKE_BINARY_DIR}/test_wrgsbase
      SOURCES ${TEST_WRGSBASE_SOURCE}
      CMAKE_FLAGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
    )

GlobalArrays/ga cmake/linalg-modules/FindBLIS.cmake :37

try_run( BLIS_USES_LP64
           BLIS_TEST_COMPILES
           ${CMAKE_CURRENT_BINARY_DIR}
    SOURCES ${CMAKE_CURRENT_LIST_DIR}/util/blis_int_size.c
    CMAKE_FLAGS -DINCLUDE_DIRECTORIES:STRING=${BLIS_INCLUDE_DIR}
    LINK_LIBRARIES ${BLIS_LIBRARIES}
    COMPILE_OUTPUT_VARIABLE _blis_idx_compile_output
    RUN_OUTPUT_VARIABLE     _blis_idx_run_output
  )