diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt index e95ac92..cb64db5 100644 --- a/src/os/CMakeLists.txt +++ b/src/os/CMakeLists.txt @@ -57,6 +57,7 @@ add_library(OSAPI ${sources}) set(CMAKE_THREAD_PREFER_PTHREAD TRUE) find_package(Threads REQUIRED) target_link_libraries(OSAPI INTERFACE Threads::Threads) +set_property(TARGET OSAPI PROPERTY POSITION_INDEPENDENT_CODE TRUE) if(WIN32) # Link with Win32 core-libraries @@ -73,12 +74,7 @@ if(WIN32) target_compile_definitions(OSAPI PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS) # Disable warnings for deprecated POSIX names. target_compile_definitions(OSAPI PRIVATE -D_CRT_NONSTDC_NO_DEPRECATE) -elseif(UNIX AND NOT APPLE) - if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") - # Shared libs will have this by default. Static libs need it too on x86_64. - set_property(TARGET OSAPI PROPERTY POSITION_INDEPENDENT_CODE TRUE) - endif() - +elseif(UNIX) check_library_exists(c clock_gettime "" HAVE_CLOCK_GETTIME) if(NOT HAVE_CLOCK_GETTIME) # Before glibc 2.17, clock_gettime was in librt. @@ -95,7 +91,6 @@ endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "SunPro") target_link_libraries(OSAPI INTERFACE -lsocket -lnsl) - add_definitions(-KPIC) endif() # Determine if platform is big or little endian. diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index e9dd89e..109a2db 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -19,10 +19,7 @@ add_library(util ${srcs_util}) generate_export_header(util EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/exports/util/ut_export.h") target_link_libraries(util PUBLIC OSAPI) -if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") - # Shared libs will have this by default. Static libs need it too on x86_64. - set_property(TARGET util PROPERTY POSITION_INDEPENDENT_CODE TRUE) -endif() +set_property(TARGET util PROPERTY POSITION_INDEPENDENT_CODE TRUE) target_include_directories( util PUBLIC @@ -31,10 +28,6 @@ target_include_directories( "$" "$") -if(${CMAKE_C_COMPILER_ID} STREQUAL "SunPro") - add_definitions(-KPIC) -endif() - # TODO: improve test inclusion. if((BUILD_TESTING) AND ((NOT DEFINED MSVC_VERSION) OR (MSVC_VERSION GREATER "1800"))) add_subdirectory(tests)