diff options
-rw-r--r-- | .clang-format | 2 | ||||
-rw-r--r-- | CMakeLists.txt | 5 | ||||
-rw-r--r-- | Source/cmConfigure.cmake.h.in | 1 | ||||
-rw-r--r-- | Utilities/std/cm/memory | 3 | ||||
-rw-r--r-- | Utilities/std/cmSTL.hxx.in | 9 | ||||
-rwxr-xr-x | bootstrap | 3 |
6 files changed, 22 insertions, 1 deletions
diff --git a/.clang-format b/.clang-format index 8c015ef..cba23d6 100644 --- a/.clang-format +++ b/.clang-format @@ -20,6 +20,8 @@ SortUsingDeclarations: false SpaceAfterTemplateKeyword: true IncludeBlocks: Regroup IncludeCategories: + - Regex: '^[<"]cmSTL\.hxx' + Priority: -2 - Regex: '^[<"]cmConfigure\.h' Priority: -1 - Regex: '^<queue>' diff --git a/CMakeLists.txt b/CMakeLists.txt index f62c666..2d860d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,6 +108,11 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE) endif() endif() +# Inform STL library header wrappers whether to use system versions. +configure_file(${CMake_SOURCE_DIR}/Utilities/std/cmSTL.hxx.in + ${CMake_BINARY_DIR}/Utilities/cmSTL.hxx + @ONLY) + # set the internal encoding of CMake to UTF-8 set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8) diff --git a/Source/cmConfigure.cmake.h.in b/Source/cmConfigure.cmake.h.in index 4de1c5d..97e7856 100644 --- a/Source/cmConfigure.cmake.h.in +++ b/Source/cmConfigure.cmake.h.in @@ -19,7 +19,6 @@ #cmakedefine HAVE_UNSETENV #cmakedefine CMAKE_USE_ELF_PARSER #cmakedefine CMAKE_USE_MACH_PARSER -#cmakedefine CMake_HAVE_CXX_MAKE_UNIQUE #define CMake_DEFAULT_RECURSION_LIMIT @CMake_DEFAULT_RECURSION_LIMIT@ #define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@" #define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@" diff --git a/Utilities/std/cm/memory b/Utilities/std/cm/memory index dd0f822..5611f6b 100644 --- a/Utilities/std/cm/memory +++ b/Utilities/std/cm/memory @@ -6,7 +6,10 @@ #ifndef cm_memory #define cm_memory +#include "cmSTL.hxx" // IWYU pragma: keep + #include <memory> // IWYU pragma: export + #if !defined(CMake_HAVE_CXX_MAKE_UNIQUE) # include <cstddef> # include <type_traits> diff --git a/Utilities/std/cmSTL.hxx.in b/Utilities/std/cmSTL.hxx.in new file mode 100644 index 0000000..28fe226 --- /dev/null +++ b/Utilities/std/cmSTL.hxx.in @@ -0,0 +1,9 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmSTL_hxx +#define cmSTL_hxx + +/* Whether CMake is using its own STL implementation. */ +#cmakedefine CMake_HAVE_CXX_MAKE_UNIQUE + +#endif @@ -1272,6 +1272,9 @@ for feature in ${cmake_cxx_features}; do fi done +cmake_generate_file "${cmake_bootstrap_dir}/cmSTL.hxx" "" + + #----------------------------------------------------------------------------- # Test Make |