]> git.mar77i.info Git - bigintmandel/blob - CMakeLists.txt
make zoom_factor part of MandelSettings
[bigintmandel] / CMakeLists.txt
1
2 # CMakeLists.txt
3 #
4 # This file is covered by the LICENSE file in the root of this project.
5
6 cmake_minimum_required(VERSION 3.5)
7
8 project(bigintmandel VERSION 0.1 LANGUAGES CXX)
9
10 set(CMAKE_AUTOUIC ON)
11 set(CMAKE_AUTOMOC ON)
12 set(CMAKE_AUTORCC ON)
13
14 set(CMAKE_CXX_STANDARD 11)
15 set(CMAKE_CXX_STANDARD_REQUIRED ON)
16
17 find_package(QT NAMES Qt6 REQUIRED COMPONENTS Widgets Concurrent)
18 find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent)
19
20 set(PROJECT_SOURCES
21 main.cpp
22 bigintmandelwidget.cpp
23 bigintmandelwidget.h
24 mandel.cpp
25 mandel.h
26 settingswidget.cpp
27 settingswidget.h
28 menubar.cpp
29 menubar.h
30 mandellabel.cpp
31 mandellabel.h
32 uint64validator.cpp
33 uint64validator.h
34 )
35
36 qt_add_executable(bigintmandel
37 MANUAL_FINALIZATION
38 ${PROJECT_SOURCES}
39 LICENSE
40 )
41 # Define target properties for Android with Qt 6 as:
42 #set_property(TARGET bigintmandel APPEND PROPERTY
43 # QT_ANDROID_PACKAGE_SOURCE_DIR
44 # ${CMAKE_CURRENT_SOURCE_DIR}/android)
45 # For more information,
46 # see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
47
48 target_link_libraries(
49 bigintmandel
50 PRIVATE
51 Qt6::Widgets
52 Qt6::Concurrent
53 gmp
54 )
55
56 # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
57 # If you are developing for iOS or macOS you should consider setting an
58 # explicit, fixed bundle identifier manually though.
59 if(${QT_VERSION} VERSION_LESS 6.1.0)
60 set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.bigintmandel)
61 endif()
62 set_target_properties(bigintmandel PROPERTIES
63 ${BUNDLE_ID_OPTION}
64 MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
65 MACOSX_BUNDLE_SHORT_VERSION_STRING
66 ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
67 MACOSX_BUNDLE TRUE
68 WIN32_EXECUTABLE TRUE
69 )
70
71 include(GNUInstallDirs)
72 install(TARGETS bigintmandel
73 BUNDLE DESTINATION .
74 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
75 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
76 )
77
78 qt_finalize_executable(bigintmandel)