cmake check_source_compiles examples

Signatures

check_source_compiles(<lang> <code> <resultVar>
  [FAIL_REGEX <regex1> [<regex2>...]]
[SRC_EXT <extension>])

Examples

kahypar/mt-kahypar cmake/modules/CheckThreadPinning.cmake :10

check_source_compiles(CXX
		"#include <sched.h>
		int main() {
			int cpu_id = sched_getcpu();
			int num_cpus = 4;
			const size_t size = CPU_ALLOC_SIZE(num_cpus);
			cpu_set_t mask;
			CPU_ZERO(&mask);
			CPU_SET(cpu_id, &mask);
			int err = sched_setaffinity(0, size, &mask);
			return 0;
		}"
		EXAMPLE_COMPILES)

NVIDIA/nvshmem src/CMakeLists.txt :395

check_source_compiles(C
  "#include <infiniband/verbs.h>
  int main(void) { int x = IBV_ACCESS_RELAXED_ORDERING; return 1; }"
  HAVE_IBV_ACCESS_RELAXED_ORDERING
)

apache/trafficserver CMakeLists.txt :414

check_source_compiles(
    C "#include <hwloc.h>
    int main() { return HWLOC_OBJ_PU; }" HAVE_HWLOC_OBJ_PU
  )

brainflow-dev/brainflow third_party/periphery/CMakeLists.txt :12

check_source_compiles(C "#include <linux/gpio.h>\nint main(void) { GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME; return 0; }" HAVE_GPIO_CDEV_V2)

projectM-visualizer/projectm cmake/FilesystemSupport.cmake :7

check_source_compiles(CXX
        "#include <filesystem>
        int main(){
           std::filesystem::path p;
           return 0;
        }"
        STD_FILESYSTEM_EXISTS
        )

stephenberry/glaze fuzzing/CMakeLists.txt :15

check_source_compiles(CXX "
    #include <cstddef>
    #include <cstdint>
    extern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size)
    { return 0;}
    " haslibfuzzer)

Jackarain/proxy cmake/CheckCXXLinkerFlag.cmake :64

check_source_compiles(${_lang} "${_source}" ${_var} ${_common_patterns})

scivision/Cpp23-examples cpp17/CMakeLists.txt :23

check_source_compiles(CXX
"#if !__has_cpp_attribute(maybe_unused)
#error \"no maybe_unused attribute\"
#endif"
cpp17_maybe_unused
)

isce-framework/isce3 .cmake/kitware-cmake/3.19/CheckCompilerFlag.cmake :22

check_source_compiles(<LANG>)

simdutf/simdutf fuzz/CMakeLists.txt :14

check_source_compiles(CXX "
    #include <cstddef>
    #include <cstdint>
    extern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size)
    { return 0;}
    " haslibfuzzer)

chemfiles/chemfiles cmake/CheckCompilerFlags/CheckCompilerFlag.cmake :91

check_source_compiles(${_lang}
    "${_lang_src}"
    ${_var}
    ${_lang_fail_regex}
    ${_common_patterns}
    )

swiftlang/swift Runtimes/Core/cmake/modules/CompilerSettings.cmake :25

check_source_compiles(CXX
"#if !(__has_attribute(swiftcall) && \
  __has_attribute(swift_context) && \
  __has_attribute(swift_error_result) && \
  __has_attribute(swift_indirect_result))
#error CXX compiler must support Swift calling conventions
#endif
int main(void) { return 0; }"
HAVE_SWIFTCALL)

DrTimothyAldenDavis/SuiteSparse GraphBLAS/cmake_modules/GraphBLAS_complex.cmake :16

check_source_compiles ( C
    "#include <complex.h>
    int main (void)
    {
        double _Complex z1 = 1.0 ;
        double _Complex z2 = 1.0 * I ;
        double _Complex z3 = z1 * z2 ;
        return ((int) creal (z3)) ;
    }"
    GxB_HAVE_COMPLEX_C99 )

DrTimothyAldenDavis/GraphBLAS cmake_modules/GraphBLAS_complex.cmake :16

check_source_compiles ( C
    "#include <complex.h>
    int main (void)
    {
        double _Complex z1 = 1.0 ;
        double _Complex z2 = 1.0 * I ;
        double _Complex z3 = z1 * z2 ;
        return ((int) creal (z3)) ;
    }"
    GxB_HAVE_COMPLEX_C99 )

FalkorDB/FalkorDB deps/GraphBLAS/cmake_modules/GraphBLAS_complex.cmake :16

check_source_compiles ( C
    "#include <complex.h>
    int main (void)
    {
        double _Complex z1 = 1.0 ;
        double _Complex z2 = 1.0 * I ;
        double _Complex z3 = z1 * z2 ;
        return ((int) creal (z3)) ;
    }"
    GxB_HAVE_COMPLEX_C99 )

guanzhi/GmSSL CMakeLists.txt :465

check_source_compiles(C
		"#include <immintrin.h> int main(void) { unsigned long long val; _rdrand64_step(&val); return 0; }"
		HAVE_INTEL_RDRAND)