forked from Megaxela/QCodeEditor
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
130 lines (116 loc) · 3.59 KB
/
CMakeLists.txt
File metadata and controls
130 lines (116 loc) · 3.59 KB
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
cmake_minimum_required(VERSION 3.6)
project(QCodeEditor)
set(CMAKE_CXX_STANDARD 17)
option(BUILD_EXAMPLE "Example building required" Off)
if (${BUILD_EXAMPLE})
message(STATUS "QCodeEditor example will be built.")
add_subdirectory(example)
endif()
if(Qt5Core_VERSION_STRING)
qt5_add_resources(QRCS "${CMAKE_CURRENT_SOURCE_DIR}/resources/qcodeeditor_resources.qrc")
else()
qt_add_resources(QRCS "${CMAKE_CURRENT_SOURCE_DIR}/resources/qcodeeditor_resources.qrc")
endif()
set(INCLUDE_FILES
include/QHighlightRule
include/QHighlightBlockRule
include/QCodeEditor
include/QCXXHighlighter
include/QLineNumberArea
include/QSearchWidget
include/QStyleSyntaxHighlighter
include/QSyntaxStyle
include/QGLSLCompleter
include/QGLSLHighlighter
include/QJavaHighlighter
include/QJSCompleter
include/QJSHighlighter
include/QLanguage
include/QXMLHighlighter
include/QJSONHighlighter
include/QLuaCompleter
include/QLuaHighlighter
include/QPythonHighlighter
include/QFaustCompleter
include/QFaustHighlighter
include/internal/QHighlightRule.hpp
include/internal/QHighlightBlockRule.hpp
include/internal/QCodeEditor.hpp
include/internal/QCXXHighlighter.hpp
include/internal/QJavaHighlighter.hpp
include/internal/QJSCompleter.hpp
include/internal/QJSHighlighter.hpp
include/internal/QLineNumberArea.hpp
include/internal/QSearchWidget.hpp
include/internal/QStyleSyntaxHighlighter.hpp
include/internal/QSyntaxStyle.hpp
include/internal/QGLSLCompleter.hpp
include/internal/QGLSLHighlighter.hpp
include/internal/QLanguage.hpp
include/internal/QXMLHighlighter.hpp
include/internal/QJSONHighlighter.hpp
include/internal/QLuaCompleter.hpp
include/internal/QLuaHighlighter.hpp
include/internal/QPythonCompleter.hpp
include/internal/QPythonHighlighter.hpp
include/internal/QFaustCompleter.hpp
include/internal/QFaustHighlighter.hpp
)
set(SOURCE_FILES
src/internal/QCodeEditor.cpp
src/internal/QLineNumberArea.cpp
src/internal/QSearchWidget.cpp
src/internal/QCXXHighlighter.cpp
src/internal/QSyntaxStyle.cpp
src/internal/QStyleSyntaxHighlighter.cpp
src/internal/QGLSLCompleter.cpp
src/internal/QGLSLHighlighter.cpp
src/internal/QJavaHighlighter.cpp
src/internal/QJSCompleter.cpp
src/internal/QJSHighlighter.cpp
src/internal/QLanguage.cpp
src/internal/QXMLHighlighter.cpp
src/internal/QJSONHighlighter.cpp
src/internal/QLuaCompleter.cpp
src/internal/QLuaHighlighter.cpp
src/internal/QPythonCompleter.cpp
src/internal/QPythonHighlighter.cpp
src/internal/QFaustCompleter.cpp
src/internal/QFaustHighlighter.cpp
)
# Create code for QObjects
set(CMAKE_AUTOMOC OFF)
# Create code from resource files
set(CMAKE_AUTORCC ON)
# Generate compile_commands.json in build/ for analyzers like clang-tidy.
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Find includes in corresponding build directories
if(NOT QT_VERSION)
set(QT_VERSION Qt5)
endif()
find_package(${QT_VERSION} REQUIRED COMPONENTS Core Gui Widgets)
add_library(QCodeEditor STATIC
${QRCS}
${SOURCE_FILES}
${INCLUDE_FILES}
)
target_include_directories(QCodeEditor PUBLIC
include
"${OSSIA_3RDPARTY_FOLDER}/verdigris/src"
)
if(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(QCodeEditor
PRIVATE
-pedantic
-Wall
-Wextra
-Woverloaded-virtual
-Winit-self
-Wunreachable-code
)
endif(CMAKE_COMPILER_IS_GNUCXX)
target_link_libraries(QCodeEditor
${QT_PREFIX}::Core
${QT_PREFIX}::Widgets
${QT_PREFIX}::Gui
)