diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index ccc1158376da..a033a9b15b6e 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -1,5 +1,14 @@ macro(add_clang_library name) - add_library( ${name} ${ARGN} ) + set(srcs ${ARGN}) + if(MSVC_IDE) + file( GLOB_RECURSE headers *.h) + set(srcs ${srcs} ${headers}) + string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR}) + list( GET split_path -1 dir) + file( GLOB_RECURSE headers ../../include/clang${dir}/*.h) + set(srcs ${srcs} ${headers}) + endif(MSVC_IDE) + add_library( ${name} ${srcs} ) if( LLVM_COMMON_DEPENDS ) add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} ) endif( LLVM_COMMON_DEPENDS ) @@ -9,7 +18,12 @@ macro(add_clang_library name) endmacro(add_clang_library) macro(add_clang_executable name) - add_llvm_executable( ${name} ${ARGN} ) + set(srcs ${ARGN}) + if(MSVC_IDE) + file( GLOB_RECURSE headers *.h) + set(srcs ${srcs} ${headers}) + endif(MSVC_IDE) + add_llvm_executable( ${name} ${srcs} ) install(TARGETS ${name} RUNTIME DESTINATION bin) endmacro(add_clang_executable)