diff options
author | listout <listout@protonmail.com> | 2022-08-18 01:04:56 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-08-18 01:12:56 +0300 |
commit | f197b1a1f1bbc0334310fb1c911327246767a1a3 (patch) | |
tree | bf4b282fe4db30f6a66b532728ae2b69e03ca824 /source/creator | |
parent | 0a84cc691d7945624ff83256ba083d35f80c3191 (diff) |
CMake: support building with musl libc
Instead of using macros like GLIBC we can use the CMake build
systems internal functions to check if some header or functions are
present on the running system's libc.
Add ./build_files/cmake/have_features.cmake to add checks for
platform features which can be used to set defines for source
files that require them.
Reviewed By: campbellbarton
Ref D15696
Diffstat (limited to 'source/creator')
-rw-r--r-- | source/creator/CMakeLists.txt | 4 | ||||
-rw-r--r-- | source/creator/creator_signals.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index becba393a36..5b01280c1c2 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -21,6 +21,10 @@ set(LIB bf_windowmanager ) +if(HAVE_FEENABLEEXCEPT) + add_definitions(-DHAVE_FEENABLEEXCEPT) +endif() + if(WITH_TBB) # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so # that it is initialized before MKL and static library initialization order diff --git a/source/creator/creator_signals.c b/source/creator/creator_signals.c index 226277da363..65352f047f1 100644 --- a/source/creator/creator_signals.c +++ b/source/creator/creator_signals.c @@ -256,7 +256,7 @@ void main_signal_setup_fpe(void) * set breakpoints on sig_handle_fpe */ signal(SIGFPE, sig_handle_fpe); -# if defined(__linux__) && defined(__GNUC__) +# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT) feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); # endif /* defined(__linux__) && defined(__GNUC__) */ # if defined(OSX_SSE_FPE) |