build: remove rtti for files using clang
Clang is usually compiled without runtime type information, so all files that use clang classes can't have rtti. This change creates a separate CLANG_FILES variable which holds all clang files, so they can be compiled without rtti. review id = 11
This commit is contained in:
+4
-1
@@ -49,9 +49,12 @@ add_definitions(${CLANG_DEFINITIONS})
|
||||
add_subdirectory(src/lib)
|
||||
add_subdirectory(src/external)
|
||||
|
||||
add_library(${LIB_PROJECT_NAME} ${LIB_FILES} ${EXTERNAL_FILES})
|
||||
set_source_files_properties(${CLANG_FILES} PROPERTIES COMPILE_FLAGS "-fno-rtti")
|
||||
|
||||
add_library(${LIB_PROJECT_NAME} ${LIB_FILES} ${CLANG_FILES} ${EXTERNAL_FILES})
|
||||
|
||||
create_source_groups(${LIB_FILES})
|
||||
create_source_groups(${CLANG_FILES})
|
||||
create_source_groups(${EXTERNAL_FILES})
|
||||
|
||||
set_target_properties(
|
||||
|
||||
@@ -3,8 +3,6 @@ execute_process(
|
||||
OUTPUT_VARIABLE CLANG_DEFINITIONS
|
||||
)
|
||||
|
||||
set(CLANG_DEFINITIONS ${CLANG_DEFINITIONS} "-fno-rtti")
|
||||
|
||||
set(CLANG_INCLUDE_DIRS
|
||||
"$ENV{CLANG_DIR}/llvm/tools/clang/include"
|
||||
"$ENV{CLANG_DIR}/build/tools/clang/include"
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
add_files(
|
||||
CLANG_FILES
|
||||
|
||||
data/parser/clang.cpp
|
||||
data/parser/clang.h
|
||||
)
|
||||
|
||||
add_files(
|
||||
LIB_FILES
|
||||
|
||||
@@ -25,9 +32,6 @@ add_files(
|
||||
data/access/GraphAccess.cpp
|
||||
data/access/GraphAccess.h
|
||||
|
||||
data/parser/clang.cpp
|
||||
data/parser/clang.h
|
||||
|
||||
data/Edge.cpp
|
||||
data/Edge.h
|
||||
data/Element.cpp
|
||||
|
||||
Reference in New Issue
Block a user