aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2019-04-03 11:48:08 +0200
committerGitHub <noreply@github.com>2019-04-03 11:48:08 +0200
commit1af48e8851f22857b4321f35b9df2bf4709c36c0 (patch)
treed77de13c6f1fd6e9cc0cd7dcfc2a3418786df6fe
parentc0d91bd3c0870233e1d0a207cef4de8f65885f6d (diff)
parent4f93a65e60712b422c6bec6009cb3598b1e71fc1 (diff)
downloadPROJ-1af48e8851f22857b4321f35b9df2bf4709c36c0.tar.gz
PROJ-1af48e8851f22857b4321f35b9df2bf4709c36c0.zip
Merge pull request #1406 from mwtoews/cmake
CMake: Set -fvisibility=hidden using global variable
-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()