[PATCH] D31363: [libc++] Remove cmake glob for source files
Shoaib Meenai via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 14 12:24:59 PDT 2017
smeenai updated this revision to Diff 115259.
smeenai added a comment.
Herald added a subscriber: fedor.sergeev.
Address comments
https://reviews.llvm.org/D31363
Files:
benchmarks/CMakeLists.txt
lib/CMakeLists.txt
Index: lib/CMakeLists.txt
===================================================================
--- lib/CMakeLists.txt
+++ lib/CMakeLists.txt
@@ -1,13 +1,48 @@
set(LIBCXX_LIB_CMAKEFILES_DIR "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}" PARENT_SCOPE)
-# Get sources
-# FIXME: Don't use glob here
-file(GLOB LIBCXX_SOURCES ../src/*.cpp)
+include(LLVMProcessSources)
+set(LIBCXX_SOURCES
+ ../src/algorithm.cpp
+ ../src/any.cpp
+ ../src/bind.cpp
+ ../src/chrono.cpp
+ ../src/condition_variable.cpp
+ ../src/debug.cpp
+ ../src/exception.cpp
+ ../src/functional.cpp
+ ../src/future.cpp
+ ../src/hash.cpp
+ ../src/ios.cpp
+ ../src/iostream.cpp
+ ../src/locale.cpp
+ ../src/memory.cpp
+ ../src/mutex.cpp
+ ../src/new.cpp
+ ../src/optional.cpp
+ ../src/random.cpp
+ ../src/regex.cpp
+ ../src/shared_mutex.cpp
+ ../src/stdexcept.cpp
+ ../src/string.cpp
+ ../src/strstream.cpp
+ ../src/system_error.cpp
+ ../src/thread.cpp
+ ../src/typeinfo.cpp
+ ../src/utility.cpp
+ ../src/valarray.cpp
+ ../src/variant.cpp
+ ../src/vector.cpp)
+llvm_check_source_file_list(${LIBCXX_SOURCES} SOURCE_DIR ../src)
if(WIN32)
- file(GLOB LIBCXX_WIN32_SOURCES ../src/support/win32/*.cpp)
+ set(LIBCXX_WIN32_SOURCES
+ ../src/support/win32/locale_win32.cpp
+ ../src/support/win32/support.cpp)
+ llvm_check_source_file_list(${LIBCXX_WIN32_SOURCES} SOURCE_DIR ../src/support/win32)
list(APPEND LIBCXX_SOURCES ${LIBCXX_WIN32_SOURCES})
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
- file(GLOB LIBCXX_SOLARIS_SOURCES ../src/support/solaris/*.cpp)
+ set(LIBCXX_SOLARIS_SOURCES
+ ../src/support/solaris/xlocale.cpp)
+ llvm_check_source_file_list(${LIBCXX_SOLARIS_SOURCES} SOURCE_DIR ../src/support/solaris)
list(APPEND LIBCXX_SOURCES ${LIBCXX_SOLARIS_SOURCES})
endif()
@@ -283,9 +318,15 @@
add_custom_target(cxx DEPENDS ${LIBCXX_TARGETS})
if (LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY)
- file(GLOB LIBCXX_EXPERIMENTAL_SOURCES ../src/experimental/*.cpp)
+ set(LIBCXX_EXPERIMENTAL_SOURCES
+ ../src/experimental/memory_resource.cpp)
+ llvm_check_source_file_list(${LIBCXX_EXPERIMENTAL_SOURCES} SOURCE_DIR ../src/experimental)
if (LIBCXX_ENABLE_FILESYSTEM)
- file(GLOB LIBCXX_FILESYSTEM_SOURCES ../src/experimental/filesystem/*.cpp)
+ set(LIBCXX_FILESYSTEM_SOURCES
+ ../src/experimental/filesystem/directory_iterator.cpp
+ ../src/experimental/filesystem/operations.cpp
+ ../src/experimental/filesystem/path.cpp)
+ llvm_check_source_file_list(${LIBCXX_FILESYSTEM_SOURCES} SOURCE_DIR ../src/experimental/filesystem)
endif()
add_library(cxx_experimental STATIC ${LIBCXX_EXPERIMENTAL_SOURCES} ${LIBCXX_FILESYSTEM_SOURCES})
if (LIBCXX_ENABLE_SHARED)
Index: benchmarks/CMakeLists.txt
===================================================================
--- benchmarks/CMakeLists.txt
+++ benchmarks/CMakeLists.txt
@@ -143,7 +143,16 @@
#==============================================================================
# Register Benchmark tests
#==============================================================================
-file(GLOB BENCHMARK_TESTS "*.bench.cpp")
+include(LLVMProcessSources)
+set(BENCHMARK_TESTS
+ algorithms.bench.cpp
+ filesystem.bench.cpp
+ string.bench.cpp
+ stringstream.bench.cpp
+ unordered_set_operations.bench.cpp
+ util_smartptr.bench.cpp
+ vector_operations.bench.cpp)
+llvm_check_source_file_list(${BENCHMARK_TESTS})
foreach(test_path ${BENCHMARK_TESTS})
get_filename_component(test_file "${test_path}" NAME)
string(REPLACE ".bench.cpp" "" test_name "${test_file}")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31363.115259.patch
Type: text/x-patch
Size: 3744 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170914/5eb1ad05/attachment.bin>
More information about the cfe-commits
mailing list