diff --git a/.github/workflows/all-builds.yml b/.github/workflows/all-builds.yml index f05e3da..6da6c63 100644 --- a/.github/workflows/all-builds.yml +++ b/.github/workflows/all-builds.yml @@ -38,6 +38,12 @@ jobs: with: args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1 + - name: Install Debian packaging dependencies + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt update -y + sudo apt install libxcb-cursor0 -y + - name: Configure Qtk Application (Windows) if: matrix.os == 'windows-latest' shell: bash @@ -64,7 +70,7 @@ jobs: - name: Install Qtk Application shell: bash - run: cmake --install build/ --config Release --prefix=$(pwd)/install --component qtk_app + run: cmake --install build/ --config Release --prefix=$(pwd)/install --component qtk - name: Package Qtk Application shell: bash @@ -73,7 +79,9 @@ jobs: - name: Package Qtk Library (DEB) if: matrix.os == 'ubuntu-latest' shell: bash - run: cpack -C Release -G DEB + run: | + cd build + cpack -C Release -G DEB - name: Upload package artifacts (DEB) if: matrix.os == 'ubuntu-latest' @@ -83,6 +91,36 @@ jobs: path: | build/packages/*.deb + - name: Package Qtk Library (WIN) + if: matrix.os == 'windows-latest' + shell: bash + run: | + cd build + cpack -C Release -G NSIS + + - name: Upload package artifacts (WIN) + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v3 + with: + name: qtk-${{ matrix.os }}-windows + path: | + build/packages/*.exe + + - name: Package Qtk Library (OSX) + if: matrix.os == 'macos-latest' + shell: bash + run: | + cd build + cpack -C Release -G TGZ + + - name: Upload package artifacts (OSX) + if: matrix.os == 'macos-latest' + uses: actions/upload-artifact@v3 + with: + name: qtk-${{ matrix.os }}-macos + path: | + build/packages/*.tar.gz + - name: Upload Qtk install directory uses: actions/upload-artifact@v3 with: @@ -162,7 +200,7 @@ jobs: - name: Install Qtk Library shell: bash - run: cmake --install build/ --config Release --prefix=$(pwd)/install --component qtk_library + run: cmake --install build/ --config Release --prefix=$(pwd)/install --component libqtk - name: Package Qtk Library shell: bash @@ -171,7 +209,9 @@ jobs: - name: Package Qtk Library (DEB) if: matrix.os == 'ubuntu-latest' shell: bash - run: cpack -C Release -G DEB + run: | + cd build + cpack -C Release -G DEB - name: Upload package artifacts (DEB) if: matrix.os == 'ubuntu-latest' @@ -181,6 +221,36 @@ jobs: path: | build/packages/*.deb + - name: Package Qtk Library (WIN) + if: matrix.os == 'windows-latest' + shell: bash + run: | + cd build + cpack -C Release -G NSIS + + - name: Upload package artifacts (WIN) + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v3 + with: + name: qtk-${{ matrix.os }}-windows + path: | + build/packages/*.exe + + - name: Package Qtk Library (OSX) + if: matrix.os == 'macos-latest' + shell: bash + run: | + cd build + cpack -C Release -G TGZ + + - name: Upload package artifacts (OSX) + if: matrix.os == 'macos-latest' + uses: actions/upload-artifact@v3 + with: + name: qtk-${{ matrix.os }}-macos + path: | + build/packages/*.tar.gz + - name: Upload libqtk install uses: actions/upload-artifact@v3 if: always() @@ -188,16 +258,6 @@ jobs: name: libqtk-${{ matrix.os }}-install path: install/* - - name: Upload package artifacts - uses: actions/upload-artifact@v3 - if: always() - with: - name: libqtk-packages-${{ matrix.os }} - path: | - build/packages/ - !build/packages/*.deb - !build/packages/_CPack_Packages/* - Build-Qtk-Plugins: env: CONFIG: -DQTK_UPDATE_SUBMODULES=ON -DQTK_DEBUG=OFF -DQTK_ENABLE_CCACHE=OFF -DQTK_BUILD_GUI=OFF -DQTK_INSTALL_LIBRARY=OFF -DQTK_INSTALL_PLUGINS=ON @@ -256,7 +316,7 @@ jobs: - name: Install Qtk Plugins shell: bash - run: cmake --install build/ --config Release --prefix=$(pwd)/install --component qtk_collection + run: cmake --install build/ --config Release --prefix=$(pwd)/install --component collection Build-Qtk-Assimp-Targets: strategy: @@ -289,3 +349,11 @@ jobs: shell: bash run: | sudo apt install libassimp-dev + + - name: Configure Qtk + shell: bash + run: cmake -B build/ ${{ matrix.cmake }} -DQTK_ENABLE_CCACHE=OFF + + - name: Build Qtk + shell: bash + run: cmake --build build/ --config Release diff --git a/CMakeLists.txt b/CMakeLists.txt index 6602dfb..57cc0a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,8 +79,6 @@ set(QT_INSTALL_DIR "$ENV{HOME}/Qt/6.5.0/gcc_64" CACHE PATH "Path to Qt6 install. # Point CMAKE_PREFIX_PATH to Qt6 install directory # If Qtk is built within Qt Creator this is not required. list(APPEND CMAKE_PREFIX_PATH "${QT_INSTALL_DIR}") -# TODO: Remove if not using sdlibdeps. -#set(CMAKE_INSTALL_RPATH "${QT_INSTALL_DIR}/lib") if (QTK_PREFIX_QTCREATOR) # TODO: This might be a bit strange and needs more testing. set(CMAKE_INSTALL_PREFIX "${QT_INSTALL_DIR}") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 63af681..982c95f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -45,14 +45,14 @@ if(QTK_INSTALL_PLUGINS) # Optionally install custom Qtk plugins for Qt Designer. install( TARGETS qtk_library qtk_plugin_library - COMPONENT qtk_collection + COMPONENT collection LIBRARY DESTINATION "${QTK_PLUGIN_LIBRARY_DIR}" ARCHIVE DESTINATION "${QTK_PLUGIN_LIBRARY_DIR}" RUNTIME DESTINATION "${QTK_PLUGIN_LIBRARY_DIR}" ) install( TARGETS qtk_collection - COMPONENT qtk_collection + COMPONENT collection LIBRARY DESTINATION "${QTK_PLUGIN_INSTALL_DIR}" ARCHIVE DESTINATION "${QTK_PLUGIN_INSTALL_DIR}" RUNTIME DESTINATION "${QTK_PLUGIN_INSTALL_DIR}" @@ -147,10 +147,8 @@ set( #set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/resources/icon.png") # Debian -# TODO: Fix output sharedlib path. set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CPACK_PACKAGE_HOMEPAGE_URL}) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) -#set(CPACK_PACKAGING_INSTALL_PREFIX /usr/local/) # OSX set(CPACK_BUNDLE_NAME ${PROJECT_NAME}) diff --git a/src/qtk/CMakeLists.txt b/src/qtk/CMakeLists.txt index 1ec166b..42b9dcc 100644 --- a/src/qtk/CMakeLists.txt +++ b/src/qtk/CMakeLists.txt @@ -77,6 +77,3 @@ endif() if(WIN32) target_link_libraries(qtk_library PUBLIC OpenGL::GL) endif() - -#install(SCRIPT ${LIBQTK_DEPLOY_SCRIPT} COMPONENT libqtk) -## Install qtk_library to Qt Designer to support widget plugins.