diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e7e0d24..63c53a8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,16 +70,24 @@ endif() add_library(libchibi-common INTERFACE) -if (NOT BUILD_SHARED_LIBS) - target_compile_definitions(libchibi-common INTERFACE SEXP_STATIC_LIBRARY=1) -elseif(WIN32) - target_compile_definitions(libchibi-common INTERFACE BUILDING_DLL=1) -endif() +target_compile_definitions(libchibi-common + INTERFACE + SEXP_STATIC_LIBRARY=$> + BUILDING_DLL=$,$> + SEXP_USE_DL=$ + SEXP_USE_INTTYPES=$ + SEXP_USE_NTPGETTIME=$ + SEXP_USE_GREEN_THREADS=$ + SEXP_USE_STRING_STREAMS=$> + SEXP_USE_BOEHM=$) target_compile_options(libchibi-common INTERFACE $<$:-Wall> - $<$,$>:-Wall>) + $<$,$>:-Wall> + $<$:-g + -fsanitize=address,undefined,integer-divide-by-zero,float-divide-by-zero,float-cast-overflow,return + -fno-omit-frame-pointer>) target_include_directories(libchibi-common INTERFACE @@ -88,44 +96,11 @@ target_include_directories(libchibi-common $ $) -if (NOT BUILD_SHARED_LIBS) - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_DL=0) -else() - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_DL=1) -endif() - -if(HAVE_STDINT_H) - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_INTTYPES) -endif() - -if(HAVE_NTP_GETTIME) - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_NTPGETTIME) -endif() - -if(NOT HAVE_POLL_H) - # Disable green threads: It depends on non-blocking I/O - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_GREEN_THREADS=0) -endif() - -if(CYGWIN) - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_STRING_STREAMS=0) -endif() - -if(SEXP_USE_BOEHM) - target_compile_definitions(libchibi-common INTERFACE SEXP_USE_BOEHM=1) -endif() - target_link_libraries(libchibi-common INTERFACE ${BOEHMGC} $<$:-fsanitize=address,undefined> $<$:ws2_32>) -target_compile_options(libchibi-common - INTERFACE - $<$:-g - -fsanitize=address,undefined,integer-divide-by-zero,float-divide-by-zero,float-cast-overflow,return - -fno-omit-frame-pointer>) - # # Sources #