Test packaging
This commit is contained in:
parent
cf433ad7fc
commit
bbd89e531f
|
@ -10,14 +10,15 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
os: [ubuntu-latest]
|
||||||
|
# os: [ubuntu-latest, windows-latest, macos-latest]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
|
cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
|
||||||
- os: windows-latest
|
# - os: windows-latest
|
||||||
cmake: -DCMAKE_PREFIX_PATH="D:/a/qtk/qtk/Qt/6.3.1/mingw81_64/"
|
# cmake: -DCMAKE_PREFIX_PATH="D:/a/qtk/qtk/Qt/6.3.1/mingw81_64/"
|
||||||
- os: macos-latest
|
# - os: macos-latest
|
||||||
cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
|
# cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
@ -37,8 +38,30 @@ jobs:
|
||||||
- name: Build Qtk
|
- name: Build Qtk
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cmake -S . -B build/ ${{ matrix.cmake }} -DQTK_UPDATE_SUBMODULES=ON && cmake --build build/ \
|
cmake -B build/ ${{ matrix.cmake }} -DQTK_UPDATE_SUBMODULES=ON
|
||||||
--target qtk-main
|
cmake --build build/
|
||||||
|
|
||||||
|
- name: Package libqtk
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake --build build/ --target package
|
||||||
|
|
||||||
|
# - name: Package Qtk Sources
|
||||||
|
# shell: bash
|
||||||
|
# run: |
|
||||||
|
# cmake --build build/ --target package_source
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: qtk-packages-${{ matrix.os }}
|
||||||
|
path: |
|
||||||
|
build/packages/
|
||||||
|
!build/packages/_CPack_Packages/*
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: qtk-${{ matrix.os }}
|
||||||
|
path: build/bin
|
||||||
|
|
||||||
Build-Qtk-Assimp-Targets:
|
Build-Qtk-Assimp-Targets:
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -75,5 +98,50 @@ jobs:
|
||||||
- name: Build Qtk
|
- name: Build Qtk
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cmake -S . -B build/ ${{ matrix.cmake }} && cmake --build build/ \
|
cmake -B build/ ${{ matrix.cmake }} && cmake --build build/ --target qtk-main
|
||||||
--target qtk-main
|
|
||||||
|
# TODO: Enable with tag only when done testing
|
||||||
|
Release-Qtk:
|
||||||
|
needs: Build-Qtk
|
||||||
|
if: "always()"
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
cqt: CQtDeployer.run
|
||||||
|
url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Linux_x86_64.run
|
||||||
|
qmake: /home/runner/work/qtk/Qt/6.3.1/gcc_64/bin/qmake
|
||||||
|
- os: windows-latest
|
||||||
|
cqt: CQtDeployer.exe
|
||||||
|
url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Windows_AMD64.exe
|
||||||
|
qmake: D:/a/qtk/qtk/Qt/6.3.1/mingw81_64/bin/qmake
|
||||||
|
- os: macos-latest
|
||||||
|
cqt: CQtDeployer.run
|
||||||
|
url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Linux_x86_64.run
|
||||||
|
qmake: /home/runner/work/qtk/Qt/6.3.1/gcc_64/bin/qmake
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: qtk-${{ matrix.os }}
|
||||||
|
|
||||||
|
- name: Install Qt
|
||||||
|
uses: jurplel/install-qt-action@v2
|
||||||
|
with:
|
||||||
|
version: '6.3.1'
|
||||||
|
|
||||||
|
- name: Package Qtk
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
wget -O ${{ matrix.cqt }} ${{ matrix.url }}
|
||||||
|
chmod +x ${{ matrix.cqt }}
|
||||||
|
./${{ matrix.cqt }} install -c --am -d
|
||||||
|
cqtdeployer -bin qtk-main -qmake ${{ matrix.qmake }}
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: qtk-installer-${{ matrix.os }}
|
||||||
|
path: DistributionKit/
|
||||||
|
|
|
@ -127,37 +127,3 @@ endif()
|
||||||
# Qtk
|
# Qtk
|
||||||
################################################################################
|
################################################################################
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
get_target_property(_qt6_qmake_location Qt6::qmake IMPORTED_LOCATION)
|
|
||||||
execute_process(
|
|
||||||
COMMAND "${_qt6_qmake_location}" -query QT_INSTALL_PREFIX
|
|
||||||
RESULT_VARIABLE return_code
|
|
||||||
OUTPUT_VARIABLE qt6_install_prefix
|
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
||||||
)
|
|
||||||
file(TO_NATIVE_PATH "${qt6_install_prefix}/bin" qt6_install_prefix)
|
|
||||||
|
|
||||||
if(TARGET Qt6::windeployqt)
|
|
||||||
add_custom_command(
|
|
||||||
TARGET qtk-main
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND set PATH=%PATH%$<SEMICOLON>${qt6_install_prefix}
|
|
||||||
COMMAND Qt6::windeployqt --dir "${CMAKE_BINARY_DIR}/windeployqt" "$<TARGET_FILE_DIR:qtk-main>/$<TARGET_FILE_NAME:qtk-main>"
|
|
||||||
)
|
|
||||||
install(DIRECTORY "${CMAKE_BINARY_DIR}/windeployqt/" DESTINATION bin)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC AND TARGET Qt6::qmake)
|
|
||||||
set(VSUSER_FILE "${CMAKE_CURRENT_BINARY_DIR}/qtk-main.vcxproj.user")
|
|
||||||
file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/extern/assimp/assimp/bin" assimp_bin)
|
|
||||||
file(WRITE ${VSUSER_FILE} "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} "<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} " <PropertyGroup>\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} " <LocalDebuggerEnvironment>Path=$(SolutionDir)\\lib\\$(Configuration);${qt6_install_prefix};${assimp_bin};$(Path)\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} "$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} " <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} " </PropertyGroup>\n")
|
|
||||||
file(APPEND ${VSUSER_FILE} "</Project>\n")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 316 KiB |
|
@ -41,4 +41,6 @@ set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
|
||||||
set(CPACK_PACKAGE_VENDOR "Shaun Reed")
|
set(CPACK_PACKAGE_VENDOR "Shaun Reed")
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Qt OpenGL 3D graphics library.")
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Qt OpenGL 3D graphics library.")
|
||||||
set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/shaunrd0/qtk")
|
set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/shaunrd0/qtk")
|
||||||
|
set(CPACK_SOURCE_IGNORE_FILES build;install;\.git;\.github;\.idea)
|
||||||
|
set(CPACK_PACKAGE_DIRECTORY packages/)
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
|
@ -96,9 +96,36 @@ set_target_properties(
|
||||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||||
)
|
)
|
||||||
|
|
||||||
install(
|
if(WIN32)
|
||||||
TARGETS qtk-main
|
get_target_property(_qt6_qmake_location Qt6::qmake IMPORTED_LOCATION)
|
||||||
BUNDLE DESTINATION bin
|
execute_process(
|
||||||
RUNTIME DESTINATION bin
|
COMMAND "${_qt6_qmake_location}" -query QT_INSTALL_PREFIX
|
||||||
LIBRARY DESTINATION bin/lib
|
RESULT_VARIABLE return_code
|
||||||
)
|
OUTPUT_VARIABLE qt6_install_prefix
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
file(TO_NATIVE_PATH "${qt6_install_prefix}/bin" qt6_install_prefix)
|
||||||
|
|
||||||
|
if(TARGET Qt6::windeployqt)
|
||||||
|
add_custom_command(
|
||||||
|
TARGET qtk-main
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND set PATH=%PATH%$<SEMICOLON>${qt6_install_prefix}
|
||||||
|
COMMAND Qt6::windeployqt --dir "${CMAKE_BINARY_DIR}/windeployqt" "$<TARGET_FILE_DIR:qtk-main>/$<TARGET_FILE_NAME:qtk-main>"
|
||||||
|
)
|
||||||
|
install(DIRECTORY "${CMAKE_BINARY_DIR}/windeployqt/" DESTINATION bin)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MSVC AND TARGET Qt6::qmake)
|
||||||
|
set(VSUSER_FILE "${CMAKE_CURRENT_BINARY_DIR}/qtk-main.vcxproj.user")
|
||||||
|
file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/extern/assimp/assimp/bin" assimp_bin)
|
||||||
|
file(WRITE ${VSUSER_FILE} "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} "<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} " <PropertyGroup>\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} " <LocalDebuggerEnvironment>Path=$(SolutionDir)\\lib\\$(Configuration);${qt6_install_prefix};${assimp_bin};$(Path)\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} "$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} " <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} " </PropertyGroup>\n")
|
||||||
|
file(APPEND ${VSUSER_FILE} "</Project>\n")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
## Contact: shaunrd0@gmail.com | URL: www.shaunreed.com | GitHub: shaunrd0 ##
|
## Contact: shaunrd0@gmail.com | URL: www.shaunreed.com | GitHub: shaunrd0 ##
|
||||||
##############################################################################*/
|
##############################################################################*/
|
||||||
|
|
||||||
#include "examplescene.h"
|
|
||||||
#include "qtkmainwindow.h"
|
#include "qtkmainwindow.h"
|
||||||
|
#include "examplescene.h"
|
||||||
#include "ui_qtkmainwindow.h"
|
#include "ui_qtkmainwindow.h"
|
||||||
|
|
||||||
MainWindow * MainWindow::mainWindow_ = Q_NULLPTR;
|
MainWindow * MainWindow::mainWindow_ = Q_NULLPTR;
|
||||||
|
|
|
@ -27,7 +27,9 @@
|
||||||
* This cannot be defined within any namespace, but can be called by ctors.
|
* This cannot be defined within any namespace, but can be called by ctors.
|
||||||
* See object.h for example.
|
* See object.h for example.
|
||||||
*/
|
*/
|
||||||
inline void initResources() { Q_INIT_RESOURCE(resources); }
|
inline void initResources() {
|
||||||
|
Q_INIT_RESOURCE(resources);
|
||||||
|
}
|
||||||
|
|
||||||
namespace Qtk {
|
namespace Qtk {
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue