@@ -45,13 +45,6 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
45
45
option (USE_CLING "Use Cling as backend" OFF )
46
46
option (USE_REPL "Use clang-repl as backend" OFF )
47
47
48
- if (USE_CLING )
49
- add_definitions (-DUSE_CLING )
50
- endif ()
51
- if (USE_REPL )
52
- add_definitions (-DUSE_REPL )
53
- endif ()
54
-
55
48
if (USE_CLING AND USE_REPL )
56
49
message (FATAL_ERROR "We can only use Cling (USE_CLING=On) or Repl (USE_REPL=On), but not both of them." )
57
50
endif ()
@@ -226,53 +219,60 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
226
219
# Fix bug in some AddLLVM.cmake implementation (-rpath "" problem)
227
220
set (LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR} /${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX} )
228
221
229
- include (AddLLVM )
230
- include (HandleLLVMOptions )
231
-
232
- set (CMAKE_INCLUDE_CURRENT_DIR ON )
222
+ set ( CPPINTEROP_BUILT_STANDALONE 1 )
223
+ endif ()
233
224
234
- # In rare cases we might want to have clang installed in a different place
235
- # than llvm and the header files should be found first (even though the
236
- # LLVM_INCLUDE_DIRS) contain clang headers, too.
237
- if (USE_CLING )
238
- include_directories (SYSTEM ${CLING_INCLUDE_DIRS} )
239
- endif (USE_CLING )
240
- include_directories (SYSTEM ${CLANG_INCLUDE_DIRS} )
241
- include_directories (SYSTEM ${LLVM_INCLUDE_DIRS} )
242
- separate_arguments (LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS} )
243
- add_definitions (${LLVM_DEFINITIONS_LIST} )
225
+ include (AddLLVM )
226
+ include (HandleLLVMOptions )
244
227
245
- if (USE_CLING )
246
- message (STATUS "CLING_INCLUDE_DIRS: ${CLING_INCLUDE_DIRS} " )
247
- endif (USE_CLING )
248
- message (STATUS "CLANG_INCLUDE_DIRS: ${CLANG_INCLUDE_DIRS} " )
249
- message (STATUS "LLVM_INCLUDE_DIRS: ${LLVM_INCLUDE_DIRS} " )
250
- message (STATUS "LLVM_DEFINITIONS_LIST: ${LLVM_DEFINITIONS_LIST} " )
251
-
252
- # If the llvm sources are present add them with higher priority.
253
- if (LLVM_BUILD_MAIN_SRC_DIR )
254
- # LLVM_INCLUDE_DIRS contains the include paths to both LLVM's source and
255
- # build directories. Since we cannot just include ClangConfig.cmake (see
256
- # fixme above) we have to do a little more work to get the right include
257
- # paths for clang.
258
- #
259
- # FIXME: We only support in-tree builds of clang, that is clang being built
260
- # in llvm_src/tools/clang.
261
- include_directories (SYSTEM ${LLVM_BUILD_MAIN_SRC_DIR} /tools/clang/include/ )
262
-
263
- if (NOT LLVM_BUILD_BINARY_DIR )
264
- message (FATAL "LLVM_BUILD_* values should be available for the build tree" )
265
- endif ()
228
+ set (CMAKE_INCLUDE_CURRENT_DIR ON )
266
229
267
- include_directories (SYSTEM ${LLVM_BUILD_BINARY_DIR} /tools/clang/include/ )
230
+ # In rare cases we might want to have clang installed in a different place
231
+ # than llvm and the header files should be found first (even though the
232
+ # LLVM_INCLUDE_DIRS) contain clang headers, too.
233
+ if (USE_CLING )
234
+ add_definitions (-DUSE_CLING )
235
+ include_directories (SYSTEM ${CLING_INCLUDE_DIRS} )
236
+ else ()
237
+ if (NOT USE_REPL )
238
+ message (FATAL_ERROR "We need either USE_CLING or USE_REPL" )
239
+ endif ()
240
+ add_definitions (-DUSE_REPL )
241
+
242
+ endif (USE_CLING )
243
+ include_directories (SYSTEM ${CLANG_INCLUDE_DIRS} )
244
+ include_directories (SYSTEM ${LLVM_INCLUDE_DIRS} )
245
+ separate_arguments (LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS} )
246
+ add_definitions (${LLVM_DEFINITIONS_LIST} )
247
+
248
+ if (USE_CLING )
249
+ message (STATUS "CLING_INCLUDE_DIRS: ${CLING_INCLUDE_DIRS} " )
250
+ endif (USE_CLING )
251
+ message (STATUS "CLANG_INCLUDE_DIRS: ${CLANG_INCLUDE_DIRS} " )
252
+ message (STATUS "LLVM_INCLUDE_DIRS: ${LLVM_INCLUDE_DIRS} " )
253
+ message (STATUS "LLVM_DEFINITIONS_LIST: ${LLVM_DEFINITIONS_LIST} " )
254
+
255
+ # If the llvm sources are present add them with higher priority.
256
+ if (LLVM_BUILD_MAIN_SRC_DIR )
257
+ # LLVM_INCLUDE_DIRS contains the include paths to both LLVM's source and
258
+ # build directories. Since we cannot just include ClangConfig.cmake (see
259
+ # fixme above) we have to do a little more work to get the right include
260
+ # paths for clang.
261
+ #
262
+ # FIXME: We only support in-tree builds of clang, that is clang being built
263
+ # in llvm_src/tools/clang.
264
+ include_directories (SYSTEM ${LLVM_BUILD_MAIN_SRC_DIR} /tools/clang/include/ )
265
+
266
+ if (NOT LLVM_BUILD_BINARY_DIR )
267
+ message (FATAL "LLVM_BUILD_* values should be available for the build tree" )
268
268
endif ()
269
269
270
- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib/ )
271
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin/ )
272
-
273
- set ( CPPINTEROP_BUILT_STANDALONE 1 )
270
+ include_directories (SYSTEM ${LLVM_BUILD_BINARY_DIR} /tools/clang/include/ )
274
271
endif ()
275
272
273
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib/ )
274
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin/ )
275
+
276
276
## Code Coverage Configuration
277
277
add_library (coverage_config INTERFACE )
278
278
option (CODE_COVERAGE "Enable coverage reporting" OFF )
0 commit comments