Index: src/CMakeLists.txt =================================================================== --- src/CMakeLists.txt +++ src/CMakeLists.txt @@ -238,6 +238,11 @@ # Build the shared library. if (LIBCXX_ENABLE_SHARED) add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) + set_target_properties(cxx_shared PROPERTIES + INTERFACE_COMPILE_DEFINITIONS + $<$:/FI> + $<$>:-include> + ${LIBCXX_BINARY_DIR}/__config_site) if(COMMAND llvm_setup_rpath) llvm_setup_rpath(cxx_shared) endif() @@ -343,6 +348,11 @@ # Build the static library. if (LIBCXX_ENABLE_STATIC) add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) + set_target_properties(cxx_static PROPERTIES + INTERFACE_COMPILE_DEFINITIONS + $<$:/FI> + $<$>:-include> + ${LIBCXX_BINARY_DIR}/__config_site) cxx_link_system_libraries(cxx_static) target_link_libraries(cxx_static PRIVATE ${LIBCXX_LIBRARIES}) set(CMAKE_STATIC_LIBRARY_PREFIX "lib") @@ -410,6 +420,11 @@ else() target_link_libraries(cxx_experimental cxx_static) endif() + set_target_properties(cxx_experimental PROPERTIES + INTERFACE_COMPILE_DEFINITIONS + $<$:/FI> + $<$>:-include> + ${LIBCXX_BINARY_DIR}/__config_site) set(experimental_flags "${LIBCXX_COMPILE_FLAGS}") check_flag_supported(-std=c++14) @@ -431,6 +446,11 @@ else() add_library(cxx_external_threads STATIC ${LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES}) endif() + set_target_properties(cxx_external_threads PROPERTIES + INTERFACE_COMPILE_DEFINITIONS + $<$:/FI> + $<$>:-include> + ${LIBCXX_BINARY_DIR}/__config_site) set_target_properties(cxx_external_threads PROPERTIES