From fa79da37b6270c329fe289ef4dbd509d861a3ba0 Mon Sep 17 00:00:00 2001 From: Felix Geyer Date: Mon, 21 May 2012 20:24:06 +0200 Subject: [PATCH] Support creating Mac OS X bundles that embed all dependencies. --- CMakeLists.txt | 5 ++++ share/CMakeLists.txt | 20 ++++++++++++++ share/macosx/Info.plist.cmake | 49 ++++++++++++++++++++++++++++++++++ share/macosx/keepassx.icns | Bin 0 -> 52533 bytes share/windows/keepassx.ico | Bin 0 -> 102134 bytes src/CMakeLists.txt | 24 +++++++++++++++++ 6 files changed, 98 insertions(+) create mode 100644 share/macosx/Info.plist.cmake create mode 100644 share/macosx/keepassx.icns create mode 100644 share/windows/keepassx.ico diff --git a/CMakeLists.txt b/CMakeLists.txt index 67f479fec..7bb65b213 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ option(WITH_LTO "Enable Link Time Optimization (LTO)" OFF) option(WITH_PIE "Build as Position-independent executable (PIE)" OFF) set( KEEPASSX_VERSION "2.0 alpha 1" ) +set( KEEPASSX_VERSION_NUM "1.9.80" ) if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") set(CMAKE_COMPILER_IS_CLANG 1) @@ -109,6 +110,10 @@ else( APPLE OR MINGW ) set( PROGNAME keepassx ) endif( APPLE OR MINGW ) +if(APPLE AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local") + set(CMAKE_INSTALL_PREFIX "/Applications") +endif() + if(MINGW) set(BIN_INSTALL_DIR "") set(DATA_INSTALL_DIR "share") diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index 0ce3e0146..c97c08643 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -22,5 +22,25 @@ if(UNIX AND NOT APPLE) FILES_MATCHING PATTERN "keepassx.png" PATTERN "keepassx.svgz") endif(UNIX AND NOT APPLE) +if(APPLE) + install(FILES macosx/keepassx.icns DESTINATION ${DATA_INSTALL_DIR}) +endif() + install(DIRECTORY icons/application/ DESTINATION ${DATA_INSTALL_DIR}/icons/application FILES_MATCHING PATTERN "*.png" PATTERN "*.svgz") + +add_custom_target(icons + COMMAND png2icns macosx/keepassx.icns + icons/application/16x16/apps/keepassx.png + icons/application/32x32/apps/keepassx.png + icons/application/48x48/apps/keepassx.png + icons/application/128x128/apps/keepassx.png + COMMAND icotool -c -o windows/keepassx.ico + icons/application/16x16/apps/keepassx.png + icons/application/24x24/apps/keepassx.png + icons/application/32x32/apps/keepassx.png + icons/application/48x48/apps/keepassx.png + icons/application/64x64/apps/keepassx.png + icons/application/128x128/apps/keepassx.png + VERBATIM + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/share/macosx/Info.plist.cmake b/share/macosx/Info.plist.cmake new file mode 100644 index 000000000..d47558d2e --- /dev/null +++ b/share/macosx/Info.plist.cmake @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + ${PROJECT_NAME} + CFBundleExecutable + ${PROGNAME} + CFBundleIconFile + keepassx.icns + CFBundleIdentifier + org.keepassx.keepassx + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + ${KEEPASSX_VERSION} + CFBundleSignature + KEPX + CFBundleVersion + ${KEEPASSX_VERSION_NUM} + NSHumanReadableCopyright + Copyright 2010-2012 KeePassX Development Team + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + kdbx + + CFBundleTypeIconFile + keepassx.icns + CFBundleTypeName + KeePassX Password Database + CFBundleTypeOSTypes + + kdbx + + CFBundleTypeRole + Editor + + + + diff --git a/share/macosx/keepassx.icns b/share/macosx/keepassx.icns new file mode 100644 index 0000000000000000000000000000000000000000..5a9efe2740b0a85f361a427ce86860f5dc5e28bf GIT binary patch literal 52533 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 Y1xpF<%udLE>GQFdFWF2zEWo_~4-~iad;kCd literal 0 HcmV?d00001 diff --git a/share/windows/keepassx.ico b/share/windows/keepassx.ico new file mode 100644 index 0000000000000000000000000000000000000000..44cd0b834652f821c77c4b3f12bd530fcd50bf5f GIT binary patch literal 102134 zcmeEv1$Y(5_jV|4DTNkjp`}VF?gT<`g1Z$jPH}gN6Wrb1r8q6_PN5Wcm*Vc8^MBvD zcW(CX-76u1{=Vn=CeLJc_wLS|GiUVJ`1wWg``9mbY(J#_ehohK^Q-6Q=NCV|?Y>`h zKfir==I?L2pNIDhY&uD)qX{@wgT@0FE z@=cD76++Vw&-V(?OX%-EPZM`;nmGm4_W=uwNyf#+>x&uZ7JHLzZMjf>pRiuK z$9_?w6f}IRFMo`i|HsSeW)}`+`GHGINSZPEUT2(J^i7u4WkUJAf2}n5)~~q!z#{$j z%itf*2FxiO%I`D%St>O1iqfH(SN$CNW7SlT@qTGUv<~+n%7;-ZCGHUP()fL*rKLi@ zE|~C6tdw!j$Ibrz{dl>4IP=lxA9p}5POagy&pyjmcSN&iz4wij-UmiWpM#@A`yLt- z+V9BN(Edlqg$_72A#}j;384c|P7Lj_e#q;z0clqvk0^F%0*d`s;bFVK`bzuV{iNCU z?xDE{mwwge?>?cO_74i}d~ir;+r524D^9QXs`Z{;p&`eIht?U;i9|*V)kS zP0QUqLVrl zG9?*?M{(jO`hHlMrFCCd+TP^N=ZWG>i}FE~!Cw{jzx8>*SJ&`+5&f+_Eta@Zz_X&8 zehn?Otje3f4tbvySXkwC>0R|h)3nOYHmcjW>9ergs4+h7>0c}LlPn8LzR9(*QfT%+ zetwg%R=P(Yd>pk&*jrw&vP6yk;lNm_?Luemi-_JG63fqT za{@oV3&DPV_i=v#6yA*3BetL4$65URK1Z4W_k!Ln_>SWYhAzMKh#b#Uux_Pas6@4w@nonYWvL@%pEA{e+!hr zHd$rgsr@o<{_pZ(^p9raJ=TvSWXYE0)}f<^WboXC~4Yfl&;ge%k^8=rQeYLp@4rNGDhnQ z3&~O?+p=W&5_$0Gf%Klr1N}d+EW!pd7q+W}9((1QXauIotUp8Jc zcgi6Fow7*C%wF>E^?zmIAB!Y?=7816mCe>EpdSb3DVS&TnvHAZ?)|&ceQI|}*(`

tDz(`1sQMN&!GHjSic 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�%Zb+p}$`M&jg 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 L#au#gpo9Mh!IR@a literal 0 HcmV?d00001 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c778c685d..459a1540b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -146,6 +146,30 @@ add_library( keepassx_core STATIC ${keepassx_SOURCES} ) add_executable( ${PROGNAME} WIN32 MACOSX_BUNDLE main.cpp ) target_link_libraries( ${PROGNAME} keepassx_core ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${GCRYPT_LIBRARIES} ${ZLIB_LIBRARIES} ) + +if(APPLE) + configure_file(${CMAKE_SOURCE_DIR}/share/macosx/Info.plist.cmake ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) + set_target_properties(${PROGNAME} PROPERTIES + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) +endif() + install(TARGETS ${PROGNAME} BUNDLE DESTINATION . COMPONENT Runtime RUNTIME DESTINATION ${BIN_INSTALL_DIR} COMPONENT Runtime) + +if(APPLE AND NOT (${CMAKE_VERSION} VERSION_LESS 2.8.8)) + if(QT_MAC_USE_COCOA AND EXISTS "${QT_LIBRARY_DIR}/Resources/qt_menu.nib") + install(DIRECTORY "${QT_LIBRARY_DIR}/Resources/qt_menu.nib" + DESTINATION "${DATA_INSTALL_DIR}") + endif() + + set(CPACK_GENERATOR "DragNDrop") + set(CPACK_DMG_FORMAT "UDBZ") + set(CPACK_DMG_VOLUME_NAME "${PROGNAME}") + set(CPACK_SYSTEM_NAME "OSX") + set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSX_VERSION_NUM}") + include(CPacK) + + include(DeployQt4) + install_qt4_executable(${PROGNAME}.app "qjpeg") +endif()