1 macro(add_clang_library name)
4 file( GLOB_RECURSE headers *.h *.td *.def)
5 set(srcs ${srcs} ${headers})
6 string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
7 list( GET split_path -1 dir)
8 file( GLOB_RECURSE headers
9 ../../include/clang${dir}/*.h
10 ../../include/clang${dir}/*.td
11 ../../include/clang${dir}/*.def)
12 set(srcs ${srcs} ${headers})
13 endif(MSVC_IDE OR XCODE)
14 add_library( ${name} ${srcs} )
15 if( LLVM_COMMON_DEPENDS )
16 add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
17 endif( LLVM_COMMON_DEPENDS )
18 add_dependencies(${name} ClangDiagnosticCommon)
20 get_target_property(cflag ${name} COMPILE_FLAGS)
24 set(cflag "${cflag} /Za")
25 set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag})
27 install(TARGETS ${name}
28 LIBRARY DESTINATION lib
29 ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
30 endmacro(add_clang_library)
32 macro(add_clang_executable name)
35 file( GLOB_RECURSE headers *.h *.td *.def)
36 set(srcs ${srcs} ${headers})
38 add_llvm_executable( ${name} ${srcs} )
39 install(TARGETS ${name}
40 RUNTIME DESTINATION bin)
41 endmacro(add_clang_executable)
44 ${CMAKE_CURRENT_SOURCE_DIR}/include
45 ${CMAKE_CURRENT_BINARY_DIR}/include
48 install(DIRECTORY include
50 PATTERN ".svn" EXCLUDE
53 add_definitions( -D_GNU_SOURCE )
55 add_subdirectory(include)
57 add_subdirectory(tools)
60 add_subdirectory(test)