@@ -49,6 +49,9 @@ set (ICON_DEST_PATH share/icons/hicolor)
49
49
set (ICON_SIZES 128 192 256 32 36 48 64 72 96)
50
50
set (DOCS ChangeLog.txt README)
51
51
52
+ set (MACOSX_NAME "Basket of passwords" )
53
+ set (MACOSX_BUNDLE_NAME ${MACOSX_NAME} .app)
54
+
52
55
set (QT_USE_QTXML TRUE )
53
56
set (QT_USE_QTNETWORK TRUE )
54
57
project (${PROJECT} )
@@ -82,6 +85,47 @@ add_custom_command (
82
85
TARGET translations
83
86
COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS} )
84
87
88
+ add_custom_target (
89
+ clean_bundle
90
+ rm -rf ${MACOSX_BUNDLE_NAME}
91
+ )
92
+
93
+ add_custom_target (
94
+ bundle
95
+ DEPENDS ${PROJECT} clean_bundle
96
+ # make a dirs
97
+ COMMAND mkdir -p ${MACOSX_BUNDLE_NAME} /Contents/
98
+ COMMAND mkdir -p ${MACOSX_BUNDLE_NAME} /Contents/MacOS
99
+ COMMAND mkdir -p ${MACOSX_BUNDLE_NAME} /Contents/Resources
100
+
101
+ # copy binary and plist-files
102
+ COMMAND install -m 0755 -p ${PROJECT} ${MACOSX_BUNDLE_NAME} /Contents/MacOS/${MACOSX_NAME}
103
+ # contents
104
+ COMMAND install -m 0644 -p ${CMAKE_CURRENT_SOURCE_DIR} /tools/Info.plist ${MACOSX_BUNDLE_NAME} /Contents/Info.plist
105
+ COMMAND install -m 0644 -p ${CMAKE_CURRENT_SOURCE_DIR} /tools/PkgInfo ${MACOSX_BUNDLE_NAME} /Contents/PkgInfo
106
+ # resources
107
+ COMMAND install -m 0644 -p ${CMAKE_CURRENT_SOURCE_DIR} /images/basketpwd.icns ${MACOSX_BUNDLE_NAME} /Contents/Resources/basketpwd.icns
108
+ COMMAND cp -R ${CMAKE_CURRENT_SOURCE_DIR} /tools/mac_resource/* ${MACOSX_BUNDLE_NAME} /Contents/Resources/
109
+
110
+ # Frameworks
111
+ COMMAND mkdir -p ${MACOSX_BUNDLE_NAME} /Contents/Frameworks
112
+ # copy frameworks
113
+ COMMAND cp -R ${QT_LIBRARY_DIR} /QtCore.framework ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/
114
+ COMMAND cp -R ${QT_LIBRARY_DIR} /QtGui.framework ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/
115
+ COMMAND cp -R ${QT_LIBRARY_DIR} /QtXml.framework ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/
116
+
117
+ # install_name_tool
118
+ COMMAND install_name_tool -id @executable_path/../Frameworks/QtCore.framework /Versions/4.0/QtCore ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/QtCore.framework /Versions/4.0/QtCore
119
+ COMMAND install_name_tool -id @executable_path/../Frameworks/QtGui.framework /Versions/4.0/QtGui ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/QtGui.framework /Versions/4.0/QtGui
120
+ COMMAND install_name_tool -id @executable_path/../Frameworks/QtXml.framework /Versions/4.0/QtXml ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/QtXml.framework /Versions/4.0/QtXml
121
+
122
+ COMMAND install_name_tool -change ${QT_LIBRARY_DIR} /QtCore.framework /Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework /Versions/4.0/QtCore ${MACOSX_BUNDLE_NAME} /Contents/MacOS/${MACOSX_NAME}
123
+ COMMAND install_name_tool -change ${QT_LIBRARY_DIR} /QtGui.framework /Versions/4.0/QtGui @executable_path/../Frameworks/QtGui.framework /Versions/4.0/QtGui ${MACOSX_BUNDLE_NAME} /Contents/MacOS/${MACOSX_NAME}
124
+ COMMAND install_name_tool -change ${QT_LIBRARY_DIR} /QtXml.framework /Versions/4.0/QtXml @executable_path/../Frameworks/QtXml.framework /Versions/4.0/QtXml ${MACOSX_BUNDLE_NAME} /Contents/MacOS/${MACOSX_NAME}
125
+ COMMAND install_name_tool -change ${QT_LIBRARY_DIR} /QtCore.framework /Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework /Versions/4.0/QtCore ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/QtGui.framework /Versions/4.0/QtGui
126
+ COMMAND install_name_tool -change ${QT_LIBRARY_DIR} /QtCore.framework /Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework /Versions/4.0/QtCore ${MACOSX_BUNDLE_NAME} /Contents/Frameworks/QtXml.framework /Versions/4.0/QtXml
127
+ )
128
+
85
129
source_group ("Header Files" FILES ${HEADERS} )
86
130
source_group ("Source Files" FILES ${SOURCES} )
87
131
source_group ("Forms Files" FILES ${UI_SOURCES} )
0 commit comments