aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/LLVMProcessSources.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/LLVMProcessSources.cmake')
-rw-r--r--cmake/modules/LLVMProcessSources.cmake33
1 files changed, 23 insertions, 10 deletions
diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake
index 64ebce8..ae1921b 100644
--- a/cmake/modules/LLVMProcessSources.cmake
+++ b/cmake/modules/LLVMProcessSources.cmake
@@ -28,26 +28,39 @@ macro(add_td_sources srcs)
endif()
endmacro(add_td_sources)
+function(add_header_files_for_glob hdrs_out glob)
+ file(GLOB hds ${glob})
+ set(${hdrs_out} ${hds} PARENT_SCOPE)
+endfunction(add_header_files_for_glob)
-macro(add_header_files srcs)
- file(GLOB hds *.h)
- if( hds )
- set_source_files_properties(${hds} PROPERTIES HEADER_FILE_ONLY ON)
- list(APPEND ${srcs} ${hds})
- endif()
-endmacro(add_header_files)
+function(find_all_header_files hdrs_out additional_headerdirs)
+ add_header_files_for_glob(hds *.h)
+ list(APPEND all_headers ${hds})
+
+ foreach(additional_dir ${additional_headerdirs})
+ add_header_files_for_glob(hds "${additional_dir}/*.h")
+ list(APPEND all_headers ${hds})
+ add_header_files_for_glob(hds "${additional_dir}/*.inc")
+ list(APPEND all_headers ${hds})
+ endforeach(additional_dir)
+
+ set( ${hdrs_out} ${all_headers} PARENT_SCOPE )
+endfunction(find_all_header_files)
function(llvm_process_sources OUT_VAR)
- cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS" ${ARGN})
+ cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" ${ARGN})
set(sources ${ARG_UNPARSED_ARGUMENTS})
llvm_check_source_file_list( ${sources} )
if( MSVC_IDE OR XCODE )
# This adds .td and .h files to the Visual Studio solution:
add_td_sources(sources)
- add_header_files(sources)
+ find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")
+ if (hdrs)
+ set_source_files_properties(${hdrs} PROPERTIES HEADER_FILE_ONLY ON)
+ endif()
set_source_files_properties(${ARG_ADDITIONAL_HEADERS} PROPERTIES HEADER_FILE_ONLY ON)
- list(APPEND sources ${ARG_ADDITIONAL_HEADERS})
+ list(APPEND sources ${ARG_ADDITIONAL_HEADERS} ${hdrs})
endif()
set( ${OUT_VAR} ${sources} PARENT_SCOPE )