mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 12:00:17 +02:00
I may have gotten carried away. - I missed some stuff for end parenthesis because I accidentally searched within project files instead of the entire directory (so some thunk/test/windows stuff was missed), cleaned those up. - `INTERFACE`, `PUBLIC`, `PRIVATE`, `RUNTIME`, `LIBRARY` should be on the same line as the target name. (I should really invest in making a style guide...) - Some short statements were unnecessarily split across multiple lines--cleaned those up - Made a common `LinkerGC` module that applies gc-sections etc. to a target in Release mode - Usually for functions you want to have something on the first line, e.g. `FILES`/`DIRECTORY` for install, or the target/a positional argument, etc etc. Not always though, notably for some custom_command calls TODO: - What's with the `list(APPEND LIBS...)` stuff? It's used really inconsistently, sometimes not at all, sometimes it looks like there're duplicates? A more thorough cleanup is in order there. Signed-off-by: crueter <crueter@eden-emu.dev>
60 lines
1.5 KiB
CMake
60 lines
1.5 KiB
CMake
add_library(FEXHeaderUtils INTERFACE)
|
|
|
|
# Check for syscall support here
|
|
check_cxx_source_compiles("
|
|
#include <sched.h>
|
|
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 <unistd.h>
|
|
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 <signal.h>
|
|
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 <sys/stat.h>
|
|
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 <stdio.h>
|
|
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 .)
|