Add instructions to install with qt-base-dev.
This commit is contained in:
		
							parent
							
								
									a3e7dc47d8
								
							
						
					
					
						commit
						310f337f57
					
				@ -4,7 +4,7 @@
 | 
				
			|||||||
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com  ##
 | 
					## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com  ##
 | 
				
			||||||
## All Content (c) 2025 Shaun Reed, all rights reserved                       ##
 | 
					## All Content (c) 2025 Shaun Reed, all rights reserved                       ##
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
cmake_minimum_required(VERSION 3.23)
 | 
					cmake_minimum_required(VERSION 3.28)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Constants
 | 
					# Constants
 | 
				
			||||||
@ -84,7 +84,7 @@ endif()
 | 
				
			|||||||
set(QT_INSTALL_DIR "$ENV{HOME}/Qt/6.5.0/gcc_64/lib/cmake" CACHE PATH "Path to Qt6 install.")
 | 
					set(QT_INSTALL_DIR "$ENV{HOME}/Qt/6.5.0/gcc_64/lib/cmake" CACHE PATH "Path to Qt6 install.")
 | 
				
			||||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 | 
					if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 | 
				
			||||||
  set(CMAKE_INSTALL_PREFIX  "${CMAKE_BINARY_DIR}/install")
 | 
					  set(CMAKE_INSTALL_PREFIX  "${CMAKE_BINARY_DIR}/install")
 | 
				
			||||||
endif ()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(QTK_RESOURCES "${CMAKE_SOURCE_DIR}/resources")
 | 
					set(QTK_RESOURCES "${CMAKE_SOURCE_DIR}/resources")
 | 
				
			||||||
set(QTK_OSX_ICONS ${CMAKE_SOURCE_DIR}/resources/icons/osx/kilroy.icns)
 | 
					set(QTK_OSX_ICONS ${CMAKE_SOURCE_DIR}/resources/icons/osx/kilroy.icns)
 | 
				
			||||||
@ -205,3 +205,25 @@ foreach(VAR_NAME IN LISTS VAR_NAMES VAR_PATHS)
 | 
				
			|||||||
    message(STATUS "[Qtk] ${VAR_NAME}=${${VAR_NAME}}")
 | 
					    message(STATUS "[Qtk] ${VAR_NAME}=${${VAR_NAME}}")
 | 
				
			||||||
  endif()
 | 
					  endif()
 | 
				
			||||||
endforeach()
 | 
					endforeach()
 | 
				
			||||||
 | 
					message(STATUS "[Qtk] Installation prefix: ${CMAKE_INSTALL_PREFIX}")
 | 
				
			||||||
 | 
					message(STATUS "[Qtk] Found Qt6: ${Qt6Core_VERSION}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# qt_generate_deploy_app_script is supported on Linux in QtCore >= 6.5.0.
 | 
				
			||||||
 | 
					# qt_generate_deploy_app_script supports Windows and OSX in QtCore >= 6.3.
 | 
				
			||||||
 | 
					# https://doc.qt.io/qt-6.5/qt-generate-deploy-app-script.html
 | 
				
			||||||
 | 
					# https://doc.qt.io/archives/qt-6.4/qt-generate-deploy-app-script.html
 | 
				
			||||||
 | 
					# The application can still build and run, we just can't install.
 | 
				
			||||||
 | 
					if(QTK_GUI OR QTK_EXAMPLE)
 | 
				
			||||||
 | 
					  if(UNIX AND NOT APPLE)
 | 
				
			||||||
 | 
					    # Ubuntu 24.04 provides QtCore 6.4.2 in qt-base-dev.
 | 
				
			||||||
 | 
					    # This version of qt_generate_deploy_app_script does not support Linux.
 | 
				
			||||||
 | 
					    if (Qt6_VERSION VERSION_LESS "6.5.0")
 | 
				
			||||||
 | 
					      message(WARNING "[Qtk] Installation is only supported on Qt >=6.5.\n")
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					  elseif(APPLE OR WIN32)
 | 
				
			||||||
 | 
					    # Predates qt_generate_deploy_app_script.
 | 
				
			||||||
 | 
					    if (Qt6_VERSION VERSION_LESS "6.3.0")
 | 
				
			||||||
 | 
					      message(WARNING "[Qtk] Installation is only supported on Qt >=6.5.\n")
 | 
				
			||||||
 | 
					    endif()
 | 
				
			||||||
 | 
					  endif()
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										26
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								README.md
									
									
									
									
									
								
							@ -67,7 +67,7 @@ Key features that are planned:
 | 
				
			|||||||
- [ ] Basic text editor for quickly modifying shaders attached to objects.
 | 
					- [ ] Basic text editor for quickly modifying shaders attached to objects.
 | 
				
			||||||
- [ ] Reduce size of application resources and git references.
 | 
					- [ ] Reduce size of application resources and git references.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For examples of using the libqtk API, see the [example-app](./example-app)
 | 
					For examples of using libqtk, see the [example-app](./example-app)
 | 
				
			||||||
project in the root of this repository.
 | 
					project in the root of this repository.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To get textures loading on models look
 | 
					To get textures loading on models look
 | 
				
			||||||
@ -82,13 +82,19 @@ Simply open the root `CMakeLists.txt` with either of these editors and default
 | 
				
			|||||||
configurations will be loaded. To simplify providing Qt to the build, Qt Creator
 | 
					configurations will be loaded. To simplify providing Qt to the build, Qt Creator
 | 
				
			||||||
is the recommended option.
 | 
					is the recommended option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This project has been ported to **Qt 6.6.0**, which is not yet available in
 | 
					If you have manually installed [Qt6 Open Source Binaries](https://www.qt.io/download-qt-installer)
 | 
				
			||||||
Ubuntu apt repositories.
 | 
					for your system, be sure to correctly set your `CMAKE_PREFIX_PATH` in the next steps.
 | 
				
			||||||
To run this project, you will *need* to
 | 
					On Ubuntu 24.04 the default installation directory to use for this path using Qt 6.5.0 is `$HOME/Qt/6.5.0/gcc_64/lib/cmake`.
 | 
				
			||||||
install [Qt6 Open Source Binaries](https://www.qt.io/download-qt-installer) for
 | 
					
 | 
				
			||||||
your system, **version 6.6.0** or later.
 | 
					The Ubuntu apt repositories contain all the packages we need to build all targets.
 | 
				
			||||||
Be sure to take note of the Qt6 installation directory, as we will need it to
 | 
					To build Qtk desktop application with the scene in the screenshots below run the following commands.
 | 
				
			||||||
correctly set our `CMAKE_PREFIX_PATH` in the next steps.
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					sudo apt update && sudo apt install cmake build-essential git ccache libxkbcommon-dev libassimp-dev qt6-base-dev qt6-tools-dev
 | 
				
			||||||
 | 
					cmake -DQTK_GUI_SCENE=ON -B build
 | 
				
			||||||
 | 
					cmake --build build
 | 
				
			||||||
 | 
					./build/bin/qtk_gui
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Build Options
 | 
					#### Build Options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -146,7 +152,7 @@ For this example we will configure the build with all options enabled.
 | 
				
			|||||||
In the separate sections below we can install individual components with cmake.
 | 
					In the separate sections below we can install individual components with cmake.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
sudo apt update -y && sudo apt install libassimp-dev cmake build-essential git ccache libgl1-mesa-dev libglvnd-dev zlib1g-dev -y
 | 
					sudo apt update -y && sudo apt install cmake build-essential git ccache libxkbcommon-dev libassimp-dev qt6-base-dev qt6-tools-dev -y
 | 
				
			||||||
git clone https://github.com/shaunrd0/qtk
 | 
					git clone https://github.com/shaunrd0/qtk
 | 
				
			||||||
cd qtk
 | 
					cd qtk
 | 
				
			||||||
# Configure the build with all components enabled
 | 
					# Configure the build with all components enabled
 | 
				
			||||||
@ -265,7 +271,7 @@ This project is using `clang-format` version `>=15.0.5`.
 | 
				
			|||||||
On Ubuntu 24.04, clang-format 18 is available to install in apt repositories.
 | 
					On Ubuntu 24.04, clang-format 18 is available to install in apt repositories.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
sudo apt install clang-format
 | 
					sudo apt install clang-format clang-tidy
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If `clang-format --version` is any earlier than `15.0.0`, running `clang-format` will fail because this project uses configuration options made available since `15.0.0`.
 | 
					If `clang-format --version` is any earlier than `15.0.0`, running `clang-format` will fail because this project uses configuration options made available since `15.0.0`.
 | 
				
			||||||
 | 
				
			|||||||
@ -80,17 +80,24 @@ target_link_libraries(qtk_example PUBLIC Qt6::Widgets Qt6::OpenGLWidgets Qt6::Co
 | 
				
			|||||||
target_link_libraries(qtk_example PUBLIC Qtk::qtk)
 | 
					target_link_libraries(qtk_example PUBLIC Qtk::qtk)
 | 
				
			||||||
target_include_directories(qtk_example PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
 | 
					target_include_directories(qtk_example PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install(
 | 
					# qt_generate_deploy_app_script supports Windows and OSX in QtCore >= 6.3.
 | 
				
			||||||
 | 
					# qt_generate_deploy_app_script is supported on Linux in QtCore >= 6.5.0.
 | 
				
			||||||
 | 
					if((Qt6_VERSION VERSION_GREATER_EQUAL "6.3.0" AND (WIN32 OR APPLE))
 | 
				
			||||||
 | 
					    OR Qt6_VERSION VERSION_GREATER_EQUAL "6.5.0")
 | 
				
			||||||
 | 
					  install(
 | 
				
			||||||
      TARGETS qtk_example
 | 
					      TARGETS qtk_example
 | 
				
			||||||
      COMPONENT qtk_example
 | 
					      COMPONENT qtk_example
 | 
				
			||||||
      BUNDLE DESTINATION .
 | 
					      BUNDLE DESTINATION .
 | 
				
			||||||
      LIBRARY DESTINATION lib
 | 
					      LIBRARY DESTINATION lib
 | 
				
			||||||
      ARCHIVE DESTINATION lib/static
 | 
					      ARCHIVE DESTINATION lib/static
 | 
				
			||||||
      RUNTIME DESTINATION bin
 | 
					      RUNTIME DESTINATION bin
 | 
				
			||||||
)
 | 
					  )
 | 
				
			||||||
qt_generate_deploy_app_script(
 | 
					  qt_generate_deploy_app_script(
 | 
				
			||||||
      TARGET qtk_example
 | 
					      TARGET qtk_example
 | 
				
			||||||
      OUTPUT_SCRIPT QTK_EXAMPLE_DEPLOY_SCRIPT
 | 
					      OUTPUT_SCRIPT QTK_EXAMPLE_DEPLOY_SCRIPT
 | 
				
			||||||
      NO_UNSUPPORTED_PLATFORM_ERROR
 | 
					      NO_UNSUPPORTED_PLATFORM_ERROR
 | 
				
			||||||
)
 | 
					  )
 | 
				
			||||||
install(SCRIPT ${QTK_EXAMPLE_DEPLOY_SCRIPT} COMPONENT qtk_example)
 | 
					  install(SCRIPT ${QTK_EXAMPLE_DEPLOY_SCRIPT} COMPONENT qtk_example)
 | 
				
			||||||
 | 
					elseif(NOT Qtk_IS_TOP_LEVEL)
 | 
				
			||||||
 | 
					  message(WARNING "[Qtk] Installation is only supported on Qt >=6.5.\n")
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
@ -37,7 +37,7 @@ qt_add_executable(qtk_gui ${QTK_GUI_SOURCES})
 | 
				
			|||||||
target_link_libraries(qtk_gui PRIVATE qtk_plugin_library)
 | 
					target_link_libraries(qtk_gui PRIVATE qtk_plugin_library)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (QTK_GUI_SCENE)
 | 
					if (QTK_GUI_SCENE)
 | 
				
			||||||
  target_compile_definitions(qtk_gui PUBLIC QTK_GUI_SCENE)
 | 
					  target_compile_definitions(qtk_gui PRIVATE -DQTK_GUI_SCENE)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (WIN32)
 | 
					if (WIN32)
 | 
				
			||||||
@ -56,21 +56,25 @@ elseif(APPLE)
 | 
				
			|||||||
  )
 | 
					  )
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install(
 | 
					# qt_generate_deploy_app_script supports Windows and OSX in QtCore >= 6.3.
 | 
				
			||||||
 | 
					# qt_generate_deploy_app_script is supported on Linux in QtCore >= 6.5.0.
 | 
				
			||||||
 | 
					if((Qt6_VERSION VERSION_GREATER_EQUAL "6.3.0" AND (WIN32 OR APPLE))
 | 
				
			||||||
 | 
					    OR Qt6_VERSION VERSION_GREATER_EQUAL "6.5.0")
 | 
				
			||||||
 | 
					  install(
 | 
				
			||||||
      TARGETS qtk_gui
 | 
					      TARGETS qtk_gui
 | 
				
			||||||
      COMPONENT qtk_gui
 | 
					      COMPONENT qtk_gui
 | 
				
			||||||
      BUNDLE DESTINATION .
 | 
					      BUNDLE DESTINATION .
 | 
				
			||||||
      LIBRARY DESTINATION lib
 | 
					      LIBRARY DESTINATION lib
 | 
				
			||||||
      ARCHIVE DESTINATION lib
 | 
					      ARCHIVE DESTINATION lib
 | 
				
			||||||
      RUNTIME DESTINATION bin
 | 
					      RUNTIME DESTINATION bin
 | 
				
			||||||
)
 | 
					  )
 | 
				
			||||||
 | 
					  qt_generate_deploy_app_script(
 | 
				
			||||||
qt_generate_deploy_app_script(
 | 
					 | 
				
			||||||
      TARGET qtk_gui
 | 
					      TARGET qtk_gui
 | 
				
			||||||
      OUTPUT_SCRIPT QTK_DEPLOY_SCRIPT
 | 
					      OUTPUT_SCRIPT QTK_DEPLOY_SCRIPT
 | 
				
			||||||
      NO_UNSUPPORTED_PLATFORM_ERROR
 | 
					      NO_UNSUPPORTED_PLATFORM_ERROR
 | 
				
			||||||
)
 | 
					  )
 | 
				
			||||||
install(SCRIPT ${QTK_DEPLOY_SCRIPT} COMPONENT qtk_gui)
 | 
					  install(SCRIPT ${QTK_DEPLOY_SCRIPT} COMPONENT qtk_gui)
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if(WIN32)
 | 
					if(WIN32)
 | 
				
			||||||
  if(MSVC AND TARGET Qt6::qmake)
 | 
					  if(MSVC AND TARGET Qt6::qmake)
 | 
				
			||||||
 | 
				
			|||||||
@ -55,7 +55,7 @@ target_sources(
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if(QTK_DEBUG)
 | 
					if(QTK_DEBUG)
 | 
				
			||||||
  target_compile_definitions(qtk PUBLIC QTK_DEBUG)
 | 
					  target_compile_definitions(qtk PUBLIC -DQTK_DEBUG)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set_target_properties(
 | 
					set_target_properties(
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user