aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMike Taves <mwtoews@gmail.com>2019-04-03 00:24:08 +1300
committerMike Taves <mwtoews@gmail.com>2019-04-03 00:36:34 +1300
commit4f93a65e60712b422c6bec6009cb3598b1e71fc1 (patch)
treee1aa34a1c7b5cae01eb8d348e6e1dddf25ff290f /CMakeLists.txt
parent2a0ad3d42c7342ee060791aba01f70f058238dce (diff)
downloadPROJ-4f93a65e60712b422c6bec6009cb3598b1e71fc1.tar.gz
PROJ-4f93a65e60712b422c6bec6009cb3598b1e71fc1.zip
CMake: Set -fvisibility=hidden using global variable
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
1 files changed, 9 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f820863f..258599c9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
message(STATUS "Requiring C++${CMAKE_CXX_STANDARD} - done")
+# Set global -fvisibility=hidden
+set(CMAKE_C_VISIBILITY_PRESET hidden)
+set(CMAKE_CXX_VISIBILITY_PRESET hidden)
+
# Set warnings
if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
# Suppress warning 4706 about assignment within conditional expression
@@ -40,18 +44,18 @@ if("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
/EHsc /W4 /wd4706 /wd4996 /D_CRT_SECURE_NO_WARNINGS")
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
--fvisibility=hidden -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
+-Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
-Wmissing-prototypes -Wmissing-declarations -Wformat -Wformat-security")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
--fvisibility=hidden -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
+-Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
-Wmissing-declarations -Wformat -Wformat-security")
elseif("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
--fvisibility=hidden -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
+-Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
-Wmissing-prototypes -Wmissing-declarations -Wformat -Wformat-security \
-Wfloat-conversion -Wc99-extensions -Wc11-extensions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
--fvisibility=hidden -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
+-Wall -Wextra -Wswitch -Wshadow -Wunused-parameter \
-Wmissing-declarations -Wformat -Wformat-security -Wfloat-conversion")
endif()
@@ -63,8 +67,7 @@ if(CMAKE_C_COMPILER_ID STREQUAL "Intel")
if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:precise")
else()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fp-model precise")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fp-model precise")
endif()
endif()