SVN commit 1102424 by mikearthur: Add "make package" to create deployable package. Only tested on Mac. M +16 -0 CMakeLists.txt M +12 -10 Charm/CMakeLists.txt --- trunk/playground/utils/charm/trunk/CMakeLists.txt #1102423:1102424 @@ -1,5 +1,10 @@ # this is the CMake Project File for Charm PROJECT( Charm ) +SET( Charm_VERSION_MAJOR "1" ) +SET( Charm_VERSION_MINOR "3" ) +SET( Charm_VERSION_PATCH "0" ) +SET( Charm_VERSION_COUNT 3 ) +SET( Charm_VERSION "${Charm_VERSION_MAJOR}.${Charm_VERSION_MINOR}.${Charm_VERSION_PATCH}" ) # Charm uses layout and QPalette elements from Qt 4.4 SET(QT_MIN_VERSION "4.4.0") @@ -122,3 +127,14 @@ ENDIF( CHARM_ENABLE_TOOLS_BUILD ) ADD_SUBDIRECTORY( Tests ) + +SET( CPACK_GENERATOR "ZIP" ) +SET( CPACK_PACKAGE_VERSION_MAJOR "${Charm_VERSION_MAJOR}" ) +SET( CPACK_PACKAGE_VERSION_MINOR "${Charm_VERSION_MINOR}" ) +SET( CPACK_PACKAGE_VERSION_PATCH "${Charm_VERSION_PATCH}" ) +SET( CPACK_PACKAGE_VERSION "${Charm_VERSION}" ) +IF( APPLE ) + SET( CPACK_SYSTEM_NAME "OSX" ) +ENDIF ( APPLE ) + +INCLUDE( CPack ) --- trunk/playground/utils/charm/trunk/Charm/CMakeLists.txt #1102423:1102424 @@ -127,8 +127,8 @@ IF( APPLE ) TARGET_LINK_LIBRARIES( CharmApplication IOKit ) - SET( MACOSX_BUNDLE_INFO_STRING "Charm - Version 1.3-trunk" ) - SET( MACOSX_BUNDLE_BUNDLE_VERSION "1.3-trunk" ) + SET( MACOSX_BUNDLE_INFO_STRING "Charm - Version ${Charm_VERSION}" ) + SET( MACOSX_BUNDLE_BUNDLE_VERSION "${Charm_VERSION}" ) SET( MACOSX_BUNDLE_ICON_FILE "Charm.icns" ) SET( MACOSX_BUNDLE_GUI_IDENTIFIER "net.kdab" ) SET( MACOSX_BUNDLE_BUNDLE_NAME "Charm" ) @@ -157,20 +157,22 @@ MESSAGE( "Charm will be installed to ${CMAKE_INSTALL_PREFIX}" ) IF( UNIX AND NOT APPLE ) - SET( XDG_APPS_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/applications ) - SET( ICON_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/icons ) + SET( XDG_APPS_INSTALL_DIR share/applications ) + SET( ICON_INSTALL_DIR share/icons ) INSTALL( FILES Charm.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) INSTALL( FILES Icons/Charm-128x128.png DESTINATION ${ICON_INSTALL_DIR} ) - INSTALL( TARGETS Charm DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ) + INSTALL( TARGETS Charm DESTINATION bin ) ELSE( UNIX AND NOT APPLE ) - INSTALL( TARGETS Charm DESTINATION ${CMAKE_INSTALL_PREFIX} ) + INSTALL( TARGETS Charm DESTINATION . ) ENDIF( UNIX AND NOT APPLE ) IF( APPLE ) - INSTALL( CODE "INCLUDE( BundleUtilities )" ) - INSTALL( CODE "SET( BUNDLE \"\${CMAKE_INSTALL_PREFIX}/Charm.app\" )" ) - #INSTALL( CODE "FIXUP_BUNDLE( \"\${BUNDLE}\" \"\" \"\" )" ) - #INSTALL( CODE "VERIFY_APP( \"\${BUNDLE}\" )" ) + INSTALL( CODE " + IF( \${CMAKE_INSTALL_PREFIX} MATCHES .*/_CPack_Packages/.* ) + EXECUTE_PROCESS( COMMAND chmod -R +uw \"\${CMAKE_INSTALL_PREFIX}/Charm.app\" ) + EXECUTE_PROCESS( COMMAND macdeployqt \"\${CMAKE_INSTALL_PREFIX}/Charm.app\" ) + ENDIF( \${CMAKE_INSTALL_PREFIX} MATCHES .*/_CPack_Packages/.* ) + " ) ENDIF( APPLE) ENDIF ( QT4_FOUND )