2009-09-02 08:26:48 +00:00
|
|
|
# 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")
|
2009-09-02 13:03:21 +00:00
|
|
|
#set (CPACK_PACKAGE_EXECUTABLES "DecimaterGui;SubdividerGui;QtViewer" "OpenMesh Decimater;OpenMesh Subdivider;OpenMesh Mesh Viewer")
|
2009-09-02 08:26:48 +00:00
|
|
|
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 "")
|
|
|
|
|
|
|
|
|
|
# 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 ()
|
|
|
|
|
|
|
|
|
|
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 "")
|
|
|
|
|
|
2014-06-25 09:53:22 +00:00
|
|
|
# Copy all shared Qt files to build binary dir if we build openmesh with the apps
|
|
|
|
|
if ( NOT Q_WS_MAC AND BUILD_APPS)
|
2010-12-02 17:23:44 +00:00
|
|
|
if (DEFINED QT_QMAKE_EXECUTABLE)
|
|
|
|
|
SET (QTLIBLIST QtCore QtGui)
|
|
|
|
|
|
|
|
|
|
IF (MSVC)
|
|
|
|
|
set(TYPE "d")
|
|
|
|
|
FOREACH(qtlib ${QTLIBLIST})
|
|
|
|
|
IF (WIN32)
|
|
|
|
|
GET_FILENAME_COMPONENT(QT_DLL_PATH_tmp ${QT_QMAKE_EXECUTABLE} PATH)
|
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
|
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release)
|
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/MinSizeRel)
|
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/RelWithDebInfo)
|
|
|
|
|
INSTALL(FILES ${QT_DLL_PATH_tmp}/${qtlib}${type}d4.dll
|
|
|
|
|
DESTINATION ./
|
|
|
|
|
CONFIGURATIONS Debug
|
|
|
|
|
COMPONENT Applications)
|
|
|
|
|
INSTALL(FILES ${QT_DLL_PATH_tmp}/${qtlib}4.dll
|
|
|
|
|
DESTINATION ./
|
|
|
|
|
CONFIGURATIONS Release
|
|
|
|
|
COMPONENT Applications)
|
|
|
|
|
ENDIF (WIN32)
|
|
|
|
|
ENDFOREACH(qtlib)
|
|
|
|
|
|
|
|
|
|
endif()
|
|
|
|
|
endif(DEFINED QT_QMAKE_EXECUTABLE)
|
|
|
|
|
endif()
|
|
|
|
|
|
2010-12-21 08:52:43 +00:00
|
|
|
# copy the glut library if it exists on windows
|
2011-10-11 08:44:53 +00:00
|
|
|
if (EXISTS ${CMAKE_BINARY_DIR}/Build/glut32.dll)
|
|
|
|
|
install(FILES ${CMAKE_BINARY_DIR}/Build/glut32.dll
|
|
|
|
|
DESTINATION ./
|
|
|
|
|
COMPONENT Applications
|
2010-12-21 08:52:43 +00:00
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
2011-10-11 08:44:53 +00:00
|
|
|
# copy the documentation if it exists
|
|
|
|
|
if (EXISTS ${CMAKE_BINARY_DIR}/Build/Doc)
|
|
|
|
|
install(DIRECTORY ${CMAKE_BINARY_DIR}/Build/Doc
|
|
|
|
|
DESTINATION ./
|
2010-12-21 08:52:43 +00:00
|
|
|
COMPONENT Applications
|
2011-10-11 08:44:53 +00:00
|
|
|
)
|
|
|
|
|
endif()
|
2010-12-21 08:52:43 +00:00
|
|
|
|
2011-10-11 08:44:53 +00:00
|
|
|
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "CreateShortcut \\\"$SMPROGRAMS\\\\${CPACK_NSIS_DISPLAY_NAME}\\\\Documentation.lnk\\\" \\\"$INSTDIR\\\\Doc\\\\html\\\\index.html \\\" " )
|
2010-12-21 08:52:43 +00:00
|
|
|
|
2009-09-02 08:26:48 +00:00
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
# has to be last
|
|
|
|
|
if (WIN32)
|
|
|
|
|
set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP "true")
|
2009-09-02 13:08:32 +00:00
|
|
|
# include (InstallRequiredSystemLibraries)
|
2009-09-02 08:26:48 +00:00
|
|
|
install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${ACG_PROJECT_BINDIR})
|
|
|
|
|
else ()
|
|
|
|
|
include (InstallRequiredSystemLibraries)
|
|
|
|
|
endif ()
|
|
|
|
|
|
2010-12-21 09:47:30 +00:00
|
|
|
if (APPLE)
|
|
|
|
|
if (EXISTS ${CMAKE_BINARY_DIR}/Build/share/OpenMesh/Doc)
|
|
|
|
|
install(DIRECTORY ${CMAKE_BINARY_DIR}/Build/share/OpenMesh/Doc
|
|
|
|
|
DESTINATION ./
|
|
|
|
|
COMPONENT Applications
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
2009-09-02 08:26:48 +00:00
|
|
|
|
|
|
|
|
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"
|
|
|
|
|
)
|
2010-12-21 09:47:30 +00:00
|
|
|
endif ()
|