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

cnr-isti-vclab/meshlab unsupported/plugins_unsupported/external/CoMISo/cmake/CheckCSourceRuns.cmake :47

TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
      ${CMAKE_BINARY_DIR}
      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
      "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
      COMPILE_OUTPUT_VARIABLE OUTPUT)

kokkos/kokkos cmake/kokkos_arch.cmake :368

try_run(
      RUN_GET_SVE_HW_VL COMPILE_GET_SVE_HW_VL ${CMAKE_CURRENT_BINARY_DIR}
      ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compile_tests/get_sve_hw_vl.cpp
      COMPILE_DEFINITIONS ${FLAG}
      COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT_GET_SVE_HW_VL
      RUN_OUTPUT_VARIABLE SVE_HW_VL
    )

Kitware/kwiver CMake/kwiver-depends-GDAL.cmake :20

TRY_RUN( GDAL_TEST_RUN
             GDAL_TEST_COMPILE
             ${CMAKE_BINARY_DIR}
             ${CMAKE_BINARY_DIR}/test_gdal_version.cxx
             COMPILE_DEFINITIONS "-I${GDAL_INCLUDE_DIR}"
             RUN_OUTPUT_VARIABLE GDAL_VERSION )

liminchen/OptCuts ext/libigl/external/cgal/src/CGAL_Project/cmake/modules/CGAL_CheckCXXFileRuns.cmake :36

TRY_RUN(${VAR} ${VAR}_COMPILED
          "${CMAKE_BINARY_DIR}"
          "${FILE}"
          COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
          CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
          "${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}"
          "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
          OUTPUT_VARIABLE OUTPUT)

SsageParuders/Android_Native_Surface my_android_opencv/cmake/OpenCVUtils.cmake :590

try_run(exec_return compile_result
      "${CMAKE_BINARY_DIR}"
      "${_fname}"
      CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" # CMP0056 do this on new CMake
      COMPILE_DEFINITIONS "${flag}"
      OUTPUT_VARIABLE OUTPUT)

asset-group/Sni5Gect-5GNR-sniffing-and-exploitation cmake/modules/CheckCSourceRuns.cmake :62

try_run(${VAR}_EXITCODE ${VAR}_COMPILED
      ${CMAKE_BINARY_DIR}
      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
      ${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}
      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
      COMPILE_OUTPUT_VARIABLE OUTPUT)

NERSC/timemory cmake/Modules/ConfigCUDA.cmake :54

try_run(
        _RESULT _COMPILE_RESULT
        ${PROJECT_BINARY_DIR}/compile-tests/cuda-compute-capability-workdir
        ${PROJECT_BINARY_DIR}/compile-tests/cuda_compute_capability.cu
        COMPILE_DEFINITIONS -DSM_ONLY
        RUN_OUTPUT_VARIABLE _CUDA_COMPUTE_CAPABILITY)

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
      )

root-project/root interpreter/llvm-project/llvm/cmake/modules/FindZ3.cmake :30

try_run(
    Z3_RETURNCODE
    Z3_COMPILED
    ${CMAKE_BINARY_DIR}
    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testz3.cpp
    COMPILE_DEFINITIONS -I"${z3_include}"
    LINK_LIBRARIES ${z3_link_libs}
    COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT
    RUN_OUTPUT_VARIABLE SRC_OUTPUT
  )

mfontanini/libtins cmake/Modules/CheckCXXFeatures.cmake :90

try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
                    "${_bindir}" "${_SRCFILE}"
                    COMPILE_DEFINITIONS "${CXX11_COMPILER_FLAGS}")

lifting-bits/mcsema cmake/modules/FindZ3.cmake :14

try_run(
    Z3_RETURNCODE
    Z3_COMPILED
    ${CMAKE_BINARY_DIR}
    ${CMAKE_SOURCE_DIR}/cmake/modules/testz3.cpp
    COMPILE_DEFINITIONS -I"${z3_include}"
    LINK_LIBRARIES -L${z3_lib_path} ${z3_link_libs}
    RUN_OUTPUT_VARIABLE SRC_OUTPUT
  )

InsightSoftwareConsortium/ITK Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTests.cmake :61

try_run(${var} ${var}_COMPILED
      ${CMAKE_CURRENT_BINARY_DIR}
      ${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}}
      COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_TEST_DEFINES} ${KWSYS_PLATFORM_TEST_EXTRA_FLAGS}
      OUTPUT_VARIABLE OUTPUT)

gazebosim/gazebo-classic cmake/FindFreeimage.cmake :24

try_run(FREEIMAGE_RUNS FREEIMAGE_COMPILES ${CMAKE_CURRENT_BINARY_DIR} 
                ${testFreeImageSource}
                COMPILE_DEFINITIONS "-I${freeimage_INCLUDE_DIRS}"
                COMPILE_OUTPUT_VARIABLE FREEIMAGE_COMPILE_OUTPUT)

ornladios/ADIOS2 cmake/CheckTypeRepresentation.cmake :170

try_run(RAN_${var} HAVE_${var} ${CMAKE_BINARY_DIR} ${src}
        COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
        LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS}
        LINK_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
        CMAKE_FLAGS
          "-DCOMPILE_DEFINITIONS:STRING=${CMAKE_REQUIRED_FLAGS}"
          "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
        COMPILE_OUTPUT_VARIABLE compile_output
        RUN_OUTPUT_VARIABLE run_output
        )

darktable-org/rawspeed cmake/Modules/cpu-large-page-size.cmake :15

try_run(RAWSPEED_LARGEPAGESIZE_EXITCODE RAWSPEED_LARGEPAGESIZE_COMPILED
    "${CMAKE_BINARY_DIR}"
    "${CMAKE_CURRENT_LIST_DIR}/cpu-large-page-size.cpp"
    COMPILE_DEFINITIONS -DRAWSPEED_PAGESIZE=${RAWSPEED_PAGESIZE}
    COMPILE_OUTPUT_VARIABLE  RAWSPEED_LARGEPAGESIZE_COMPILE_OUTPUT
    RUN_OUTPUT_VARIABLE RAWSPEED_LARGEPAGESIZE_RUN_OUTPUT)

Tencent/Forward source/third_party/hdf5/config/cmake_ext_mod/ConfigureChecks.cmake :285

try_run (TEST_LFS_WORKS_RUN   TEST_LFS_WORKS_COMPILE
        ${CMAKE_BINARY_DIR}
        ${HDF_RESOURCES_EXT_DIR}/HDFTests.c
        COMPILE_DEFINITIONS "-DTEST_LFS_WORKS"
    )

trilinos/Trilinos packages/kokkos/cmake/kokkos_arch.cmake :368

try_run(
      RUN_GET_SVE_HW_VL COMPILE_GET_SVE_HW_VL ${CMAKE_CURRENT_BINARY_DIR}
      ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compile_tests/get_sve_hw_vl.cpp
      COMPILE_DEFINITIONS ${FLAG}
      COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT_GET_SVE_HW_VL
      RUN_OUTPUT_VARIABLE SVE_HW_VL
    )

joachimBurket/esp32-opencv cmake/OpenCVUtils.cmake :553

try_run(exec_return compile_result
      "${CMAKE_BINARY_DIR}"
      "${_fname}"
      CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" # CMP0056 do this on new CMake
      COMPILE_DEFINITIONS "${flag}"
      OUTPUT_VARIABLE OUTPUT)

eclipse-xacc/xacc cmake/Modules/FindZ3.cmake :39

try_run(
    VERSION_TEST_EXITCODE
    VERSION_TEST_COMPILED
    ${CMAKE_BINARY_DIR}
    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/z3.cpp
    COMPILE_DEFINITIONS
      -I"${Z3_INCLUDE_DIR}"
      LINK_LIBRARIES ${Z3_LIBRARY} ${GMP_LIBRARY}
    CMAKE_FLAGS
      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
    RUN_OUTPUT_VARIABLE
      VERSION_TEST_RUN_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})

NVIDIA/MDL-SDK src/mdl/jit/llvm/dist/cmake/modules/FindZ3.cmake :19

try_run(
    Z3_RETURNCODE
    Z3_COMPILED
    ${CMAKE_BINARY_DIR}
    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testz3.c
    COMPILE_DEFINITIONS -I"${z3_include}"
    LINK_LIBRARIES -L${z3_lib_path} -lz3
    RUN_OUTPUT_VARIABLE SRC_OUTPUT
  )

Lewuathe/mlir-hello thirdparty/llvm-project/llvm/cmake/modules/FindZ3.cmake :30

try_run(
    Z3_RETURNCODE
    Z3_COMPILED
    ${CMAKE_BINARY_DIR}
    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testz3.cpp
    COMPILE_DEFINITIONS -I"${z3_include}"
    LINK_LIBRARIES ${z3_link_libs}
    COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT
    RUN_OUTPUT_VARIABLE SRC_OUTPUT
  )

o2e/OLLVM-9.0.1 cmake/modules/FindZ3.cmake :19

try_run(
    Z3_RETURNCODE
    Z3_COMPILED
    ${CMAKE_BINARY_DIR}
    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testz3.c
    COMPILE_DEFINITIONS -I"${z3_include}"
    LINK_LIBRARIES -L${z3_lib_path} -lz3
    RUN_OUTPUT_VARIABLE SRC_OUTPUT
  )

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)

CatxFish/obs-virtual-cam cmake/Modules/FindThreads.cmake :89

try_run(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
        ${CMAKE_BINARY_DIR}
        ${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c
        COMPILE_DEFINITIONS -pthread
        CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
        COMPILE_OUTPUT_VARIABLE OUTPUT)

CGAL/cgal Installation/cmake/modules/CGAL_CheckCXXFileRuns.cmake :36

TRY_RUN(${VAR} ${VAR}_COMPILED
          "${CMAKE_BINARY_DIR}"
          "${FILE}"
          COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
          CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
          "${CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES}"
          "${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
          OUTPUT_VARIABLE OUTPUT)

wb2osz/direwolf cmake/modules/FindCPUflags.cmake :183

try_run(RUN_SSE2 COMPILE_SSE2 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse2.cxx" COMPILE_DEFINITIONS /O0)

GlobalArrays/ga cmake/linalg-modules/util/BLASUtilities.cmake :5

try_run( _run_result _compile_result ${CMAKE_CURRENT_BINARY_DIR}
  SOURCES        ${BLAS_UTILITY_CMAKE_FILE_DIR}/ilp64_checker.c
  LINK_LIBRARIES ${${_libs}}
  COMPILE_DEFINITIONS "-DDGEMM_NAME=${_dgemm_name}"
  COMPILE_OUTPUT_VARIABLE _compile_output
  RUN_OUTPUT_VARIABLE     _run_output
)

merzlab/QUICK cmake/CheckFortranSourceRuns.cmake :47

try_run(${VAR}_EXITCODE ${VAR}_COMPILED
			${CMAKE_BINARY_DIR}
			${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.F90
			COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${CHECK_Fortran_INCLUDE_OPTIONS}
			${CHECK_Fortran_SOURCE_COMPILES_ADD_LIBRARIES}
			CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
			-DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
			COMPILE_OUTPUT_VARIABLE OUTPUT)

Cisco-Talos/clamav cmake/CheckFDPassing.cmake :59

try_run(
        # Name of variable to store the run result (process exit status; number) in:
        test_run_result
        # Name of variable to store the compile result (TRUE or FALSE) in:
        test_compile_result
        # Binary directory:
        ${CMAKE_CURRENT_BINARY_DIR}
        # Source file to be compiled:
        ${_selfdir_CheckFDPassing}/CheckFDPassing.c
        # Extra -D Compile Definitions
        COMPILE_DEFINITIONS ${EXTRA_COMPILE_DEFINITIONS}
        # Where to store the output produced during compilation:
        COMPILE_OUTPUT_VARIABLE test_compile_output
        # Where to store the output produced by running the compiled executable:
        RUN_OUTPUT_VARIABLE test_run_output )

szcom/rnnlib hdf5_snap/config/cmake/ConfigureChecks.cmake :839

TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED
      ${CMAKE_BINARY_DIR}
      ${HDF5_RESOURCES_DIR}/HDF5Tests.c
      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
      CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
      "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
      COMPILE_OUTPUT_VARIABLE OUTPUT)

gccxml/gccxml GCC/config_cmake/CMakeLists.txt :100

TRY_RUN(${var}_RESULT ${var}_COMPILED
      ${GCCCONFIG_BINARY_DIR}
      ${GCCCONFIG_SOURCE_DIR}/gcc_c_tests.c
      OUTPUT_VARIABLE OUTPUT
      COMPILE_DEFINITIONS
      -DTEST_${var}
      -DHAVE_GETPAGESIZE=${HAVE_GETPAGESIZE}
      -DHAVE_INTTYPES_H=${HAVE_INTTYPES_H}
      -DHAVE_MEMORY_H=${HAVE_MEMORY_H}
      -DHAVE_STDINT_H=${HAVE_STDINT_H}
      -DHAVE_STDLIB_H=${HAVE_STDLIB_H}
      -DHAVE_STRINGS_H=${HAVE_STRINGS_H}
      -DHAVE_STRING_H=${HAVE_STRING_H}
      -DHAVE_SYS_STAT_H=${HAVE_SYS_STAT_H}
      -DHAVE_SYS_TYPES_H=${HAVE_SYS_TYPES_H}
      -DHAVE_SYS_PARAM_H=${HAVE_SYS_PARAM_H}
      -DHAVE_UNISTD_H=${HAVE_UNISTD_H}
      -DSTDC_HEADERS=${STDC_HEADERS}
      )

GenericMappingTools/gmt cmake/modules/FindDCW.cmake :42

try_run (_EXIT_GSHHG_VERSION _COMPILED_GSHHG_VERSION
			${CMAKE_BINARY_DIR}/CMakeTmp
			${CMAKE_CURRENT_SOURCE_DIR}/gshhg_version.c
			CMAKE_FLAGS
			-DINCLUDE_DIRECTORIES=${NETCDF_INCLUDE_DIR}
			-DLINK_LIBRARIES=${NETCDF_LIBRARIES}
			COMPILE_DEFINITIONS -DSTANDALONE
			COMPILE_OUTPUT_VARIABLE _GSHHG_VERSION_COMPILE_OUT
			RUN_OUTPUT_VARIABLE _DCW_VERSION_STRING
			ARGS \"${_DCW_FILE}\")