From 34f88d43825a734c0c3857b7fe7bd677ac0dd303 Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Sat, 3 Sep 2022 12:49:10 +1000 Subject: [PATCH] cmake: SPDLOG_BUILD_PIC opt-in for CMAKE_POSITION_INDEPENDENT_CODE --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a866c34..975a0f6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,6 @@ if(MSVC) endif() set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(CMAKE_SYSTEM_NAME MATCHES "CYGWIN" OR CMAKE_SYSTEM_NAME MATCHES "MSYS") set(CMAKE_CXX_EXTENSIONS ON) @@ -62,6 +61,9 @@ option(SPDLOG_BUILD_SHARED "Build shared library" OFF) # precompiled headers option option(SPDLOG_ENABLE_PCH "Build static or shared library using precompiled header to speed up compilation time" OFF) +# build position independent code +option(SPDLOG_BUILD_PIC "Build position independent code (-fPIC)" OFF) + # example options option(SPDLOG_BUILD_EXAMPLE "Build example" ${SPDLOG_MASTER_PROJECT}) option(SPDLOG_BUILD_EXAMPLE_HO "Build header only example" OFF) @@ -133,6 +135,10 @@ if(SPDLOG_TIDY) message(STATUS "Enabled clang-tidy") endif() +if(SPDLOG_BUILD_PIC) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +endif() + find_package(Threads REQUIRED) message(STATUS "Build type: " ${CMAKE_BUILD_TYPE}) # ---------------------------------------------------------------------------------------