@@ -85,12 +85,12 @@ unset(CMAKE_FOLDER)
85
85
86
86
#-------------------------------------------------
87
87
#
88
- # Library
88
+ # Tool
89
89
#
90
90
#-------------------------------------------------
91
91
92
92
configure_file (source /lib/api/Version.hpp.in ${PROJECT_BINARY_DIR} /include/mrdox/Version.hpp )
93
-
93
+ file ( GLOB_RECURSE TOOL_SOURCES CONFIGURE_DEPENDS source /tool/*.cpp source /tool/*.hpp )
94
94
file (GLOB_RECURSE LIB_INCLUDES CONFIGURE_DEPENDS include /*.hpp )
95
95
file (GLOB_RECURSE LIB_SOURCES CONFIGURE_DEPENDS
96
96
source /lib/*.h
@@ -99,9 +99,11 @@ file(GLOB_RECURSE LIB_SOURCES CONFIGURE_DEPENDS
99
99
source /lib/*.natvis
100
100
)
101
101
102
- add_library (mrdox-api ${MRDOX_LINK_MODE} ${LIB_INCLUDES} ${LIB_SOURCES} )
103
- target_compile_features (mrdox-api PUBLIC cxx_std_20 )
104
- target_include_directories (mrdox-api
102
+ add_executable (mrdox ${TOOL_SOURCES} ${LIB_INCLUDES} ${LIB_SOURCES} )
103
+
104
+
105
+ target_compile_features (mrdox PUBLIC cxx_std_20 )
106
+ target_include_directories (mrdox
105
107
PUBLIC
106
108
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include/>"
107
109
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >"
@@ -110,22 +112,22 @@ target_include_directories(mrdox-api
110
112
${PROJECT_BINARY_DIR} /include
111
113
)
112
114
target_compile_definitions (
113
- mrdox-api
115
+ mrdox
114
116
PUBLIC
115
117
${MRDOX_LINK_MODE_DEFINITION}
116
118
PRIVATE
117
119
-DMRDOX_LIB
118
120
)
119
121
120
122
# LLVM
121
- target_link_libraries (mrdox-api PUBLIC ${llvm_libs} )
122
- target_include_directories (mrdox-api SYSTEM PUBLIC ${LLVM_INCLUDE_DIRS} )
123
+ target_link_libraries (mrdox PUBLIC ${llvm_libs} )
124
+ target_include_directories (mrdox SYSTEM PUBLIC ${LLVM_INCLUDE_DIRS} )
123
125
124
126
# Clang
125
127
if (CLANG_SIMPLE_LIBS )
126
- target_link_libraries (mrdox-api PUBLIC LLVM clang clang-cpp )
128
+ target_link_libraries (mrdox PUBLIC LLVM clang clang-cpp )
127
129
else ()
128
- target_link_libraries (mrdox-api
130
+ target_link_libraries (mrdox
129
131
PUBLIC
130
132
clangAST
131
133
clangBasic
@@ -135,25 +137,25 @@ else()
135
137
clangToolingCore
136
138
clangToolingInclusions )
137
139
endif ()
138
- target_include_directories (mrdox-api SYSTEM PUBLIC ${CLANG_INCLUDE_DIRS} )
140
+ target_include_directories (mrdox SYSTEM PUBLIC ${CLANG_INCLUDE_DIRS} )
139
141
140
142
# Windows, Win64
141
143
if (WIN32 )
142
144
target_compile_definitions (
143
- mrdox-api
145
+ mrdox
144
146
PUBLIC
145
147
-D_WIN32_WINNT=0x0601
146
148
-D_CRT_SECURE_NO_WARNINGS
147
149
-D_SILENCE_CXX20_CISO646_REMOVED_WARNING
148
150
)
149
151
get_target_property (LLVM_CONFIGURATION_TYPE LLVMCore IMPORTED_CONFIGURATIONS )
150
152
if (LLVM_CONFIGURATION_TYPE STREQUAL RELWITHDEBINFO )
151
- target_compile_definitions (mrdox-api PUBLIC -D_ITERATOR_DEBUG_LEVEL=0 )
152
- target_compile_options (mrdox-api PUBLIC /MD )
153
+ target_compile_definitions (mrdox PUBLIC -D_ITERATOR_DEBUG_LEVEL=0 )
154
+ target_compile_options (mrdox PUBLIC /MD )
153
155
endif ()
154
156
if (MSVC )
155
157
target_compile_options (
156
- mrdox-api
158
+ mrdox
157
159
PUBLIC
158
160
/permissive- # strict C++
159
161
/W4 # enable all warnings
@@ -165,7 +167,7 @@ endif ()
165
167
166
168
if (MRDOX_CLANG )
167
169
target_compile_options (
168
- mrdox-api
170
+ mrdox
169
171
PUBLIC
170
172
-Wno-unused-private-field
171
173
-Wno-unused-value
@@ -178,15 +180,6 @@ source_group(TREE ${PROJECT_SOURCE_DIR} PREFIX "" FILES CMakeLists.txt)
178
180
source_group (TREE ${PROJECT_SOURCE_DIR} /include/mrdox PREFIX " include" FILES ${LIB_INCLUDES} )
179
181
source_group (TREE ${PROJECT_SOURCE_DIR} /source/lib/api PREFIX "api" FILES ${LIB_SOURCES} )
180
182
181
- #-------------------------------------------------
182
- #
183
- # Tool
184
- #
185
- #-------------------------------------------------
186
-
187
- file (GLOB_RECURSE TOOL_SOURCES CONFIGURE_DEPENDS source /tool/*.cpp source /tool/*.hpp )
188
- add_executable (mrdox ${TOOL_SOURCES} )
189
- target_link_libraries (mrdox PRIVATE mrdox-api )
190
183
target_include_directories (mrdox
191
184
PRIVATE
192
185
${PROJECT_SOURCE_DIR} /source/lib
@@ -205,12 +198,7 @@ source_group(TREE ${PROJECT_SOURCE_DIR}/source/tool PREFIX "source" FILES ${TOOL
205
198
if (BUILD_TESTING )
206
199
file (GLOB_RECURSE TEST_SOURCES CONFIGURE_DEPENDS source /test/*.cpp source /test/*.hpp )
207
200
enable_testing ()
208
- add_executable (mrdox-test ${TEST_SOURCES} )
209
- target_link_libraries (mrdox-test PRIVATE mrdox-api ${llvm_libs} )
210
- target_include_directories (mrdox-test
211
- PRIVATE
212
- ${PROJECT_SOURCE_DIR} /source/lib )
213
- add_test (NAME mrdox-test COMMAND mrdox-test
201
+ add_test (NAME mrdox-test COMMAND mrdox --action test
214
202
"${PROJECT_SOURCE_DIR} /test-files/old-tests"
215
203
)
216
204
source_group (TREE ${PROJECT_SOURCE_DIR} PREFIX "" FILES CMakeLists.txt )
@@ -260,7 +248,7 @@ endif()
260
248
261
249
if (MRDOX_INSTALL )
262
250
# Create and install mrdox-targets.cmake
263
- install (TARGETS mrdox-api mrdox
251
+ install (TARGETS mrdox
264
252
EXPORT mrdox-targets
265
253
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
266
254
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
0 commit comments