-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
101 lines (91 loc) · 2.83 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
cmake_minimum_required(VERSION 3.5)
project(hyperart_qtwidgets VERSION 0.9.1 LANGUAGES CXX)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Xml)
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
defs.h
defs.cpp
datareader.h
datareader.cpp
diagram.h
diagram.cpp
pattern.h
pattern.cpp
permutation.h
permutation.cpp
element.h
element.cpp
transformation.h
transformation.cpp
matrix.h
matrix.cpp
layer.h
layer.cpp
pgonedge.h
pgonedge.cpp
parameters.h
parameters.cpp
regularpgon.h
regularpgon.cpp
irregularpgon.h
irregularpgon.cpp
poincareview.h
poincareview.cpp
canvaselements.h
canvaselements.cpp
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(hyperart_qtwidgets
MACOSX_BUNDLE
MANUAL_FINALIZATION
${PROJECT_SOURCES}
${CMAKE_SOURCE_DIR}/icons/HyperArt.icns
)
# Define target properties for Android with Qt 6 as:
# set_property(TARGET hyperart_qtwidgets APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
else()
if(ANDROID)
add_library(hyperart_qtwidgets SHARED
${PROJECT_SOURCES}
)
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
add_executable(hyperart_qtwidgets
${PROJECT_SOURCES}
)
endif()
endif()
target_link_libraries(hyperart_qtwidgets PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries(hyperart_qtwidgets PRIVATE Qt${QT_VERSION_MAJOR}::Xml)
set_target_properties(hyperart_qtwidgets PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER com.ajitomatix.hyperart
MACOSX_BUNDLE_BUNDLE_NAME "Hyper Art"
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
OUTPUT_NAME "HyperArt"
MACOSX_BUNDLE_ICON_FILE HyperArt.icns
RESOURCE ${CMAKE_SOURCE_DIR}/icons/HyperArt.icns
)
install(TARGETS hyperart_qtwidgets
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(hyperart_qtwidgets)
endif()