forked from sienkiewiczkm/milling-simulator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
82 lines (70 loc) · 2.37 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
cmake_minimum_required(VERSION 3.0)
project(milling-simulator)
set(PROJECT_NAME_LIB ${PROJECT_NAME}-lib)
set(DEPENDENCIES_DIR dependencies/)
# configure boost
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.60.0 COMPONENTS filesystem)
include_directories(${Boost_INCLUDE_DIRS})
set(RESOURCES_PATH ${PROJECT_SOURCE_DIR}/resources/)
set(FRAMEWORK_RESOURCES_DIR ${RESOURCES_PATH} CACHE PATH "")
add_subdirectory(${DEPENDENCIES_DIR}/framework)
configure_file(
${PROJECT_SOURCE_DIR}/src/Config.hpp.in
${PROJECT_BINARY_DIR}/Config.hpp
)
include_directories(
${PROJECT_SOURCE_DIR}/src/mill-gui/
${PROJECT_BINARY_DIR}
${FRAMEWORK_INCLUDE_DIRS}
)
add_library(${PROJECT_NAME_LIB}
src/mill-gui/BaseFlatteningPathGenerator.cpp
src/mill-gui/BoundariesMillingTechnique.cpp
src/mill-gui/CadioModelLoader.cpp
src/mill-gui/ContourMerger.cpp
src/mill-gui/CurvePathGenerator.cpp
src/mill-gui/CuttingToolController.cpp
src/mill-gui/CuttingToolGUI.cpp
src/mill-gui/CuttingToolModel.cpp
src/mill-gui/CuttingToolParams.cpp
src/mill-gui/DecalViewer.cpp
src/mill-gui/DesignModeController.cpp
src/mill-gui/ImGuiToolboxWindow.cpp
src/mill-gui/MillPathFormatReader.cpp
src/mill-gui/MillerApplication.cpp
src/mill-gui/MillingBlock.cpp
src/mill-gui/MillingBlockCreationWindow.cpp
src/mill-gui/MillingProgramExecutor.cpp
src/mill-gui/MillingProgramExecutorGUI.cpp
src/mill-gui/PreciseMillingPathGenerator.cpp
src/mill-gui/ProgramEditor.cpp
src/mill-gui/ProgramEditor.cpp
src/mill-gui/ProgramManagerGUI.cpp
src/mill-gui/RoughMillingPathGenerator.cpp
src/mill-gui/SamplingMillingTechnique.cpp
src/mill-gui/SienkiewiczkModelIntersectionsHandler.cpp
src/mill-gui/SimulationModeController.cpp
src/mill-gui/ZigZagPathGenerator.cpp
)
add_executable(${PROJECT_NAME}
src/mill-gui/Main.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE
${OPENGL_INCLUDE_DIR}
)
target_link_libraries(${PROJECT_NAME}
${PROJECT_NAME_LIB}
${Boost_LIBRARIES}
${FRAMEWORK_LIBRARIES}
)
set(PROJECT_COMPILE_FEATURES
${PROJECT_COMPILE_FEATURES}
cxx_auto_type
cxx_nullptr
cxx_range_for
)
target_compile_features(${PROJECT_NAME} PRIVATE ${PROJECT_COMPILE_FEATURES})
target_compile_features(${PROJECT_NAME_LIB} PRIVATE ${PROJECT_COMPILE_FEATURES})