diff options
author | Saturneric <[email protected]> | 2021-06-25 20:59:38 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-06-25 20:59:38 +0000 |
commit | 28a80b6cfac67edc0d2e1f07d7c6c58fcdafee4c (patch) | |
tree | d6789b012ce5e7ee9fd4a94c36a53ecf4de3d9c0 | |
parent | Update Project Structure; (diff) | |
parent | Update Project Configuration For macOS (diff) | |
download | GpgFrontend-28a80b6cfac67edc0d2e1f07d7c6c58fcdafee4c.tar.gz GpgFrontend-28a80b6cfac67edc0d2e1f07d7c6c58fcdafee4c.zip |
Merge;
Update CMakeLists.txt;
Diffstat (limited to '')
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | gpgfrontend.icns | bin | 0 -> 200654 bytes | |||
-rw-r--r-- | src/CMakeLists.txt | 55 |
3 files changed, 54 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f3bcf20..63155ed2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,6 +81,8 @@ IF (MINGW) message(STATUS "Configuration For OS Platform Microsoft Windows") message(STATUS "Build Environment MINGW") + set(OS_PLATFORM "WINDOWS") + set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static") include_directories( @@ -97,6 +99,8 @@ if(APPLE) message(STATUS "Configuration For OS Platform MacOS") + set(OS_PLATFORM "MACOS") + set(ENV{Qt5_DIR} /usr/local/opt/qt5/lib/cmake) include_directories( @@ -115,7 +119,7 @@ endif() if(LINUX) message(STATUS "Configuration For OS Platform LINUX") - set(Platform LINUX) + set(OS_PLATFORM "LINUX") include_directories( include diff --git a/gpgfrontend.icns b/gpgfrontend.icns Binary files differnew file mode 100644 index 00000000..89b13163 --- /dev/null +++ b/gpgfrontend.icns diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1cc424ca..9a640c1f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,6 +16,14 @@ qt5_wrap_cpp(QT5_MOCS ${GPGFRONTEND_HEADER_FILES} TARGET gpgfrontend) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/release) message(STATUS "CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") +# Set Resource Output Path +if(APPLE) + set(RESOURCE_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Resources) +else() + set(RESOURCE_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +endif() +message(STATUS "RESOURCE_OUTPUT_DIRECTORY ${RESOURCE_OUTPUT_DIRECTORY}") + # Get ALL SOURCE FILES file(GLOB_RECURSE ALL_SOURCE_FILES RELACTIVE ${CMAKE_SOURCE_DIR}/src/*.cpp) @@ -23,7 +31,7 @@ file(GLOB_RECURSE ALL_SOURCE_FILES RELACTIVE ${CMAKE_SOURCE_DIR}/src/*.cpp) set(QT_TS_FILES gpgfrontend_en_us.ts gpgfrontend_zh_chs.ts gpgfrontend_zh_cht.ts gpg_frontend_fr.ts gpg_frontend_ru.ts) list(TRANSFORM QT_TS_FILES PREPEND ${CMAKE_SOURCE_DIR}/resource/ts/) message(STATUS "QT_TS_FILES ${QT_TS_FILES}") -set(QT_QM_FILES_OUTPUT_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ts) +set(QT_QM_FILES_OUTPUT_DIR ${RESOURCE_OUTPUT_DIRECTORY}/ts) set_source_files_properties(${QT_TS_FILES} PROPERTIES OUTPUT_LOCATION ${QT_QM_FILES_OUTPUT_DIR}) QT5_create_translation(QON_QM_FILES ${CMAKE_SOURCE_DIR} ${QT_TS_FILES}) message(STATUS "QON_QM_FILES ${QON_QM_FILES}") @@ -33,9 +41,15 @@ add_custom_target(translations DEPENDS ${QON_QM_FILES}) configure_file(${CMAKE_SOURCE_DIR}/include/GpgFrontend.h.in ${CMAKE_SOURCE_DIR}/include/GpgFrontend.h @ONLY) # Copy Resource Files -file(COPY ${CMAKE_SOURCE_DIR}/resource/css DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) -file(COPY ${CMAKE_SOURCE_DIR}/resource/icons DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) -file(COPY ${CMAKE_SOURCE_DIR}/resource/conf DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) +file(COPY ${CMAKE_SOURCE_DIR}/resource/css DESTINATION ${RESOURCE_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) +file(COPY ${CMAKE_SOURCE_DIR}/resource/icons DESTINATION ${RESOURCE_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) +file(COPY ${CMAKE_SOURCE_DIR}/resource/conf DESTINATION ${RESOURCE_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) + +if(APPLE) + file(COPY ${CMAKE_SOURCE_DIR}/gpgfrontend.icns DESTINATION ${RESOURCE_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN) + # Refresh App Bundle + file(REMOVE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/gpgfrontend.app) +endif() # Copy Utils Files if(MINGW) @@ -54,8 +68,37 @@ set(RESOURCE_FILES ${CMAKE_SOURCE_DIR}/gpgfrontend.qrc ${APP_ICON_RESOURCE_WINDO add_custom_target(resources ALL DEPENDS ${RESOURCE_FILES}) add_dependencies(resources translations) -if((${CMAKE_BUILD_TYPE} STREQUAL "Release") AND (MINGW)) - add_executable(gpgfrontend WIN32 ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS}) +if(${CMAKE_BUILD_TYPE} STREQUAL "Release") + if(MINGW) + add_executable(gpgfrontend WIN32 ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS}) + elseif(APPLE) + add_executable(gpgfrontend MACOSX_BUNDLE ${ICON_RESOURCE} ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS}) + set_target_properties(gpgfrontend PROPERTIES + BUNDLE True + MACOSX_BUNDLE_GUI_IDENTIFIER org.gnupg.gpgfrontend + MACOSX_BUNDLE_BUNDLE_NAME "GpgFrontend" + MACOSX_BUNDLE_LONG_VERSION_STRING ${BUILD_VERSION} + MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION} + MACOSX_BUNDLE_BUNDLE_VERSION ${BUILD_VERSION} + MACOSX_BUNDLE_ICON_FILE "gpgfrontend.icns" + ) + add_custom_command(TARGET gpgfrontend POST_BUILD + COMMAND /bin/rm -rf ./gpgfrontend.app/Contents/Resources + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + COMMENT "Deleting Resources IN App Bundle") + add_custom_command(TARGET gpgfrontend POST_BUILD + COMMAND /bin/mv -n ./Resources ./gpgfrontend.app/Contents/ + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + COMMENT "Copying Resources INTO App Bundle Resource") + add_custom_command(TARGET gpgfrontend POST_BUILD + COMMAND /bin/rm -rf ./GpgFrontend.app + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + COMMENT "Deleting Old Final App Bundle") + add_custom_command(TARGET gpgfrontend POST_BUILD + COMMAND /bin/mv -n ./gpgfrontend.app ./GpgFrontend.app + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + COMMENT "Rename Build App Bundle to Final App Bundle") + endif() else() add_executable(gpgfrontend ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS}) endif() |