add_library(FEXHeaderUtils INTERFACE) # Check for syscall support here check_cxx_source_compiles( " #include int main() { return ::getcpu(nullptr, nullptr); }" HAS_SYSCALL_GETCPU) if (HAS_SYSCALL_GETCPU) message(STATUS "Has getcpu helper") target_compile_definitions(FEXHeaderUtils INTERFACE HAS_SYSCALL_GETCPU=1) endif () check_cxx_source_compiles( " #include int main() { return ::gettid(); }" HAS_SYSCALL_GETTID) if (HAS_SYSCALL_GETTID) message(STATUS "Has gettid helper") target_compile_definitions(FEXHeaderUtils INTERFACE HAS_SYSCALL_GETTID=1) endif () check_cxx_source_compiles( " #include int main() { return ::tgkill(0, 0, 0); }" HAS_SYSCALL_TGKILL) if (HAS_SYSCALL_TGKILL) message(STATUS "Has tgkill helper") target_compile_definitions(FEXHeaderUtils INTERFACE HAS_SYSCALL_TGKILL=1) endif () check_cxx_source_compiles( " #include int main() { return ::statx(0, nullptr, 0, 0, nullptr); }" HAS_SYSCALL_STATX) if (HAS_SYSCALL_STATX) message(STATUS "Has statx helper") target_compile_definitions(FEXHeaderUtils INTERFACE HAS_SYSCALL_STATX=1) endif () check_cxx_source_compiles( " #include int main() { return ::renameat2(0, nullptr, 0, nullptr, 0); }" HAS_SYSCALL_RENAMEAT2) if (HAS_SYSCALL_RENAMEAT2) message(STATUS "Has renameat2 helper") target_compile_definitions(FEXHeaderUtils INTERFACE HAS_SYSCALL_RENAMEAT2=1) endif () target_include_directories(FEXHeaderUtils INTERFACE .)