Test packaging
+ Update assimp to latest
This commit is contained in:
		
							parent
							
								
									cf433ad7fc
								
							
						
					
					
						commit
						55dd8e5c3c
					
				
							
								
								
									
										98
									
								
								.github/workflows/all-builds.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										98
									
								
								.github/workflows/all-builds.yml
									
									
									
									
										vendored
									
									
								
							@ -13,11 +13,11 @@ jobs:
 | 
				
			|||||||
        os: [ubuntu-latest, windows-latest, macos-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.5.0/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.5.0/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.5.0/gcc_64/"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    runs-on: ${{ matrix.os }}
 | 
					    runs-on: ${{ matrix.os }}
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@ -26,19 +26,47 @@ jobs:
 | 
				
			|||||||
      - name: Install Qt
 | 
					      - name: Install Qt
 | 
				
			||||||
        uses: jurplel/install-qt-action@v2
 | 
					        uses: jurplel/install-qt-action@v2
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          version: '6.3.1'
 | 
					          version: '6.5.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Chocolatey Action
 | 
					      - name: Chocolatey Action
 | 
				
			||||||
        if: matrix.os == 'windows-latest'
 | 
					        if: matrix.os == 'windows-latest'
 | 
				
			||||||
        uses: crazy-max/ghaction-chocolatey@v2.0.0
 | 
					        uses: crazy-max/ghaction-chocolatey@v2
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1
 | 
					          args: install pkgconfiglite
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - 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 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - uses: actions/upload-artifact@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: qtk-packages-${{ matrix.os }}
 | 
				
			||||||
 | 
					          path: |
 | 
				
			||||||
 | 
					            build/packages/
 | 
				
			||||||
 | 
					            !build/packages/_CPack_Packages/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Install Qtk
 | 
				
			||||||
 | 
					        shell: bash
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          cmake --install build/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - uses: actions/upload-artifact@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: qtk-${{ matrix.os }}
 | 
				
			||||||
 | 
					          path: install/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Build-Qtk-Assimp-Targets:
 | 
					  Build-Qtk-Assimp-Targets:
 | 
				
			||||||
    strategy:
 | 
					    strategy:
 | 
				
			||||||
@ -47,9 +75,9 @@ jobs:
 | 
				
			|||||||
        os: [ubuntu-latest, macos-latest]
 | 
					        os: [ubuntu-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.5.0/gcc_64/"
 | 
				
			||||||
          - os: macos-latest
 | 
					          - os: macos-latest
 | 
				
			||||||
            cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/" -DASSIMP_NEW_INTERFACE=ON
 | 
					            cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.5.0/gcc_64/" -DASSIMP_NEW_INTERFACE=ON
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    runs-on: ${{ matrix.os }}
 | 
					    runs-on: ${{ matrix.os }}
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@ -58,7 +86,7 @@ jobs:
 | 
				
			|||||||
      - name: Install Qt
 | 
					      - name: Install Qt
 | 
				
			||||||
        uses: jurplel/install-qt-action@v2
 | 
					        uses: jurplel/install-qt-action@v2
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          version: '6.3.1'
 | 
					          version: '6.5.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Install Assimp MacOS
 | 
					      - name: Install Assimp MacOS
 | 
				
			||||||
        if: matrix.os == 'macos-latest'
 | 
					        if: matrix.os == 'macos-latest'
 | 
				
			||||||
@ -75,5 +103,49 @@ 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.deb
 | 
				
			||||||
 | 
					#            url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Linux_x86_64.deb
 | 
				
			||||||
 | 
					#            qmake: /home/runner/work/qtk/Qt/6.5.0/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.5.0/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.5.0/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.5.0'
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#      - name: Package Qtk
 | 
				
			||||||
 | 
					#        shell: bash
 | 
				
			||||||
 | 
					#        run: |
 | 
				
			||||||
 | 
					#          wget -O ${{ matrix.cqt }} ${{ matrix.url }}
 | 
				
			||||||
 | 
					#          apt install -y ./${{ matrix.cqt }}
 | 
				
			||||||
 | 
					#          cqtdeployer -bin qtk-main -qmake ${{ matrix.qmake }}
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#      - uses: actions/upload-artifact@v3
 | 
				
			||||||
 | 
					#        with:
 | 
				
			||||||
 | 
					#          name: qtk-installer-${{ matrix.os }}
 | 
				
			||||||
 | 
					#          path: DistributionKit/
 | 
				
			||||||
 | 
				
			|||||||
@ -55,7 +55,7 @@ option(
 | 
				
			|||||||
    OFF
 | 
					    OFF
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(QT_DIR "$ENV{HOME}/Code/Clones/Qt/" CACHE PATH "Path to Qt6")
 | 
					set(QT_DIR "$ENV{HOME}/Qt/" CACHE PATH "Path to Qt6")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Qt Designer will look in different locations if WIN / Unix.
 | 
					# Qt Designer will look in different locations if WIN / Unix.
 | 
				
			||||||
# These paths are for using Qt Designer integrated within Qt Creator.
 | 
					# These paths are for using Qt Designer integrated within Qt Creator.
 | 
				
			||||||
@ -70,7 +70,7 @@ else()
 | 
				
			|||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This should be set to your Qt6 installation directory.
 | 
					# This should be set to your Qt6 installation directory.
 | 
				
			||||||
set(QT_INSTALL_DIR "${QT_DIR}/6.3.1/gcc_64/" CACHE PATH "Path to Qt6 install")
 | 
					set(QT_INSTALL_DIR "${QT_DIR}/6.5.0/gcc_64" CACHE PATH "Path to Qt6 install")
 | 
				
			||||||
# Point CMAKE_PREFIX_PATH to Qt6 install directory
 | 
					# Point CMAKE_PREFIX_PATH to Qt6 install directory
 | 
				
			||||||
# If Qtk is built within Qt Creator this is not required.
 | 
					# If Qtk is built within Qt Creator this is not required.
 | 
				
			||||||
list(APPEND CMAKE_PREFIX_PATH "${QT_INSTALL_DIR}")
 | 
					list(APPEND CMAKE_PREFIX_PATH "${QT_INSTALL_DIR}")
 | 
				
			||||||
@ -98,6 +98,7 @@ endforeach()
 | 
				
			|||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Find Qt
 | 
					# Find Qt
 | 
				
			||||||
find_package(Qt6 COMPONENTS Core UiPlugin OpenGLWidgets)
 | 
					find_package(Qt6 COMPONENTS Core UiPlugin OpenGLWidgets)
 | 
				
			||||||
 | 
					qt_standard_project_setup()
 | 
				
			||||||
if(NOT Qt6_FOUND)
 | 
					if(NOT Qt6_FOUND)
 | 
				
			||||||
  message(
 | 
					  message(
 | 
				
			||||||
      SEND_ERROR "[Qtk] Error: Unable to find Qt6 at CMAKE_PREFIX_PATH: "
 | 
					      SEND_ERROR "[Qtk] Error: Unable to find Qt6 at CMAKE_PREFIX_PATH: "
 | 
				
			||||||
@ -113,6 +114,8 @@ endif()
 | 
				
			|||||||
# Find Assimp
 | 
					# Find Assimp
 | 
				
			||||||
if(QTK_UPDATE_SUBMODULES)
 | 
					if(QTK_UPDATE_SUBMODULES)
 | 
				
			||||||
  message(STATUS "[Qtk] Updating submodules...")
 | 
					  message(STATUS "[Qtk] Updating submodules...")
 | 
				
			||||||
 | 
					  set(ASSIMP_BUILD_TESTS OFF)
 | 
				
			||||||
 | 
					  set(ASSIMP_INSTALL OFF)
 | 
				
			||||||
  submodule_update("${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/")
 | 
					  submodule_update("${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/")
 | 
				
			||||||
  add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/")
 | 
					  add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/")
 | 
				
			||||||
else()
 | 
					else()
 | 
				
			||||||
@ -127,37 +130,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()
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							@ -19,6 +19,7 @@ Key features that are planned:
 | 
				
			|||||||
 * Save / load for scene data. The current inheritance model is temporary.
 | 
					 * Save / load for scene data. The current inheritance model is temporary.
 | 
				
			||||||
 * Basic text editor for quickly modifying shaders attached to objects.
 | 
					 * Basic text editor for quickly modifying shaders attached to objects.
 | 
				
			||||||
 * Shader / object properties panel to modify related settings.
 | 
					 * Shader / object properties panel to modify related settings.
 | 
				
			||||||
 | 
					 * Reduce size of application resources and git references.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The Qtk desktop application provides a model loader using [Assimp](https://assimp.org/) within a Qt widget application.
 | 
					The Qtk desktop application provides a model loader using [Assimp](https://assimp.org/) within a Qt widget application.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -33,8 +34,8 @@ and see some examples in the `resources/models/` directory.
 | 
				
			|||||||
Qtk was developed and tested using CLion and [Qt Creator](https://github.com/qt-creator/qt-creator).
 | 
					Qtk was developed and tested using CLion and [Qt Creator](https://github.com/qt-creator/qt-creator).
 | 
				
			||||||
Simply open the root `CMakeLists.txt` with either of these editors and configurations will be loaded.
 | 
					Simply open the root `CMakeLists.txt` with either of these editors and configurations will be loaded.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This project has been ported to Qt6, which is not yet available in Ubuntu apt repositories.
 | 
					This project has been ported to **Qt 6.5.0**, which is not yet available in Ubuntu apt repositories.
 | 
				
			||||||
To run this project, you will *need* to install [Qt6 Open Source Binaries](https://www.qt.io/download-qt-installer) for your system.
 | 
					To run this project, you will *need* to install [Qt6 Open Source Binaries](https://www.qt.io/download-qt-installer) for your system, **version 6.5.0** or later.
 | 
				
			||||||
Be sure to take note of the Qt6 installation directory, as we will need it to correctly set our `CMAKE_PREFIX_PATH` in the next steps.
 | 
					Be sure to take note of the Qt6 installation directory, as we will need it to correctly set our `CMAKE_PREFIX_PATH` in the next steps.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Linux
 | 
					#### Linux
 | 
				
			||||||
@ -101,6 +102,13 @@ If you see a small triangle floating by a model it represents the light source
 | 
				
			|||||||
that is being used for the shader rendering the model. These appear on models
 | 
					that is being used for the shader rendering the model. These appear on models
 | 
				
			||||||
using phong, specular, and diffuse lighting techniques.
 | 
					using phong, specular, and diffuse lighting techniques.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Object names can be double-clicked in the tree view panel for quick camera
 | 
				
			||||||
 | 
					navigation. All panels and toolbars are dockable widgets that can be popped out
 | 
				
			||||||
 | 
					and reorganized as needed. Panels can be stacked to create a docked widget with
 | 
				
			||||||
 | 
					tabs. The central widget that provides the camera view into the scene cannot be
 | 
				
			||||||
 | 
					detached from the main window in this way. See the `View` menu to enable debug
 | 
				
			||||||
 | 
					console widgets for open scenes or reopen previously closed panels.
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Spartan with no normals -
 | 
					Spartan with no normals -
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								extern/assimp/assimp
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								extern/assimp/assimp
									
									
									
									
										vendored
									
									
								
							@ -1 +1 @@
 | 
				
			|||||||
Subproject commit bd64cc88dff17f118ecf32ebcbacaf566f6b6449
 | 
					Subproject commit eb328ce69dd7b06977aed125e967a41e835b8431
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 316 KiB  | 
@ -41,4 +41,11 @@ 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/)
 | 
				
			||||||
 | 
					if(WIN32)
 | 
				
			||||||
 | 
					  set(CPACK_SOURCE_GENERATOR ZIP)
 | 
				
			||||||
 | 
					else()
 | 
				
			||||||
 | 
					  set(CPACK_SOURCE_GENERATOR TGZ)
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
include(CPack)
 | 
					include(CPack)
 | 
				
			||||||
 | 
				
			|||||||
@ -11,13 +11,16 @@
 | 
				
			|||||||
# Create a library of widgets used to build Qtk GUI
 | 
					# Create a library of widgets used to build Qtk GUI
 | 
				
			||||||
set(
 | 
					set(
 | 
				
			||||||
    QTK_PLUGIN_LIBRARY_SOURCES
 | 
					    QTK_PLUGIN_LIBRARY_SOURCES
 | 
				
			||||||
    qtkwidget.cpp qtkwidget.h
 | 
					    qtkwidget.cpp
 | 
				
			||||||
    debugconsole.cpp debugconsole.ui
 | 
					    debugconsole.cpp debugconsole.ui
 | 
				
			||||||
    toolbox.cpp toolbox.ui
 | 
					    toolbox.cpp toolbox.ui
 | 
				
			||||||
    treeview.cpp treeview.ui
 | 
					    treeview.cpp treeview.ui
 | 
				
			||||||
 | 
					    qtkmainwindow.cpp qtkmainwindow.ui
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
set(
 | 
					set(
 | 
				
			||||||
    QTK_PLUGIN_LIBRARY_HEADERS
 | 
					    QTK_PLUGIN_LIBRARY_HEADERS
 | 
				
			||||||
 | 
					    qtkmainwindow.h
 | 
				
			||||||
 | 
					    qtkwidget.h
 | 
				
			||||||
    debugconsole.h
 | 
					    debugconsole.h
 | 
				
			||||||
    toolbox.h
 | 
					    toolbox.h
 | 
				
			||||||
    treeview.h
 | 
					    treeview.h
 | 
				
			||||||
@ -72,12 +75,9 @@ install(
 | 
				
			|||||||
set(
 | 
					set(
 | 
				
			||||||
    QTK_APP_SOURCES
 | 
					    QTK_APP_SOURCES
 | 
				
			||||||
    examplescene.cpp examplescene.h
 | 
					    examplescene.cpp examplescene.h
 | 
				
			||||||
    qtkmainwindow.cpp qtkmainwindow.ui
 | 
					 | 
				
			||||||
    qtkmainwindow.h
 | 
					 | 
				
			||||||
    main.cpp
 | 
					    main.cpp
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
# TODO: Qtk library should not depend on these resources. (qtkapi.h)
 | 
					
 | 
				
			||||||
#   Or should some resources be installed somewhere?
 | 
					 | 
				
			||||||
qt6_add_resources(QTK_APP_SOURCES "${QTK_RESOURCES}/resources.qrc")
 | 
					qt6_add_resources(QTK_APP_SOURCES "${QTK_RESOURCES}/resources.qrc")
 | 
				
			||||||
configure_file(
 | 
					configure_file(
 | 
				
			||||||
    resources.h.in
 | 
					    resources.h.in
 | 
				
			||||||
@ -102,3 +102,44 @@ install(
 | 
				
			|||||||
    RUNTIME DESTINATION bin
 | 
					    RUNTIME DESTINATION bin
 | 
				
			||||||
    LIBRARY DESTINATION bin/lib
 | 
					    LIBRARY DESTINATION bin/lib
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					qt_generate_deploy_app_script(
 | 
				
			||||||
 | 
					    TARGET qtk-main
 | 
				
			||||||
 | 
					    FILENAME_VARIABLE deploy_script
 | 
				
			||||||
 | 
					    NO_UNSUPPORTED_PLATFORM_ERROR
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					install(SCRIPT ${deploy_script})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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()
 | 
				
			||||||
 | 
				
			|||||||
@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user