From b7d65230f1d17024d8b7e7f77cdf6d992e5097cc Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sun, 15 Jan 2023 17:50:50 -0500 Subject: [PATCH] OSX packaging --- .github/workflows/all-builds.yml | 19 +++++++++++++------ CMakeLists.txt | 4 +++- src/CMakeLists.txt | 4 ++-- src/app/CMakeLists.txt | 5 +++++ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/.github/workflows/all-builds.yml b/.github/workflows/all-builds.yml index 5b128d7..7422062 100644 --- a/.github/workflows/all-builds.yml +++ b/.github/workflows/all-builds.yml @@ -40,16 +40,23 @@ jobs: cmake -B build/ ${{ matrix.cmake }} -DQTK_UPDATE_SUBMODULES=ON cmake --build build/ + - name: OSX Stuff + if: matrix.os == 'macos-latest' + shell: bash + run: | + brew install tree + tree build/ + - name: Package Qtk shell: bash run: | cmake --build build/ --target package - - name: Package Qtk Sources - if: matrix.os != 'macos-latest' - shell: bash - run: | - cmake --build build/ --target package_source +# - name: Package Qtk Sources +# if: matrix.os != 'macos-latest' +# shell: bash +# run: | +# cmake --build build/ --target package_source - uses: actions/upload-artifact@v3 with: @@ -103,7 +110,7 @@ jobs: - name: Build Qtk shell: bash run: | - cmake -B build/ ${{ matrix.cmake }} && cmake --build build/ --target qtk-main + cmake -B build/ ${{ matrix.cmake }} && cmake --build build/ # TODO: Enable with tag only when done testing # Release-Qtk: diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c90189..852fcbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) if(MSVC) + set(CMAKE_CXX_FLAGS /WX:NO) add_compile_options(/WX:NO /wd4131 /wd4127) endif() @@ -84,6 +85,7 @@ if (QTK_PREFIX_QTCREATOR) endif() message(STATUS "[Qtk] CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}") set(QTK_RESOURCES "${CMAKE_SOURCE_DIR}/resources") +set(QTK_OSX_ICONS ${CMAKE_SOURCE_DIR}/resources/icons/osx/kilroy.icns) # Print all QTK options and their values. get_cmake_property(VAR_NAMES VARIABLES) @@ -112,9 +114,9 @@ if(NOT Qt6_FOUND) endif() # Find Assimp +set(ASSIMP_BUILD_TESTS OFF) if(QTK_UPDATE_SUBMODULES) message(STATUS "[Qtk] Updating submodules...") - set(ASSIMP_BUILD_TESTS OFF) set(ASSIMP_INSTALL OFF) submodule_update("${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2cc3a18..5875124 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -46,8 +46,8 @@ set(CPACK_PACKAGE_DIRECTORY packages/) # OSX set(CPACK_BUNDLE_NAME Qtk) -#set(CPACK_BUNDLE_PLIST ) -#set(CPACK_BUNDLE_ICON ) +set(CPACK_BUNDLE_PLIST ${CMAKE_BINARY_DIR}/Info.plist) +set(CPACK_BUNDLE_ICON ${QTK_OSX_ICONS}) if(WIN32) set(CPACK_SOURCE_GENERATOR ZIP) else() diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index 369c31e..82661d5 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -91,6 +91,11 @@ set_target_properties( qtk_main PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE + MACOSX_BUNDLE_BUNDLE_NAME Qtk + MACOSX_BUNDLE_ICON_FILE ${QTK_OSX_ICONS} + MACOSX_BUNDLE_GUI_IDENTIFIER ${CMAKE_PROJECT_NAME} + MACOSX_BUNDLE_INFO_STRING ${CMAKE_PROJECT_DESCRIPTION} + MACOSX_BUNDLE_COPYRIGHT "All Content (c) 2023 Shaun Reed, all rights reserved" MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )