1
+ cmake_minimum_required (VERSION 3.21 )
2
+ project (Qkinz VERSION 1.4.1 LANGUAGES C CXX )
3
+
4
+ list (APPEND CMAKE_PREFIX_PATH "/opt/homebrew/opt/qt@5" )
5
+
6
+ find_package (Threads REQUIRED )
7
+ find_package (Qt5 REQUIRED COMPONENTS Core Widgets WebEngine WebEngineCore WebEngineWidgets )
8
+ set (CMAKE_AUTOMOC ON )
9
+ set (CMAKE_AUTORCC ON )
10
+ set (CMAKE_AUTOUIC ON )
11
+
12
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
13
+ #set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64")
14
+ endif ()
15
+
16
+ # ---- Add source files ----
17
+ set (headers
18
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/global.h
19
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/types.h
20
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/mainwindow.h
21
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/qcustomplot.h
22
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/rundialog.h
23
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/selectbeamform.h
24
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/selectfrontbackform.h
25
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/selecttargetform.h
26
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/include/selecttelescopeform.h
27
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/BetheBlock.h
28
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/BetheBlockComp.h
29
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/CustomPower.h
30
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/DickNorbury.h
31
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/FileSP.h
32
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/Iterative.h
33
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/LNScattering.h
34
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/RelScatter.h
35
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/Scattering.h
36
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/StoppingPower.h
37
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/Ziegler1985.h
38
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/include/ZieglerComp.h
39
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/AbstractFunction.h
40
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/Matrix.h
41
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/PolyD2.h
42
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/Polyfit.h
43
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/Polynomial.h
44
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/spline.h
45
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/include/Vector.h
46
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/matter/include/Material.h
47
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/matter/include/Particle.h
48
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/include/BatchReader.h
49
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/include/Runsystem.h
50
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/include/tablemakerhtml.h
51
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/include/worker.h
52
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/include/ame2012_mass_tables.h
53
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/include/ame2012_masses.h
54
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/include/excitation.h
55
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/include/ziegler1985_table.h
56
+ )
57
+ set (sources
58
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/mainwindow.cpp
59
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/qcustomplot.cpp
60
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/rundialog.cpp
61
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/selectbeamform.cpp
62
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/selectfrontbackform.cpp
63
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/selecttargetform.cpp
64
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/gui/src/selecttelescopeform.cpp
65
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/BetheBlock.cpp
66
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/BetheBlockComp.cpp
67
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/CustomPower.cpp
68
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/DickNorbury.cpp
69
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/FileSP.cpp
70
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/Iterative.cpp
71
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/LNScattering.cpp
72
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/RelScatter.cpp
73
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/Scattering.cpp
74
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/StoppingPower.cpp
75
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/Ziegler1985.cpp
76
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/kinematics/src/ZieglerComp.cpp
77
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/AbstractFunction.cpp
78
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/Matrix.cpp
79
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/PolyD2.cpp
80
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/Polyfit.cpp
81
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/Polynomial.cpp
82
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/spline.cpp
83
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/math/src/Vector.cpp
84
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/matter/src/Material.cpp
85
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/matter/src/Particle.cpp
86
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/src/BatchReader.cpp
87
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/src/Runsystem.cpp
88
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/src/tablemakerhtml.cpp
89
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/support/src/worker.cpp
90
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/src/ame2012_mass_tables.cpp
91
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/src/ame2012_masses.cpp
92
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/src/excitation.cpp
93
+ ${CMAKE_CURRENT_SOURCE_DIR} /src/tables/src/ziegler1985_table.cpp
94
+ ${CMAKE_CURRENT_SOURCE_DIR} /app/main.cpp
95
+ )
96
+
97
+ qt5_add_resources (sources resources/resorces.qrc )
98
+
99
+ add_executable (${PROJECT_NAME} ${headers} ${sources} )
100
+
101
+ set_target_properties (${PROJECT_NAME} PROPERTIES CXX_STANDARD 20 )
102
+
103
+ target_include_directories (${PROJECT_NAME}
104
+ PRIVATE
105
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src>
106
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/gui/include>
107
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/kinematics/include>
108
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/math/include>
109
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/matter/include>
110
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/support/include>
111
+ $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /src/tables/include>
112
+ )
113
+
114
+ target_link_libraries (${PROJECT_NAME}
115
+ PUBLIC
116
+ Qt5::Widgets
117
+ Qt5::WebEngineCore
118
+ Qt5::WebEngine
119
+ Qt5::WebEngineWidgets
120
+ )
121
+
122
+ set_target_properties (${PROJECT_NAME} PROPERTIES
123
+ WIN32_EXECUTABLE ON
124
+ MACOSX_BUNDLE ON
125
+ )
0 commit comments