Skip to content

Commit

Permalink
CPack configured completely
Browse files Browse the repository at this point in the history
  • Loading branch information
Joachim Langenbach authored and nbergont committed Apr 1, 2014
1 parent bd1ad0e commit 8da16bd
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 173 deletions.
192 changes: 38 additions & 154 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ SET(${PROJECT_NAME}_VERSION
# Extending the Module path with the local module path of desuto
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )

OPTION(BUILD_DEV "Build development version of qgv" ON)
OPTION(BUILD_DEBUG "Build in debug mode" ON)
OPTION(BINDINGS_QT4 "Build with Qt4" OFF)
OPTION(BINDINGS_QT5 "Build with Qt5" OFF)
SET(BUILD_DEV ON)

SET(BUILD_DEBUG_WANTED ${BUILD_DEBUG})
SET(BUILD_DEV_WANTED ${BUILD_DEV})
Expand Down Expand Up @@ -162,24 +162,16 @@ MESSAGE("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
MESSAGE("")
MESSAGE("OPTIONS:")
MESSAGE(" Name Wanted Used")
MESSAGE(" BUILD_PACKAGE: ${BUILD_PACKAGE_WANTED} ${BUILD_PACKAGE}")
# MESSAGE(" BUILD_PACKAGE: ${BUILD_PACKAGE_WANTED} ${BUILD_PACKAGE}")
MESSAGE(" BUILD_DEBUG: ${BUILD_DEBUG_WANTED} ${BUILD_DEBUG}")
MESSAGE(" BUILD_TESTING: ${BUILD_TESTING_WANTED} ${BUILD_TESTING}")
# MESSAGE(" BUILD_TESTING: ${BUILD_TESTING_WANTED} ${BUILD_TESTING}")
MESSAGE(" BUILD_DEV: ${BUILD_DEV} ${BUILD_DEV}")
MESSAGE(" WITH_DAEMON: ${WITH_DAEMON_WANTED} ${WITH_DAEMON}")
MESSAGE(" WITH_STANDARDS: ${WITH_STANDARDS_WANTED} ${WITH_STANDARDS}")
MESSAGE(" WITH_STRENGTH: ${WITH_STRENGTH_WANTED} ${WITH_STRENGTH}")
MESSAGE(" WITH_MORPHBOX: ${WITH_MORPHBOX_WANTED} ${WITH_MORPHBOX}")
MESSAGE(" WITH_CE_WANTED: ${WITH_CE_WANTED} ${WITH_CE}")
MESSAGE(" WITH_CONSTRUCTIONKIT: ${WITH_CONSTRUCTIONKIT_WANTED} ${WITH_CONSTRUCTIONKIT}")
MESSAGE(" WITH_REGMAN: ${WITH_REGMAN_WANTED} ${WITH_REGMAN}")
MESSAGE(" WITH_FUNCMO: ${WITH_FUNCMO_WANTED} ${WITH_FUNCMO}")
MESSAGE(" WITH_COMP_BINARY: ${WITH_COMP_BINARY_WANTED} ${WITH_COMP_BINARY}")
MESSAGE(" WITH_COMP_WEPO: ${WITH_COMP_WEPO_WANTED} ${WITH_COMP_WEPO}")
MESSAGE(" L10N_ALL: ${L10N_ALL_WANTED} ${L10N_ALL}")
MESSAGE(" L10N_DE: ${L10N_DE_WANTED} ${L10N_DE}")
MESSAGE(" L10N_EN: ${L10N_EN_WANTED} ${L10N_EN}")
MESSAGE(" L10N_FR: ${L10N_FR_WANTED} ${L10N_FR}")
MESSAGE(" BINDINGS_QT4: ${BINDINGS_QT4_WANTED} ${BINDINGS_QT4}")
MESSAGE(" BINDINGS_QT5: ${BINDINGS_QT5_WANTED} ${BINDINGS_QT5}")
# MESSAGE(" L10N_ALL: ${L10N_ALL_WANTED} ${L10N_ALL}")
# MESSAGE(" L10N_DE: ${L10N_DE_WANTED} ${L10N_DE}")
# MESSAGE(" L10N_EN: ${L10N_EN_WANTED} ${L10N_EN}")
# MESSAGE(" L10N_FR: ${L10N_FR_WANTED} ${L10N_FR}")
MESSAGE("")
MESSAGE("######################################################")

Expand Down Expand Up @@ -215,174 +207,66 @@ SET(CPACK_PACKAGE_INSTALL_DIRECTORY "qgv")
IF(WIN32)
SET(external_DLL
qtlibs
graphvizlibs
)
ENDIF(WIN32)

SET(CPACK_COMPONENTS_ALL
library
${external_DLL}
headerfiles
sample
)

# License file
SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.txt)

# Pre selected installation profiles
SET(CPACK_ALL_INSTALL_TYPES Full Client Daemon)
SET(CPACK_ALL_INSTALL_TYPES Full Minimal)

# groups for components
SET(CPACK_COMPONENT_GROUP_BASE_DISPLAY_NAME "Base")
SET(CPACK_COMPONENT_GROUP_BASE_DESCRIPTION "The base components needed by most installation scenarios")
IF(WITH_DAEMON)
SET(CPACK_COMPONENT_GROUP_DAEMON_DISPLAY_NAME "Daemon")
SET(CPACK_COMPONENT_GROUP_DAEMON_DESCRIPTION "This components provide stuff which needs background running")
ENDIF(WITH_DAEMON)
SET(CPACK_COMPONENT_GROUP_MODULES_DISPLAY_NAME "Modules")
SET(CPACK_COMPONENT_GROUP_MODULES_DESCRIPTION "The modules which can be used with DeSuTo")
SET(CPACK_COMPONENT_GROUP_3RDPARTYLIBS_DISPLAY_NAME "3rd Party Libraries")
SET(CPACK_COMPONENT_GROUP_3RDPARTYLIBS_DESCRIPTION "3rd Party libraries which are needed to run DeSuTo and or modules. They are only needed if they are not already exist in PATH")

SET(CPACK_COMPONENT_GROUP_3RDPARTYLIBS_DESCRIPTION "Libraries which are needed, but not belonging to this project. They must not be installed, if they are already installed at path")

# the scheme of the variable names are: CPACK_COMPNONENT_%COMPONENTNAMEINUPPERCASE%_DISPLAY_NAME
# where %COMPONENTNAMEINUPPERCASE% must be replaced by the upper cased name of the component
# see below for example
SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "LibDeSuTo")
SET(CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "QGV")
SET(CPACK_COMPONENT_LIBRARY_DESCRIPTION
"The library of the DeSuTo project provides components which are used by every module and the applications")
SET(CPACK_COMPONENT_LIBRARY_GROUP "Base")
SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Full Client Daemon)
"The qgv library")
# SET(CPACK_COMPONENT_LIBRARY_GROUP "Base")
SET(CPACK_COMPONENT_LIBRARY_INSTALL_TYPES Full Minimal)

IF(BUILD_DEV)
SET(CPACK_COMPONENT_HEADERFILES_DISPLAY_NAME "Header files")
SET(CPACK_COMPONENT_HEADERFILES_DESCRIPTION
"Header files of qgv library")
SET(CPACK_COMPONENT_HEADERFILES_DEPENDS library)
SET(CPACK_COMPONENT_HEADERFILES_INSTALL_TYPES Full)
ENDIF(BUILD_DEV)

SET(CPACK_COMPONENT_QTLIBS_DISPLAY_NAME "QT")
SET(CPACK_COMPONENT_QTLIBS_DESCRIPTION
"Libraries which are needed, but not belonging to this project. They must not be installed, if they are already installed at path")
"Qt libraries")
SET(CPACK_COMPONENT_QTLIBS_GROUP "3rdPartyLibs")
SET(CPACK_COMPONENT_QTLIBS_INSTALL_TYPES Full Client Daemon)

SET(CPACK_COMPONENT_MYSQLLIBS_DISPLAY_NAME "Mysql-QT-Plugin")
SET(CPACK_COMPONENT_MYSQLLIBS_DESCRIPTION
"Libraries which are needed, but not belonging to this project. This libs are needed, if you want to connect to a MySQL-Server")
SET(CPACK_COMPONENT_MYSQLLIBS_GROUP "3rdPartyLibs")
SET(CPACK_COMPONENT_MYSQLLIBS_INSTALL_TYPES Full Client Daemon)

SET(CPACK_COMPONENT_APPLICATION_DISPLAY_NAME "DeSuTo Application")
SET(CPACK_COMPONENT_APPLICATION_DESCRIPTION
"The main application of the DeSuTo application. It provides a GUI-frame for all modules")
SET(CPACK_COMPONENT_APPLICATION_GROUP "Base")
SET(CPACK_COMPONENT_APPLICATION_DEPENDS library)
SET(CPACK_COMPONENT_APPLICATION_INSTALL_TYPES Full Client)

IF(WITH_DAEMON)
SET(CPACK_COMPONENT_SYSTRAY_DISPLAY_NAME "DeSuToDaeomen")
SET(CPACK_COMPONENT_SYSTRAY_DESCRIPTION
"System tray tool to run some tasks at the background")
SET(CPACK_COMPONENT_SYSTRAY_GROUP "Daemon")
SET(CPACK_COMPONENT_SYSTRAY_DEPENDS library)
SET(CPACK_COMPONENT_SYSTRAY_INSTALL_TYPES Full Daemon)
ENDIF(WITH_DAEMON)

IF(WITH_CE)
SET(CPACK_COMPONENT_MODULECE_DISPLAY_NAME "DeSuToCE")
SET(CPACK_COMPONENT_MODULECE_DESCRIPTION
"Module to help with CE-Marking")
SET(CPACK_COMPONENT_MODULECE_GROUP "Modules")
SET(CPACK_COMPONENT_MODULECE_DEPENDS library)
SET(CPACK_COMPONENT_MODULECE_INSTALL_TYPES Full Client Daemon)
ENDIF(WITH_CE)

IF(WITH_CONSTRUCTIONKIT)
SET(CPACK_COMPONENT_MODULECONSTRUCTIONKIT_DISPLAY_NAME "DeSuToConstructionKit")
SET(CPACK_COMPONENT_MODULECONSTRUCTIONKIT_DESCRIPTION
"Module to create construction kits")
SET(CPACK_COMPONENT_MODULECONSTRUCTIONKIT_GROUP "Modules")
SET(CPACK_COMPONENT_MODULECONSTRUCTIONKIT_DEPENDS library)
SET(CPACK_COMPONENT_MODULECONSTRUCTIONKIT_INSTALL_TYPES Full Client)
ENDIF(WITH_CONSTRUCTIONKIT)

IF(WITH_STANDARDS)
SET(CPACK_COMPONENT_MODULESTANDARDS_DISPLAY_NAME "Standards Management")
SET(CPACK_COMPONENT_MODULESTANDARDS_DESCRIPTION
"Manage standards like DIN, DIN EN, DIN ISO, ISO, ...")
SET(CPACK_COMPONENT_MODULESTANDARDS_GROUP "Modules")
SET(CPACK_COMPONENT_MODULESTANDARDS_DEPENDS library)
SET(CPACK_COMPONENT_MODULESTANDARDS_INSTALL_TYPES Full Client Daemon)
ENDIF(WITH_STANDARDS)
SET(CPACK_COMPONENT_QTLIBS_INSTALL_TYPES Full)

IF(WITH_REGMAN)
SET(CPACK_COMPONENT_MODULEREGMAN_DISPLAY_NAME "Registry Manager")
SET(CPACK_COMPONENT_MODULEREGMAN_DESCRIPTION
"Support's the engineer developing registers.")
SET(CPACK_COMPONENT_MODULEREGMAN_GROUP "Modules")
SET(CPACK_COMPONENT_MODULEREGMAN_DEPENDS library)
SET(CPACK_COMPONENT_MODULEREGMAN_INSTALL_TYPES Full Client)
ENDIF(WITH_REGMAN)
SET(CPACK_COMPONENT_GRAPHVIZLIBS_DISPLAY_NAME "Graphviz")
SET(CPACK_COMPONENT_GRAPHVIZLIBS_DESCRIPTION
"Graphviz libraries")
SET(CPACK_COMPONENT_GRAPHVIZLIBS_GROUP "3rdPartyLibs")
SET(CPACK_COMPONENT_GRAPHVIZLIBS_INSTALL_TYPES Full)

IF(WITH_INTERNAL_PDF_VIEWER)
SET(CPACK_COMPONENT_POPPLER_DISPLAY_NAME "Poppler")
SET(CPACK_COMPONENT_POPPLER_DESCRIPTION
"Libraries which are needed, but not belonging to this project. The must not be installed, if they are already installed at path")
SET(CPACK_COMPONENT_POPPLER_GROUP "3rdPartyLibs")
SET(CPACK_COMPONENT_POPPLER_INSTALL_TYPES Full Client Daemon)
ENDIF(WITH_INTERNAL_PDF_VIEWER)

IF(WITH_STRENGTH)
SET(CPACK_COMPONENT_MODULESTRENGTH_DISPLAY_NAME "DeSuToStrength")
SET(CPACK_COMPONENT_MODULESTRENGTH_DESCRIPTION
"Allows to calculate some machine elements")
SET(CPACK_COMPONENT_MODULESTRENGTH_GROUP "Modules")
SET(CPACK_COMPONENT_MODULESTRENGTH_DEPENDS library)
SET(CPACK_COMPONENT_MODULESTRENGTH_INSTALL_TYPES Full Client)
ENDIF(WITH_STRENGTH)

IF(WITH_MORPHBOX)
SET(CPACK_COMPONENT_MODULEMORPHBOX_DISPLAY_NAME "Morphological Boxes")
SET(CPACK_COMPONENT_MODULEMORPHBOX_DESCRIPTION
"Supports the use of morphological boxes to find many good variants.")
SET(CPACK_COMPONENT_MODULEMORPHBOX_GROUP "Modules")
SET(CPACK_COMPONENT_MODULEMORPHBOX_DEPENDS library)
SET(CPACK_COMPONENT_MODULEMORPHBOX_INSTALL_TYPES Full Client)
ENDIF(WITH_MORPHBOX)

IF(WITH_FUNCMO)
SET(CPACK_COMPONENT_MODULEFUNCMO_DISPLAY_NAME "Function Modeler")
SET(CPACK_COMPONENT_MODULEFUNCMO_DESCRIPTION
"Allows to model the function structure of your development object.")
SET(CPACK_COMPONENT_MODULEFUNCMO_GROUP "Modules")
SET(CPACK_COMPONENT_MODULEFUNCMO_DEPENDS library)
SET(CPACK_COMPONENT_MODULEFUNCMO_INSTALL_TYPES Full Client)
ENDIF(WITH_FUNCMO)

IF(WITH_COMP_BINARY)
SET(CPACK_COMPONENT_MODULECOMPBINARY_DISPLAY_NAME "Binary Comparison")
SET(CPACK_COMPONENT_MODULECOMPBINARY_DESCRIPTION
"Compare several alterantives (called options in DeSuTo) easily and fast with binary values.")
SET(CPACK_COMPONENT_MODULECOMPBINARY_GROUP "Modules")
SET(CPACK_COMPONENT_MODULECOMPBINARY_DEPENDS library)
SET(CPACK_COMPONENT_MODULECOMPBINARY_INSTALL_TYPES Full Client)
ENDIF(WITH_COMP_BINARY)

IF(WITH_COMP_WEPO)
SET(CPACK_COMPONENT_MODULECOMPWEPO_DISPLAY_NAME "Weighted Points Comparisons")
SET(CPACK_COMPONENT_MODULECOMPWEPO_DESCRIPTION
"Compare several alterantives (called options in DeSuTo) detailed with weighted points.")
SET(CPACK_COMPONENT_MODULECOMPWEPO_GROUP "Modules")
SET(CPACK_COMPONENT_MODULECOMPWEPO_DEPENDS library)
SET(CPACK_COMPONENT_MODULECOMPWEPO_INSTALL_TYPES Full Client)
ENDIF(WITH_COMP_WEPO)
SET(CPACK_COMPONENT_SAMPLE_DISPLAY_NAME "Sample")
SET(CPACK_COMPONENT_SAMPLE_DESCRIPTION
"Example application")
SET(CPACK_COMPONENT_SAMPLE_DEPENDS library)
SET(CPACK_COMPONENT_SAMPLE_INSTALL_TYPES Full)

# used by NSIS to create startmenu links to the executables
# this entrys are only useful if a bin folder is used, otherwise use the empty EXECUTABLES
# and fill out the NSIS_MENU_LINKS
#SET(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "desuto" "DeSuTo")
#SET(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "desutodaemon" "DeSuToDaemon")
SET(CPACK_PACKAGE_EXECUTABLES "" "")

SET(CPACK_NSIS_MENU_LINKS "epartexe.exe \\\"desuto\\\"" "DeSuTo")
IF(WITH_DAEMON)
SET(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "desutodaemon.exe" "DeSuToDaemon")
ENDIF(WITH_DAEMON)
# IF(WITH_REGMAN)
# SET(CPACK_NSIS_MENU_LINKS ${CPACK_NSIS_MENU_LINKS} "epartexe.exe libregman.so" "RegMan")
# ENDIF(WITH_REGMAN)
SET(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "Sample" "Sample")

# This must always be last!
INCLUDE(CPack)
41 changes: 22 additions & 19 deletions QGVCore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,32 +105,35 @@ IF(WIN32)
# INSTALL(FILES ${QUAZIP_LIBRARIES} ${PACK_zlib} DESTINATION ${bin_DIR} COMPONENT library)

# Qt itself
# FIND_FILE(PACK_qtcore QtCore4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
# FIND_FILE(PACK_qtgui QtGui4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
# FIND_FILE(PACK_qtnetwork QtNetwork4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
# FIND_FILE(PACK_qtsql QtSql4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
# FIND_FILE(PACK_qtxml QtXml4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
# FIND_FILE(PACK_qtxml_patterns QtXmlPatterns4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
FIND_FILE(PACK_qtcore QtCore4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
FIND_FILE(PACK_qtgui QtGui4.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)

# FIND_FILE(PACK_mingwm10 mingwm10.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
# FIND_FILE(PACK_libgcc_s_dw libgcc_s_dw2-1.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
FIND_FILE(PACK_mingwm10 mingwm10.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)
FIND_FILE(PACK_libgcc_s_dw libgcc_s_dw2-1.dll PATHS ${QT_BINARY_DIR} NO_DEFAULT_PATH)

# INSTALL(
# FILES
# ${PACK_qtcore}
# ${PACK_qtgui}
INSTALL(
FILES
${PACK_qtcore}
${PACK_qtgui}
# ${PACK_qtnetwork}
# ${PACK_qtsql}
# ${PACK_libmysql}
# ${PACK_qtxml}
# ${PACK_qtxml_patterns}
# ${PACK_mingwm10}
# ${PACK_libgcc_s_dw}
# ${LIBENGSAS_LIBRARIES}
# ${LIBENGSAS_EPARTEXE}
# DESTINATION ${bin_DIR}
# COMPONENT qtlibs
# )
${PACK_mingwm10}
${PACK_libgcc_s_dw}
DESTINATION ${bin_DIR}
COMPONENT qtlibs
)

INSTALL(
FILES
${GRAPHVIZ_GVC_LIBRARY}
${GRAPHVIZ_CGRAPH_LIBRARY}
${GRAPHVIZ_CDT_LIBRARY}
DESTINATION ${bin_DIR}
COMPONENT graphvizlibs
)
ENDIF(WIN32)

IF(BUILD_DEV)
Expand Down

0 comments on commit 8da16bd

Please sign in to comment.