# option to disable inclusion of qmake build system into source package option ( DISABLE_QMAKE_BUILD "Disable inclusion of qmake build system into source package" OFF ) # set name set (CPACK_PACKAGE_NAME "OpenMesh") set (CPACK_PACKAGE_VENDOR "ACG") # set version set (CPACK_PACKAGE_VERSION_MAJOR "${OPENMESH_VERSION_MAJOR}") set (CPACK_PACKAGE_VERSION_MINOR "${OPENMESH_VERSION_MINOR}") set (CPACK_PACKAGE_VERSION_PATCH "${OPENMESH_VERSION_PATCH}") set (CPACK_PACKAGE_VERSION "${OPENMESH_VERSION}") # addition package info set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenMesh") set (CPACK_PACKAGE_EXECUTABLES "OpenMesh;") set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME}") set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") set (CPACK_SOURCE_STRIP_FILES "") # set (CPACK_STRIP_FILES "bin/OpenFlipper") # source package generation set (CPACK_SOURCE_GENERATOR "TGZ;TBZ2;ZIP") # ignored files in source package set (CPACK_SOURCE_IGNORE_FILES "\\\\.#;/#;.*~") list (APPEND CPACK_SOURCE_IGNORE_FILES "/\\\\.git") list (APPEND CPACK_SOURCE_IGNORE_FILES "/\\\\.svn") list (APPEND CPACK_SOURCE_IGNORE_FILES "${CMAKE_CURRENT_BINARY_DIR}") list (APPEND CPACK_SOURCE_IGNORE_FILES "Makefile") list (APPEND CPACK_SOURCE_IGNORE_FILES "Makefile\\\\..*") list (APPEND CPACK_SOURCE_IGNORE_FILES "\\\\.moc\\\\.cpp$") list (APPEND CPACK_SOURCE_IGNORE_FILES "CMakeCache.txt") list (APPEND CPACK_SOURCE_IGNORE_FILES "CMakeFiles") list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*_(32|64)_Debug/") list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*_(32|64)_Release/") list (APPEND CPACK_SOURCE_IGNORE_FILES "/MacOS") list (APPEND CPACK_SOURCE_IGNORE_FILES "/WIN") list (APPEND CPACK_SOURCE_IGNORE_FILES "/tmp/") list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.kdevelop") list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.kdevses") list (APPEND CPACK_SOURCE_IGNORE_FILES "/ACG/lib/") list (APPEND CPACK_SOURCE_IGNORE_FILES "/ACG/include/") if (DISABLE_QMAKE_BUILD) list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.pro") list (APPEND CPACK_SOURCE_IGNORE_FILES "/qmake/") list (APPEND CPACK_SOURCE_IGNORE_FILES "\\\\.qmake\\\\.cache") endif () # filter out all disabled plugins # file ( # GLOB _plugins_in # RELATIVE "${CMAKE_SOURCE_DIR}" # "${CMAKE_SOURCE_DIR}/Plugin-*" # ) #foreach (_plugin ${_plugins_in}) # string (REPLACE "Plugin-" "" _plugin_name ${_plugin}) # string (TOUPPER ${_plugin_name} _PLUGIN) # if (NOT EXISTS ${CMAKE_SOURCE_DIR}/${_plugin}/CMakeLists.txt AND DISABLE_QMAKE_BUILD) # list (APPEND CPACK_SOURCE_IGNORE_FILES "${CMAKE_SOURCE_DIR}/${_plugin}") # elseif (DISABLE_PLUGIN_${_PLUGIN}) # list (APPEND CPACK_SOURCE_IGNORE_FILES "${CMAKE_SOURCE_DIR}/${_plugin}") # endif () #endforeach () if (WIN32) # window NSIS installer set (CPACK_GENERATOR "NSIS") set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") set (CPACK_NSIS_DISPLAY_NAME "OpenMesh v${CPACK_PACKAGE_VERSION}") # set (CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}\\\\OpenFlipper\\\\Icons\\\\OpenFlipper_Icon_128x128x32.ico") # we need a real uninstaller icon here and we have to define both to make the installer icon work # set (CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}\\\\OpenFlipper\\\\Icons\\\\OpenFlipper_Icon_128x128x32.ico") # set (CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}\\\\OpenFlipper\\\\Icons\\\\installer.bmp") set (CPACK_NSIS_HELP_LINK "http:\\\\www.openmesh.org") set (CPACK_NSIS_URL_INFO_ABOUT "http:\\\\www.openmesh.org") # TODO: fillme # set (CPACK_NSIS_CONTACT "") #set (CPACK_NSIS_CREATE_ICONS # "CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\OpenFlipper.lnk\\\" \\\"$INSTDIR\\\\OpenFlipper.exe\\\"" # ) #set (CPACK_NSIS_DELETE_ICONS # "Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\OpenFlipper.lnk\\\"" # ) # append dll's to installed package #if (EXISTS ${CMAKE_SOURCE_DIR}/WIN) #file (GLOB _files "${CMAKE_SOURCE_DIR}/WIN/DLLs/DLLs 32 debug/*.dll") #install(FILES ${_files} #DESTINATION ${ACG_PROJECT_BINDIR} #CONFIGURATIONS Debug #) #file (GLOB _files "${CMAKE_SOURCE_DIR}/WIN/DLLs/DLLs 32 release/*.dll") #install (FILES ${_files} # DESTINATION ${ACG_PROJECT_BINDIR} # CONFIGURATIONS Release #) #install (FILES "${CMAKE_SOURCE_DIR}/WIN/DLLs/Redistributables/Visual Studio 2008/vcredist_x86.exe" # DESTINATION ${ACG_PROJECT_BINDIR} #) #set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\"$INSTDIR\\\\vcredist_x86.exe\\\" /q:a'") #endif () #elseif (APPLE) # apple Drag'n'Drop installer package #set (CPACK_GENERATOR "DragNDrop;TGZ") #set (CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/OpenFlipper/Icons/OpenFlipper_Icon.icns") endif () # has to be last if (WIN32) set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP "true") include (InstallRequiredSystemLibraries) install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${ACG_PROJECT_BINDIR}) else () include (InstallRequiredSystemLibraries) endif () include (CPack) if (NOT WIN32 AND NOT APPLE) # no binary target for linux file (REMOVE "${CMAKE_BINARY_DIR}/CPackConfig.cmake") endif () # cmake doesn't create a source package target, so we have to add our own if (EXISTS "${CMAKE_BINARY_DIR}/CPackSourceConfig.cmake") add_custom_target (PACKAGE_SOURCE ${CMAKE_CPACK_COMMAND} --config "${CMAKE_BINARY_DIR}/CPackSourceConfig.cmake" ) endif ()