Skip to content

Commit d3fd818

Browse files
committedJun 11, 2016
Simpler handling of DLL_EXPORT defines
1 parent bd75fec commit d3fd818

File tree

8 files changed

+10
-42
lines changed

8 files changed

+10
-42
lines changed
 

‎CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ ENDIF (ANDROID)
612612
IF(COMMAND cmake_policy)
613613
cmake_policy(SET CMP0003 NEW)
614614
cmake_policy(SET CMP0005 OLD)
615+
cmake_policy(SET CMP0063 NEW)
615616
ENDIF(COMMAND cmake_policy)
616617

617618
IF (WIN32)
@@ -640,6 +641,8 @@ ADD_DEFINITIONS("-DAPP_EXPORT=${DLLIMPORT}")
640641
ADD_DEFINITIONS("-DCUSTOMWIDGETS_EXPORT=${DLLIMPORT}")
641642
ADD_DEFINITIONS("-DSERVER_EXPORT=${DLLIMPORT}")
642643

644+
SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
645+
643646
#############################################################
644647
# user-changeable settings which can be used to customize
645648
# layout of QGIS installation

‎src/analysis/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,7 @@ INCLUDE_DIRECTORIES(SYSTEM
149149
${SQLITE3_INCLUDE_DIR}
150150
)
151151

152-
IF (NOT MSVC)
153-
ADD_DEFINITIONS("-UANALYSIS_EXPORT")
154-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
155-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
156-
ENDIF()
157-
ENDIF (NOT MSVC)
152+
REMOVE_DEFINITIONS("-DANALYSIS_EXPORT=${DLLIMPORT}")
158153
ADD_DEFINITIONS("\"-DANALYSIS_EXPORT=${DLLEXPORT}\"")
159154

160155
#############################################################

‎src/app/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -584,12 +584,7 @@ ELSE (ANDROID)
584584
ADD_EXECUTABLE(${QGIS_APP_NAME} MACOSX_BUNDLE WIN32 ${QGIS_APPMAIN_SRCS} ${IMAGE_RCC_SRCS} ${TEST_RCC_SRCS})
585585
ENDIF (ANDROID)
586586

587-
IF (NOT MSVC)
588-
ADD_DEFINITIONS("-UAPP_EXPORT")
589-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
590-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
591-
ENDIF()
592-
ENDIF (NOT MSVC)
587+
REMOVE_DEFINITIONS("-DAPP_EXPORT=${DLLIMPORT}")
593588
ADD_DEFINITIONS("\"-DAPP_EXPORT=${DLLEXPORT}\"")
594589

595590
# Putting IMAGE_RCC_SRCS into qgis_app lib is cousing problems when the lib is loaded (by plugin for example) in test unit (qgis_composerpicturetest).

‎src/core/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -877,12 +877,7 @@ INCLUDE_DIRECTORIES(SYSTEM
877877
${QCA_INCLUDE_DIR}
878878
)
879879

880-
IF (NOT MSVC)
881-
ADD_DEFINITIONS("-UCORE_EXPORT")
882-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
883-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
884-
ENDIF()
885-
ENDIF (NOT MSVC)
880+
REMOVE_DEFINITIONS("-DCORE_EXPORT=${DLLIMPORT}")
886881
ADD_DEFINITIONS("\"-DCORE_EXPORT=${DLLEXPORT}\"")
887882

888883

‎src/customwidgets/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,7 @@ ENDIF (QT5_BUILD)
1010
SET(QT_USE_QTDESIGNER ON)
1111

1212

13-
IF (NOT MSVC)
14-
ADD_DEFINITIONS("-UCUSTOMWIDGETS_EXPORT")
15-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
16-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
17-
ENDIF()
18-
ENDIF (NOT MSVC)
13+
REMOVE_DEFINITIONS("-DCUSTOMWIDGETS_EXPORT=${DLLIMPORT}")
1914
ADD_DEFINITIONS("\"-DCUSTOMWIDGETS_EXPORT=${DLLEXPORT}\"")
2015

2116
########################################################

‎src/gui/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -758,12 +758,7 @@ INCLUDE_DIRECTORIES(SYSTEM
758758
${GDAL_INCLUDE_DIR}
759759
)
760760

761-
IF (NOT MSVC)
762-
ADD_DEFINITIONS("-UGUI_EXPORT")
763-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
764-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
765-
ENDIF()
766-
ENDIF (NOT MSVC)
761+
REMOVE_DEFINITIONS("-DGUI_EXPORT=${DLLIMPORT}")
767762
ADD_DEFINITIONS("\"-DGUI_EXPORT=${DLLEXPORT}\"")
768763

769764
# disable deprecation warnings for classes re-exporting deprecated methods

‎src/python/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
IF (NOT MSVC)
2-
ADD_DEFINITIONS("-UPYTHON_EXPORT")
3-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
4-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
5-
ENDIF()
6-
ENDIF (NOT MSVC)
1+
REMOVE_DEFINITIONS("-DPYTHON_EXPORT=${DLLIMPORT}")
72
ADD_DEFINITIONS("\"-DPYTHON_EXPORT=${DLLEXPORT}\"")
83

94
SET(QGISPYTHON_SRCS qgispython.cpp qgspythonutilsimpl.cpp)

‎src/server/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,7 @@ SET(qgis_mapserv_SRCS ${qgis_mapserv_SRCS}
100100
)
101101
ENDIF (WITH_SERVER_PLUGINS)
102102

103-
IF (NOT MSVC)
104-
ADD_DEFINITIONS("-USERVER_EXPORT")
105-
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
106-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
107-
ENDIF()
108-
ENDIF (NOT MSVC)
103+
REMOVE_DEFINITIONS("-DSERVER_EXPORT=${DLLIMPORT}")
109104
ADD_DEFINITIONS("\"-DSERVER_EXPORT=${DLLEXPORT}\"")
110105

111106

5 commit comments

Comments
 (5)

m-kuhn commented on Jun 11, 2016

@m-kuhn
MemberAuthor

If this breaks Windows builds, feel free to revert

CC @jef-n @NathanW2

jef-n commented on Jun 11, 2016

@jef-n
Member

not sure about windows - but it does break builds on trusty, wily and jessie

m-kuhn commented on Jun 11, 2016

@m-kuhn
MemberAuthor

also with the followup commits?

jef-n commented on Jun 11, 2016

@jef-n
Member

with 1877bcd:
CMake Error at CMakeLists.txt:615 (cmake_policy): Policy "CMP0063" is not known to this version of CMake.
trusty has CMake 2.8.12.2

m-kuhn commented on Jun 11, 2016

@m-kuhn
MemberAuthor

I don't know this policy stuff good enough... If it's set to old, does it also complain? I just inserted the statement to shut up the warning, I don't think it makes a difference for us.

Please sign in to comment.