Skip to content
Snippets Groups Projects
Commit 364cd4e9 authored by Lars Bilke's avatar Lars Bilke Committed by Dmitri Naumov
Browse files

[CMake] Fixed macOS packaging.

Install required Conan libs into package.
Fixed Conan CMake variable typo.
parent 915ebaaa
No related branches found
No related tags found
No related merge requests found
...@@ -34,8 +34,3 @@ cpack_add_component(ogs_cli ...@@ -34,8 +34,3 @@ cpack_add_component(ogs_cli
DESCRIPTION "The command line interface for OpenGeoSys." DESCRIPTION "The command line interface for OpenGeoSys."
GROUP Applications GROUP Applications
) )
if(NOT APPLE AND OGS_PACKAGE_DEPENDENCIES)
include(packaging/InstallDependencies)
InstallDependencies(ogs)
endif()
...@@ -117,7 +117,3 @@ cpack_add_component(ogs_gui ...@@ -117,7 +117,3 @@ cpack_add_component(ogs_gui
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "DataExplorer" "OGS Data Explorer" PARENT_SCOPE) set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "DataExplorer" "OGS Data Explorer" PARENT_SCOPE)
set(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "bin/DataExplorer.exe" "Data Explorer" PARENT_SCOPE) set(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "bin/DataExplorer.exe" "Data Explorer" PARENT_SCOPE)
if(NOT APPLE AND OGS_PACKAGE_DEPENDENCIES)
include(packaging/InstallDependencies)
InstallDependencies(DataExplorer)
endif()
...@@ -163,7 +163,6 @@ option(OGS_SYNC_SUBMODULES "Sync git submodules on CMake run. Overwrites custom ...@@ -163,7 +163,6 @@ option(OGS_SYNC_SUBMODULES "Sync git submodules on CMake run. Overwrites custom
# Packaging # Packaging
option(OGS_DOWNLOAD_ADDITIONAL_CONTENT "Should additional content such as manuals be downloaded and packaged?" OFF) option(OGS_DOWNLOAD_ADDITIONAL_CONTENT "Should additional content such as manuals be downloaded and packaged?" OFF)
option(OGS_PACKAGE_DEPENDENCIES "Packages shared libraries when enabled." OFF)
include(scripts/cmake/packaging/Pack.cmake) include(scripts/cmake/packaging/Pack.cmake)
# Third-party libraries, names come from Conan package names # Third-party libraries, names come from Conan package names
......
...@@ -109,9 +109,6 @@ find_package(Metis QUIET) ...@@ -109,9 +109,6 @@ find_package(Metis QUIET)
## Qt5 library ## ## Qt5 library ##
if(OGS_BUILD_GUI) if(OGS_BUILD_GUI)
if(USE_CONAN)
set(Qt5_DIR ${CONAN_QT_ROOT}/lib/cmake/Qt5)
endif()
find_package(Qt5 5.2 REQUIRED Gui Widgets Xml XmlPatterns) find_package(Qt5 5.2 REQUIRED Gui Widgets Xml XmlPatterns)
cmake_policy(SET CMP0020 NEW) cmake_policy(SET CMP0020 NEW)
set(CMAKE_AUTOMOC TRUE) set(CMAKE_AUTOMOC TRUE)
......
...@@ -9,7 +9,7 @@ endif() ...@@ -9,7 +9,7 @@ endif()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
if(USE_CONAN AND MSVC) if(OGS_USE_CONAN AND MSVC)
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
......
macro(InstallDependencies TARGET)
set(EXCLUDE_SYSTEM 1)
get_target_property(EXE_DIR ${TARGET} RUNTIME_OUTPUT_DIRECTORY)
set(TARGET_EXE ${EXE_DIR}/${TARGET}${CMAKE_EXECUTABLE_SUFFIX})
# Run CMake again after target was built to collect dependencies
add_custom_command(TARGET ${TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} . -DPRE_INSTALL_RUN=ON
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
if(EXISTS ${TARGET_EXE})
include(GetPrerequisites)
set(dirs ${CONAN_BIN_DIRS})
if(VTK_BUILD_SHARED_LIBS)
list(APPEND dirs ${vtkIOXML_RUNTIME_LIBRARY_DIRS})
endif()
if(NOT WIN32)
list(APPEND dirs "/usr/local/lib")
endif()
get_prerequisites(${TARGET_EXE} TARGET_DEPENDENCIES ${EXCLUDE_SYSTEM} 1 "" "${dirs}")
if(PRE_INSTALL_RUN)
message("-- Dependencies of target ${TARGET}:")
endif()
foreach(DEPENDENCY ${TARGET_DEPENDENCIES})
if(NOT ${DEPENDENCY} MATCHES "@loader_path")
gp_resolve_item("${TARGET_EXE}" "${DEPENDENCY}" "" "${dirs}" DEPENDENCY_PATH)
get_filename_component(RESOLVED_DEPENDENCY_PATH "${DEPENDENCY_PATH}" REALPATH)
string(TOLOWER ${DEPENDENCY} DEPENDENCY_LOWER)
set(DEPENDENCY_PATHS ${DEPENDENCY_PATHS} ${RESOLVED_DEPENDENCY_PATH})
if(PRE_INSTALL_RUN)
message(" ${RESOLVED_DEPENDENCY_PATH}")
endif()
endif()
endforeach()
if(PRE_INSTALL_RUN)
message("")
endif()
install(FILES ${DEPENDENCY_PATHS} DESTINATION bin)
endif()
endmacro()
...@@ -102,7 +102,7 @@ cpack_add_component(ogs_docs ...@@ -102,7 +102,7 @@ cpack_add_component(ogs_docs
GROUP Utilities GROUP Utilities
) )
if(USE_CONAN) if(OGS_USE_CONAN)
# Install shared libraries, copied to bin-dir # Install shared libraries, copied to bin-dir
foreach(PATTERN "*.dll" "*.dylib") foreach(PATTERN "*.dll" "*.dylib")
file(GLOB MATCHED_FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PATTERN}) file(GLOB MATCHED_FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PATTERN})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment