Skip to content

Commit 6ae818e

Browse files
committed
Changes in CMakeLists for mac build and create dmg
1 parent bd599ad commit 6ae818e

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

CMakeLists.txt

+20-15
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ set (PROJECT_NAME basketpwd)
3535

3636
set (PROJECT ${PROJECT_NAME})
3737
set (LIB_PROJECT basketlib)
38-
set (PROJECT_VERSION 0.4.8)
39-
set (HEADERS
38+
set (BPROJECT_VERSION 0.4.8)
39+
set (HEADERS
4040
src/aboutdialog.h
4141
src/changepassword.h
4242
src/mainwindow.h
4343
src/settingsdialog.h
4444
model/basketmodel.h
4545
src/basketcommon.h
46-
src/passwordwidget.h)
46+
src/passwordwidget.h)
4747
set (SOURCES
4848
src/aboutdialog.cpp
4949
src/changepassword.cpp
@@ -168,22 +168,28 @@ add_custom_target (
168168
COMMAND macdeployqt ${MACOSX_BUNDLE_NAME}
169169
)
170170

171-
set(DMG_DIR "${CMAKE_BINARY_DIR}/${PROJECT_NAME}-build-dmg")
171+
set(DMG_DIR "${CMAKE_BINARY_DIR}/build-dmg/${PROJECT_NAME}-${BPROJECT_VERSION}")
172172
set(BUNDLE_DIR "${CMAKE_BINARY_DIR}/Basket of passwords.app")
173+
set(DMG_NAME "${PROJECT_NAME}-${BPROJECT_VERSION}.dmg")
173174
add_custom_target (
174175
mac-dmg
175-
DEPENDS mac-bundle
176-
176+
DEPENDS mac-dmg-clean mac-bundle
177+
177178
COMMAND mkdir -p ${DMG_DIR}
178179
COMMAND cp -R ${BUNDLE_DIR} ${DMG_DIR}/
179180
COMMAND ln -sf /Applications ${DMG_DIR}
180181
COMMAND cp ${CMAKE_SOURCE_DIR}/icons/${PROJECT_NAME}.icns .VolumeIcon.icns
181-
COMMAND hdiutil create ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-${PROJECT_VERSION}.dmg -srcfolder ${DMG_DIR}
182+
COMMAND hdiutil create ${CMAKE_BINARY_DIR}/${DMG_NAME} -srcfolder ${DMG_DIR}
182183
DEPENDS ${PROJECT_NAME}
183184
COMMENT "Create DMG image"
184-
185+
185186
#COMMAND macdeployqt ${MACOSX_BUNDLE_NAME} -dmg
186187
)
188+
add_custom_target (
189+
mac-dmg-clean
190+
COMMAND rm -rf ${DMG_DIR}
191+
COMMAND rm -rf ${DMG_NAME}
192+
)
187193
ENDIF (APPLE)
188194

189195
# Make a windows installer
@@ -212,7 +218,7 @@ IF ( WIN32 )
212218
add_custom_target (
213219
nsis
214220
DEPENDS ${PROJECT} ${LIB_PROJECT} qt-libs
215-
221+
216222
COMMAND "${NSIS_DIR}/makensis.exe" "${PROJECT_BINARY_DIR}/basketpwd.nsi"
217223
)
218224
ELSE ( EXISTS "${NSIS_DIR}/makensis.exe" )
@@ -225,15 +231,15 @@ IF ( WIN32 )
225231
COMMAND ${CMAKE_COMMAND} -E copy ${QT_BINARY_DIR}/QtGui4.dll ${PROJECT_BINARY_DIR}
226232
COMMAND ${CMAKE_COMMAND} -E copy ${QT_BINARY_DIR}/QtXml4.dll ${PROJECT_BINARY_DIR}
227233
COMMAND ${CMAKE_COMMAND} -E copy ${OPENSSL_ROOT_DIR}/bin/libeay32.dll ${PROJECT_BINARY_DIR}
228-
234+
229235
COMMAND ${CMAKE_COMMAND} -E copy ${VCREDIST_DIR}/vcredist_x${PROJECT_ARCH}.exe ${PROJECT_BINARY_DIR}
230236
)
231237

232238
ELSE ( EXISTS "${VCREDIST_DIR}/vcredist_x${PROJECT_ARCH}.exe" )
233239
message(STATUS "Microsoft Visual C++ Redistributable Package (vcredist_x${PROJECT_ARCH}.exe) not found.")
234240
ENDIF ( EXISTS "${VCREDIST_DIR}/vcredist_x${PROJECT_ARCH}.exe" )
235241

236-
ENDIF ( WIN32 )
242+
ENDIF ( WIN32 )
237243

238244
include_directories(libs ${OPENSSL_INCLUDE_DIR})
239245

@@ -248,7 +254,7 @@ if (WIN32)
248254
set (GUI_TYPE WIN32)
249255
set (RC_FILE ${PROJECT_SOURCE_DIR}/basketpwd.rc)
250256
ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT}.o
251-
COMMAND windres.exe -I${CMAKE_CURRENT_SOURCE_DIR} -i${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT}.rc
257+
COMMAND windres.exe -I${CMAKE_CURRENT_SOURCE_DIR} -i${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT}.rc
252258
-o ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT}.o )
253259
set (RC_FILE ${PROJECT_SOURCE_DIR}/basketpwd.rc)
254260
elseif (APPLE)
@@ -274,12 +280,12 @@ if (UNIX AND NOT APPLE)
274280
IF ( NOT_INSTALL_PROJECT_DOCS )
275281
message(STATUS "Don't install project documentation")
276282
ELSE ( NOT_INSTALL_PROJECT_DOCS )
277-
install (FILES ${DOCS} DESTINATION share/doc/${PROJECT}-${PROJECT_VERSION})
283+
install (FILES ${DOCS} DESTINATION share/doc/${PROJECT}-${BPROJECT_VERSION})
278284
ENDIF ( NOT_INSTALL_PROJECT_DOCS )
279285

280286
foreach (ICON_SIZE ${ICON_SIZES})
281287
install (
282-
FILES icons/oxygen-internal/${ICON_SIZE}/${PROJECT_NAME}.png
288+
FILES icons/oxygen-internal/${ICON_SIZE}/${PROJECT_NAME}.png
283289
DESTINATION share/icons/hicolor/${ICON_SIZE}/apps)
284290
endforeach ()
285291

@@ -294,4 +300,3 @@ if (UNIX AND NOT APPLE)
294300
)
295301
endforeach()
296302
endif (UNIX AND NOT APPLE)
297-

0 commit comments

Comments
 (0)