mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
add cmake QGIS_MACAPP_FRAMEWORK option
This commit is contained in:
parent
26361a980c
commit
50a98367c5
@ -729,8 +729,12 @@ if (WITH_CORE)
|
||||
set (DEFAULT_CGIBIN_SUBDIR .)
|
||||
endif()
|
||||
else()
|
||||
|
||||
if (APPLE)
|
||||
|
||||
if(APPLE)
|
||||
set(QGIS_MACAPP_FRAMEWORK TRUE CACHE BOOL "Build as a framework on OSX")
|
||||
endif()
|
||||
|
||||
if (APPLE AND QGIS_MACAPP_FRAMEWORK)
|
||||
if (POLICY CMP0042) # in CMake 3.0.0+
|
||||
set (CMAKE_MACOSX_RPATH OFF) # otherwise ON by default
|
||||
endif()
|
||||
@ -803,6 +807,13 @@ if (WITH_CORE)
|
||||
set (DEFAULT_QML_SUBDIR qml)
|
||||
|
||||
set (DEFAULT_SERVER_MODULE_SUBDIR ${DEFAULT_LIBEXEC_SUBDIR}/server)
|
||||
|
||||
# QGIS_MACAPP_FRAMEWORK=FALSE
|
||||
if(APPLE)
|
||||
set (QGIS_MACAPP_BUNDLE -1)
|
||||
set (CMAKE_FRAMEWORK FALSE)
|
||||
set (QGIS_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
@ -221,7 +221,7 @@ endif()
|
||||
|
||||
set(QGIS_3D_HDRS ${QGIS_3D_HDRS} ${CMAKE_CURRENT_BINARY_DIR}/qgis_3d.h)
|
||||
|
||||
if(NOT APPLE)
|
||||
if(NOT APPLE OR NOT QGIS_MACAPP_FRAMEWORK)
|
||||
install(FILES ${QGIS_3D_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
else()
|
||||
set_target_properties(qgis_3d PROPERTIES
|
||||
|
@ -462,7 +462,7 @@ endif()
|
||||
|
||||
set(QGIS_ANALYSIS_HDRS ${QGIS_ANALYSIS_HDRS} ${CMAKE_CURRENT_BINARY_DIR}/qgis_analysis.h)
|
||||
|
||||
if(NOT APPLE)
|
||||
if(NOT APPLE OR NOT QGIS_MACAPP_FRAMEWORK)
|
||||
install(FILES ${QGIS_ANALYSIS_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
else()
|
||||
set_target_properties(qgis_analysis PROPERTIES
|
||||
|
@ -1813,7 +1813,7 @@ if(HAVE_OPENCL)
|
||||
endif()
|
||||
|
||||
|
||||
if(NOT APPLE)
|
||||
if(NOT APPLE OR NOT QGIS_MACAPP_FRAMEWORK)
|
||||
install(FILES ${QGIS_CORE_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
else()
|
||||
|
||||
|
@ -1421,11 +1421,12 @@ GENERATE_EXPORT_HEADER(
|
||||
|
||||
set(QGIS_GUI_HDRS ${QGIS_GUI_HDRS} ${CMAKE_CURRENT_BINARY_DIR}/qgis_gui.h)
|
||||
|
||||
if(NOT APPLE)
|
||||
if(NOT APPLE OR NOT QGIS_MACAPP_FRAMEWORK)
|
||||
if (WIN32 )
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/native/win)
|
||||
endif()
|
||||
if (UNIX)
|
||||
elseif (APPLE)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/native/mac)
|
||||
elseif (UNIX)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/native/linux)
|
||||
endif()
|
||||
install(FILES ${QGIS_GUI_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
@ -1508,7 +1509,7 @@ install(TARGETS qgis_gui
|
||||
PUBLIC_HEADER DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
|
||||
# ui headers to install, don't exist at target definition time, install manually
|
||||
if (APPLE)
|
||||
if (APPLE AND QGIS_MACAPP_FRAMEWORK)
|
||||
install(FILES ${QGIS_GUI_UI_HDRS} DESTINATION ${QGIS_FW_SUBDIR}/qgis_gui.framework/Headers)
|
||||
else()
|
||||
install(FILES ${QGIS_GUI_UI_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
|
@ -107,7 +107,7 @@ GENERATE_EXPORT_HEADER(
|
||||
|
||||
set(QGIS_NATIVE_HDRS ${QGIS_NATIVE_HDRS} ${CMAKE_CURRENT_BINARY_DIR}/qgis_native.h)
|
||||
|
||||
if(NOT APPLE)
|
||||
if(NOT APPLE OR NOT QGIS_MACAPP_FRAMEWORK)
|
||||
install(FILES ${QGIS_NATIVE_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
else()
|
||||
set_target_properties(qgis_native PROPERTIES
|
||||
|
@ -79,7 +79,7 @@ macro(ADD_GRASSLIB GRASS_BUILD_VERSION)
|
||||
|
||||
set_target_properties(qgisgrass${GRASS_BUILD_VERSION} PROPERTIES
|
||||
CLEAN_DIRECT_OUTPUT 1
|
||||
FRAMEWORK 1
|
||||
FRAMEWORK QGIS_MACAPP_FRAMEWORK
|
||||
FRAMEWORK_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}"
|
||||
MACOSX_FRAMEWORK_INFO_PLIST "${CMAKE_SOURCE_DIR}/mac/framework.info.plist.in"
|
||||
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${COMPLETE_VERSION}
|
||||
|
@ -98,7 +98,7 @@ GENERATE_EXPORT_HEADER(
|
||||
)
|
||||
|
||||
# Installation
|
||||
if(NOT APPLE)
|
||||
if(NOT APPLE OR NOT QGIS_MACAPP_FRAMEWORK)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qgis_quick.h ${QGIS_QUICK_GUI_HDRS} ${QGIS_QUICK_GUI_MOC_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
else()
|
||||
set_target_properties(qgis_quick PROPERTIES
|
||||
|
Loading…
x
Reference in New Issue
Block a user