diff --git a/CMakeLists.txt b/CMakeLists.txt index a74c433bec4..d0442805b97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -440,6 +440,13 @@ ELSE (WIN32) IF (WITH_GLOBE) SET (OSG_PLUGINS_PATH "" CACHE PATH "Path to OSG plugins for bundling") ENDIF (WITH_GLOBE) + # recent cmakes force SDKs, recent SDKs don't have user symlinks + # need to find non-system frameworks + # cmake bug #0007250 - CMAKE_SHARED_LINKER_FLAGS ignored when creating + # a framework, so these need to be manually handled with LINK_FLAGS options + SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -F/Library/Frameworks") + SET (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -F/Library/Frameworks") + SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -F/Library/Frameworks") ELSE (APPLE) # UNIX diff --git a/src/analysis/CMakeLists.txt b/src/analysis/CMakeLists.txt index b96ac1912d3..4ee89b49a61 100644 --- a/src/analysis/CMakeLists.txt +++ b/src/analysis/CMakeLists.txt @@ -155,6 +155,7 @@ ELSE(NOT APPLE) MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_analysis BUILD_WITH_INSTALL_RPATH TRUE PUBLIC_HEADER "${QGIS_ANALYSIS_HDRS}" + LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" ) ENDIF(NOT APPLE) diff --git a/src/analysis/network/CMakeLists.txt b/src/analysis/network/CMakeLists.txt index 26958bf032c..fc4e1c7c279 100644 --- a/src/analysis/network/CMakeLists.txt +++ b/src/analysis/network/CMakeLists.txt @@ -56,6 +56,7 @@ ELSE(NOT APPLE) MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_networkanalysis BUILD_WITH_INSTALL_RPATH TRUE PUBLIC_HEADER "${QGIS_NETWORK_ANALYSIS_HDRS};${QGIS_NETWORK_ANALYSIS_MOC_HDRS}" + LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" ) ENDIF(NOT APPLE) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index f4cb424f940..d50eab01159 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -592,6 +592,7 @@ ELSE(NOT APPLE) MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_core BUILD_WITH_INSTALL_RPATH TRUE PUBLIC_HEADER "${QGIS_CORE_HDRS};${QGIS_CORE_MOC_HDRS}" + LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" ) ENDIF(NOT APPLE) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index ce2c15b0601..9cc65bb122a 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -378,6 +378,7 @@ ELSE(NOT APPLE) MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_gui BUILD_WITH_INSTALL_RPATH TRUE PUBLIC_HEADER "${QGIS_GUI_HDRS};${QGIS_GUI_MOC_HDRS}" + LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" ) ENDIF(NOT APPLE) diff --git a/src/providers/grass/CMakeLists.txt b/src/providers/grass/CMakeLists.txt index 03e2d1a1246..3eecae20f60 100644 --- a/src/providers/grass/CMakeLists.txt +++ b/src/providers/grass/CMakeLists.txt @@ -29,6 +29,12 @@ SET_TARGET_PROPERTIES(qgisgrass PROPERTIES MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_grass COMPILE_FLAGS "\"-DGRASS_LIB_EXPORT=${DLLEXPORT}\" \"-DGRASS_EXPORT=${DLLIMPORT}\"" ) +IF (APPLE) + SET_TARGET_PROPERTIES(qgisgrass PROPERTIES + LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" + ) +ENDIF (APPLE) + #generate unversioned libs for android IF (NOT ANDROID) SET_TARGET_PROPERTIES(qgisgrass PROPERTIES diff --git a/src/providers/sqlanywhere/sqlanyconnection/CMakeLists.txt b/src/providers/sqlanywhere/sqlanyconnection/CMakeLists.txt index 2a9914c66da..b84a7c15fcd 100644 --- a/src/providers/sqlanywhere/sqlanyconnection/CMakeLists.txt +++ b/src/providers/sqlanywhere/sqlanyconnection/CMakeLists.txt @@ -35,6 +35,12 @@ SET_TARGET_PROPERTIES(qgissqlanyconnection PROPERTIES MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${COMPLETE_VERSION} MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_sqlanyconnection) +IF (APPLE) + SET_TARGET_PROPERTIES(qgissqlanyconnection PROPERTIES + LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" + ) +ENDIF (APPLE) + #generate unversioned libs for android IF (NOT ANDROID) SET_TARGET_PROPERTIES(qgissqlanyconnection PROPERTIES