The last non-partial-specified target can collect and check source files.
Case A:
llvm_add_library(foo PARTIAL_SOURCES_INTENDED ...)
llvm_add_library(bar PARTIAL_SOURCES_INTENDED ...)
llvm_add_library(baz ...)
baz checks source files in foo, bar, and baz.
Case B:
llvm_add_library(hoge PARTIAL_SOURCES_INTENDED ...)
llvm_add_library(fuga PARTIAL_SOURCES_INTENDED ...)
llvm_add_library(piyo PARTIAL_SOURCES_INTENDED ...)
llvm_check_source_file_list() # Explicitly checks sources in hoge, fuga, and piyo.
Differential Revision: https://reviews.llvm.org/D142256
function(llvm_process_sources OUT_VAR)
cmake_parse_arguments(ARG "PARTIAL_SOURCES_INTENDED" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" ${ARGN})
set(sources ${ARG_UNPARSED_ARGUMENTS})
- if (NOT ARG_PARTIAL_SOURCES_INTENDED)
- llvm_check_source_file_list(${sources})
- endif()
+ llvm_check_source_file_list(${sources})
# This adds .td and .h files to the Visual Studio solution:
add_td_sources(sources)
file(GLOB globbed *.c *.cpp)
endif()
+ set_property(DIRECTORY APPEND PROPERTY LLVM_SOURCE_FILES ${listed})
+ if (ARG_PARTIAL_SOURCES_INTENDED) # llvm_process_source's scope
+ return()
+ endif()
+ get_directory_property(listed LLVM_SOURCE_FILES)
+
foreach(g ${globbed})
get_filename_component(fn ${g} NAME)
if(ARG_SOURCE_DIR)