Mercurial > clickerconvert
view src/CMakeLists.txt @ 98:dd322a4b90d9 tip
Fix resource finding and installation
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 07 Oct 2016 12:44:50 +0200 |
parents | 5d78e980a433 |
children |
line wrap: on
line source
# Copyright (C) 2016 by ETH Zürich # Software engineering by Intevation GmbH # # This file is Free Software under the GNU GPL (v>=2) # and comes with ABSOLUTELY NO WARRANTY! # See LICENSE.txt for details. include_directories(${Qt5Core_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) add_subdirectory(xlsx) include_directories(xlsx) set(APPLICATION_SRC main.cpp converter.cpp strhelp.c cconvert_options.h icons/icon.rc filenamerequester.cpp mainwindow.cpp replacements.ini ) find_package(Qt5LinguistTools) if(Qt5LinguistTools_FOUND) set(FILES_TO_TRANSLATE ${APPLICATION_SRC} ) # Include translation as a resource # This works in the source directory to enable the rcc dependencies to be found # and it also updates the currently available localization. configure_file(l10n/l10n.qrc.in l10n.qrc) qt5_add_resources(APPLICATION_SRC ${CMAKE_CURRENT_BINARY_DIR}/l10n.qrc) qt5_create_translation(TRANSLATION_SRC ${FILES_TO_TRANSLATE} ${CMAKE_CURRENT_SOURCE_DIR}/l10n/main_de_DE.ts) endif() qt5_add_resources(APPLICATION_SRC icons/icons.qrc) # See: https://bugreports.qt-project.org/browse/QTBUG-35918 # extra static libs should be automatically managed but they # are not so we make this here explicitly neccessary. # The list is taken from the libs/*.prl file if(APPLE) set(GUI_TYPE MACOSX_BUNDLE) include_directories ( /Developer/Headers/FlatCarbon ) find_library(COCOA_LIBRARAY Cocoa) find_library(CARBON_LIBRARY Carbon) find_library(APP_SERVICES_LIBRARY ApplicationServices) find_library(FOUNDATION_LIBRARAY Foundation) find_library(CORE_SERVICES_LIBRARAY CoreServices) find_library(CORE_FOUNDATION_LIBRARY CoreFoundation) find_library(OPENGL_LIBRARAY OpenGL) find_library(AGL_LIBRARY AGL) find_library(IOKIT_LIBRARY IOKit) get_target_property(_loc Qt5::Widgets LOCATION) get_filename_component(_qtpath ${_loc} PATH) set(MAC_EXTRA_LIBS -L${_qtpath} -lQt5Gui -lQt5Core -lQt5PlatformSupport -lQt5PrintSupport -lz -lm ${APP_SERVICES_LIBRARY} ${FOUNDATION_LIBRARAY} ${CORE_FOUNDATION_LIBRARY} ${COCOA_LIBRARAY} ${CORE_SERVICES_LIBRARAY} ${OPENGL_LIBRARAY} ${AGL_LIBRARY} ${CARBON_LIBRARY} ${IOKIT_LIBRARY} -lqtharfbuzzng -lz -lcups) set(EXTRA_STATIC_LIBS Qt5::QCocoaIntegrationPlugin ${MAC_EXTRA_LIBS} ) set (_add_executable_params MACOSX_BUNDLE) SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app") SET(MACOSX_BUNDLE_ICON_FILE icon.icns) SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/icons/icon.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources) SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/replacements.ini PROPERTIES MACOSX_PACKAGE_LOCATION Resources) SET(APPLICATION_SRC ${APPLICATION_SRC} ${CMAKE_CURRENT_SOURCE_DIR}/icons/icon.icns) SET(MACOS_INFO_STRING "Tool to convert EduApp questionaires.") SET(MACOS_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in) SET(MACOSX_BUNDLE_NAME "EduExportConvert") SET(MACOSX_BUNDLE_GUI_IDENTIFIER "EduExportConvert") SET(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}) SET(MACOSX_BUNDLE_BUNDLE_VERSION_STRING "${PROJECT_VERSION}") SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}") SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}") set(MACOSX_BUNDLE_COPYRIGHT "Copyright (C) 2016 by ETH Zürich\nSoftware engineering by Intevation GmbH") endif() if (WIN32) get_target_property(_loc Qt5::Widgets LOCATION) get_filename_component(_qtpath ${_loc} PATH) set (_add_executable_params WIN32) set(EXTRA_STATIC_LIBS -L${_qtpath} Qt5::QWindowsIntegrationPlugin -lwinspool -lshlwapi -lQt5PlatformSupport -lQt5Gui -lcomdlg32 -loleaut32 -limm32 -lwinmm -lglu32 -lopengl32 -lgdi32 -lQt5Core -lole32 -lmstask -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lqtfreetype -lqtharfbuzzng -lpcre16) endif() add_executable(${PROJECT_NAME} ${_add_executable_params} ${APPLICATION_SRC} ${TRANSLATION_SRC} ) target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::PrintSupport ${PROJECT_NAME}_libqtxslx ${EXTRA_STATIC_LIBS} ) if (WIN32) set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-municode") endif(WIN32) install(TARGETS ${PROJECT_NAME} DESTINATION bin BUNDLE DESTINATION .) if(APPLE) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE TRUE) install(CODE " include(BundleUtilities) fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\") " COMPONENT Runtime) endif() set(CPACK_BINARY_DRAGNDROP ON) include(CPack)