summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-09-19 14:28:21 +0200
committerNikita Kostovsky <nikita@kostovsky.me>2025-09-19 21:04:04 +0200
commitad001563fda4a9061909bd09dcf51238138014d6 (patch)
tree5394cc0436d6ef811b6b791c37a233047c99247d /src/CMakeLists.txt
initial commit
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..9ef55bb
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,45 @@
+cmake_minimum_required(VERSION 4.1)
+
+project(optical_design LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD 23)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets)
+
+qt_standard_project_setup()
+
+qt_add_executable(${PROJECT_NAME}
+ WIN32 MACOSX_BUNDLE
+ main.cpp
+ mainwindow.cpp
+ mainwindow.h
+ opticaldesign.h
+ opticaldesign.cpp
+ graphicsscene.h
+ graphicsscene.cpp
+ graphicsview.h
+ graphicsview.cpp
+)
+
+target_link_libraries(${PROJECT_NAME}
+ PRIVATE
+ Qt::Core
+ Qt::Widgets
+ goodies
+)
+
+include(GNUInstallDirs)
+
+install(TARGETS ${PROJECT_NAME}
+ BUNDLE DESTINATION .
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+qt_generate_deploy_app_script(
+ TARGET ${PROJECT_NAME}
+ OUTPUT_SCRIPT deploy_script
+ NO_UNSUPPORTED_PLATFORM_ERROR
+)
+install(SCRIPT ${deploy_script})