-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathCMakeLists.txt
95 lines (79 loc) · 2.54 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
cmake_minimum_required(VERSION 3.15)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast -pipe -Wall -Wextra")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
project(DynamicSystems)
include_directories(include/)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5OpenGL REQUIRED)
find_package(OpenGL REQUIRED)
find_package(Threads REQUIRED)
find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)
find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h)
find_library(AVFORMAT_LIBRARY avformat)
find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h)
find_library(AVUTIL_LIBRARY avutil)
find_path(AVSWS_INCLUDE_DIR libswscale/swscale.h)
find_library(AVSWS_LIBRARY swscale)
add_executable(DynamicSystems
src/main.cpp
src/WindowPreferences.cpp
src/Camera.cpp
src/PointsViewQGLWidget.cpp
src/Window.cpp
src/Locus.cpp
src/Preferences.cpp
src/VideoEncoder.cpp
src/ShaderController.cpp
src/DynamicSystemParser/DynamicSystemParser.cpp
src/Parser/Parser.cpp
src/Parser/Lexer.cpp
include/Preferences.hpp
include/Camera.hpp
include/WindowPreferences.hpp
include/Model/Model.hpp
include/Model/Impl/ModelImpl.hpp
include/DynamicSystems/DynamicSystem.hpp
include/DynamicSystems/SystemsBase/SystemsBase.hpp
include/DynamicSystems/SystemsBase/SystemsBaseGetImpl.hpp
include/DynamicSystems/Impl/DynamicSystemImpl.hpp
include/DynamicSystems/Impl/DynamicSystemInternal.hpp
include/DynamicSystemParser/DynamicSystemParser.hpp
include/DynamicSystemParser/Impl/DynamicSystemParserImpl.hpp
include/Window.hpp
include/DynamicSystemWrapper.hpp
include/PointsViewQGLWidget.hpp
include/StoppableTask.hpp
include/Locus.hpp
include/VideoEncoder.hpp
include/ShaderController.hpp
include/Parser/Parser.hpp
include/Parser/ParserException.hpp
include/Parser/ParserNodes.hpp
include/Parser/Lexer.hpp
src/form.ui
src/formPreferences.ui
materials/Resources.qrc
)
qt5_use_modules(DynamicSystems Widgets OpenGL)
target_include_directories(DynamicSystems PRIVATE
${AVCODEC_INCLUDE_DIR}
${AVFORMAT_INCLUDE_DIR}
${AVUTIL_INCLUDE_DIR}
${AVSWS_INCLUDE_DIR}
)
target_link_libraries(DynamicSystems
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
${AVCODEC_LIBRARY}
${AVFORMAT_LIBRARY}
${AVUTIL_LIBRARY}
${AVSWS_LIBRARY}
Threads::Threads
)