mirror of
				https://github.com/velopack/velopack.git
				synced 2025-10-25 15:19:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| cmake_minimum_required(VERSION 3.21)
 | |
| 
 | |
| project(VelopackQtSample VERSION 0.1 LANGUAGES CXX)
 | |
| 
 | |
| set(CMAKE_AUTOMOC ON)
 | |
| set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | |
| 
 | |
| 
 | |
| # Disable C and C++ compiler extensions.
 | |
| # C/CXX_EXTENSIONS are ON by default to allow the compilers to use extended
 | |
| # variants of the C/CXX language.
 | |
| # However, this could expose cross-platform bugs in user code or in the headers
 | |
| # of third-party dependencies and thus it is strongly suggested to turn
 | |
| # extensions off.
 | |
| set(CMAKE_CXX_STANDARD 20)
 | |
| set(CMAKE_C_EXTENSIONS OFF)
 | |
| set(CMAKE_CXX_EXTENSIONS OFF)
 | |
| set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | |
| 
 | |
| find_package(Qt6 6.2 REQUIRED COMPONENTS Quick)
 | |
| 
 | |
| 
 | |
| qt_add_executable(appVelopackQtSample
 | |
|     main.cpp
 | |
|     constants.h
 | |
|     Velopack.hpp
 | |
|     Velopack.cpp
 | |
|     autoupdater.h
 | |
|     autoupdater.cpp
 | |
| )
 | |
| 
 | |
| qt_add_qml_module(appVelopackQtSample
 | |
|     URI VelopackQtSample
 | |
|     VERSION 1.0
 | |
|     QML_FILES Main.qml
 | |
| )
 | |
| 
 | |
| # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
 | |
| # If you are developing for iOS or macOS you should consider setting an
 | |
| # explicit, fixed bundle identifier manually though.
 | |
| set_target_properties(appVelopackQtSample PROPERTIES
 | |
| #    MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appVelopackQtSample
 | |
|     MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
 | |
|     MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
 | |
|     MACOSX_BUNDLE TRUE
 | |
|     WIN32_EXECUTABLE TRUE
 | |
| )
 | |
| 
 | |
| target_link_libraries(appVelopackQtSample
 | |
|     PRIVATE Qt6::Quick
 | |
| )
 | |
| 
 | |
| include(GNUInstallDirs)
 | |
| install(TARGETS appVelopackQtSample
 | |
|     BUNDLE DESTINATION .
 | |
|     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
 | |
|     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
 | |
| )
 | |
| 
 | |
| if (APPLE)
 | |
|     # Copy macOS updater/installer binary that needs to be next to our binary
 | |
|     install(FILES ${PROJECT_SOURCE_DIR}/platforms/macos/VfusionMac DESTINATION ${CMAKE_INSTALL_BINDIR})
 | |
| elseif(WIN32)
 | |
|     # Copy Windows updater/installer binary that needs to be next to our binary
 | |
|     install(FILES ${PROJECT_SOURCE_DIR}/platforms/windows/Vfusion.exe DESTINATION ${CMAKE_INSTALL_BINDIR})
 | |
| endif()
 | |
| 
 | |
| qt_generate_deploy_qml_app_script(
 | |
|     TARGET appVelopackQtSample
 | |
|     OUTPUT_SCRIPT deploy_script
 | |
| )
 | |
| 
 | |
| install(SCRIPT ${deploy_script})
 |