summaryrefslogtreecommitdiffstats
path: root/libcxx/lib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/lib/CMakeLists.txt')
-rw-r--r--libcxx/lib/CMakeLists.txt53
1 files changed, 11 insertions, 42 deletions
diff --git a/libcxx/lib/CMakeLists.txt b/libcxx/lib/CMakeLists.txt
index fd493d4346e..9af75ef3941 100644
--- a/libcxx/lib/CMakeLists.txt
+++ b/libcxx/lib/CMakeLists.txt
@@ -3,6 +3,8 @@ set(LIBCXX_LIB_CMAKEFILES_DIR "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTOR
# Get sources
# FIXME: Don't use glob here
file(GLOB LIBCXX_SOURCES ../src/*.cpp)
+list(APPEND LIBCXX_SOURCES ../src/filesystem/operations.cpp
+ ../src/filesystem/directory_iterator.cpp)
if(WIN32)
file(GLOB LIBCXX_WIN32_SOURCES ../src/support/win32/*.cpp)
list(APPEND LIBCXX_SOURCES ${LIBCXX_WIN32_SOURCES})
@@ -11,6 +13,14 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
list(APPEND LIBCXX_SOURCES ${LIBCXX_SOLARIS_SOURCES})
endif()
+# Filesystem uses __int128_t, which requires a definition of __muloi4 when
+# compiled with UBSAN. This definition is not provided by libgcc_s, but is
+# provided by compiler-rt. So we need to disable it to avoid having multiple
+# definitions. See filesystem/int128_builtins.cpp.
+if (NOT LIBCXX_USE_COMPILER_RT)
+ list(APPEND LIBCXX_SOURCES ../src/filesystem/int128_builtins.cpp)
+endif()
+
# Add all the headers to the project for IDEs.
if (LIBCXX_CONFIGURE_IDE)
file(GLOB_RECURSE LIBCXX_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/../include/*)
@@ -278,39 +288,6 @@ endif()
# Add a meta-target for both libraries.
add_custom_target(cxx DEPENDS cxx-headers ${LIBCXX_BUILD_TARGETS})
-if (LIBCXX_ENABLE_FILESYSTEM)
- set(LIBCXX_FILESYSTEM_SOURCES
- ../src/filesystem/operations.cpp
- ../src/filesystem/directory_iterator.cpp)
-
- # Filesystem uses __int128_t, which requires a definition of __muloi4 when
- # compiled with UBSAN. This definition is not provided by libgcc_s, but is
- # provided by compiler-rt. So we need to disable it to avoid having multiple
- # definitions. See filesystem/int128_builtins.cpp.
- if (NOT LIBCXX_USE_COMPILER_RT)
- list(APPEND LIBCXX_FILESYSTEM_SOURCES ../src/filesystem/int128_builtins.cpp)
- endif()
-
- add_library(cxx_filesystem STATIC ${LIBCXX_FILESYSTEM_SOURCES})
- if (LIBCXX_ENABLE_SHARED)
- target_link_libraries(cxx_filesystem cxx_shared)
- else()
- target_link_libraries(cxx_filesystem cxx_static)
- endif()
-
- set(filesystem_flags "${LIBCXX_COMPILE_FLAGS}")
- check_flag_supported(-std=c++14)
- if (NOT MSVC AND LIBCXX_SUPPORTS_STD_EQ_CXX14_FLAG AND LIBCXX_STANDARD_VER STREQUAL "c++11")
- string(REPLACE "-std=c++11" "-std=c++14" filesystem_flags "${LIBCXX_COMPILE_FLAGS}")
- endif()
- set_target_properties(cxx_filesystem
- PROPERTIES
- COMPILE_FLAGS "${filesystem_flags}"
- OUTPUT_NAME "c++fs"
- )
-endif()
-
-
if (LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY)
file(GLOB LIBCXX_EXPERIMENTAL_SOURCES ../src/experimental/*.cpp)
add_library(cxx_experimental STATIC ${LIBCXX_EXPERIMENTAL_SOURCES})
@@ -379,13 +356,10 @@ if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
endif()
if (LIBCXX_INSTALL_LIBRARY)
- if (LIBCXX_INSTALL_FILESYSTEM_LIBRARY)
- set(filesystem_lib cxx_filesystem)
- endif()
if (LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY)
set(experimental_lib cxx_experimental)
endif()
- install(TARGETS ${LIBCXX_INSTALL_TARGETS} ${filesystem_lib} ${experimental_lib}
+ install(TARGETS ${LIBCXX_INSTALL_TARGETS} ${experimental_lib}
LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
)
@@ -405,9 +379,6 @@ if (NOT CMAKE_CONFIGURATION_TYPES AND (LIBCXX_INSTALL_LIBRARY OR
if(LIBCXX_INSTALL_LIBRARY)
set(lib_install_target cxx)
endif()
- if (LIBCXX_INSTALL_FILESYSTEM_LIBRARY)
- set(filesystem_lib_install_target cxx_filesystem)
- endif()
if (LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY)
set(experimental_lib_install_target cxx_experimental)
endif()
@@ -417,7 +388,6 @@ if (NOT CMAKE_CONFIGURATION_TYPES AND (LIBCXX_INSTALL_LIBRARY OR
add_custom_target(install-cxx
DEPENDS ${lib_install_target}
${experimental_lib_install_target}
- ${filesystem_lib_install_target}
${header_install_target}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=cxx
@@ -425,7 +395,6 @@ if (NOT CMAKE_CONFIGURATION_TYPES AND (LIBCXX_INSTALL_LIBRARY OR
add_custom_target(install-cxx-stripped
DEPENDS ${lib_install_target}
${experimental_lib_install_target}
- ${filesystem_lib_install_target}
${header_install_target}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=cxx
OpenPOWER on IntegriCloud