diff options
| author | Oscar Fuentes <ofv@wanadoo.es> | 2009-11-02 19:11:03 +0000 |
|---|---|---|
| committer | Oscar Fuentes <ofv@wanadoo.es> | 2009-11-02 19:11:03 +0000 |
| commit | c710219d1c6a89ec5b0392146316f9bcea3ba278 (patch) | |
| tree | 986082457202000b1bc0316619df49f8cdc7b6d5 | |
| parent | 69e584d12b5392c535b5648c39ad3bf5c28c5c7c (diff) | |
| download | bcm5719-llvm-c710219d1c6a89ec5b0392146316f9bcea3ba278.tar.gz bcm5719-llvm-c710219d1c6a89ec5b0392146316f9bcea3ba278.zip | |
CMake: Report an error if there is an unknown .cpp file in a source
directory.
This is useful in case someone who works with the config&make build
system forgot to add a file to its CMakeLists.txt. Instead of
obtaining undefined references at link time, cmake will complain at
configure time on the first build after a svn update.
llvm-svn: 85817
| -rw-r--r-- | llvm/cmake/modules/LLVMProcessSources.cmake | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/cmake/modules/LLVMProcessSources.cmake b/llvm/cmake/modules/LLVMProcessSources.cmake index 12a8968c724..b753735cd55 100644 --- a/llvm/cmake/modules/LLVMProcessSources.cmake +++ b/llvm/cmake/modules/LLVMProcessSources.cmake @@ -22,6 +22,7 @@ endmacro(add_header_files) function(llvm_process_sources OUT_VAR) set( sources ${ARGN} ) + llvm_check_source_file_list( ${sources} ) # Create file dependencies on the tablegenned files, if any. Seems # that this is not strictly needed, as dependencies of the .cpp # sources on the tablegenned .inc files are detected and handled, @@ -37,3 +38,17 @@ function(llvm_process_sources OUT_VAR) endif() set( ${OUT_VAR} ${sources} PARENT_SCOPE ) endfunction(llvm_process_sources) + + +function(llvm_check_source_file_list) + set(listed ${ARGN}) + file(GLOB globbed *.cpp) + foreach(g ${globbed}) + get_filename_component(fn ${g} NAME) + list(FIND listed ${fn} idx) + if( idx LESS 0 ) + message(SEND_ERROR "Found unknown source file ${g} +Please update ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\n") + endif() + endforeach() +endfunction(llvm_check_source_file_list) |

