1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4#[=======================================================================[.rst:
5TestForSTDNamespace
6-------------------
7
8Test for std:: namespace support
9
10check if the compiler supports std:: on stl classes
11
12::
13
14  CMAKE_NO_STD_NAMESPACE - defined by the results
15#]=======================================================================]
16
17if(NOT DEFINED CMAKE_STD_NAMESPACE)
18  message(CHECK_START "Check for STD namespace")
19  try_compile(CMAKE_STD_NAMESPACE  ${CMAKE_BINARY_DIR}
20    ${CMAKE_ROOT}/Modules/TestForSTDNamespace.cxx
21    OUTPUT_VARIABLE OUTPUT)
22  if (CMAKE_STD_NAMESPACE)
23    message(CHECK_PASS "found")
24    set (CMAKE_NO_STD_NAMESPACE 0 CACHE INTERNAL
25         "Does the compiler support std::.")
26    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
27      "Determining if the CXX compiler has std namespace passed with "
28      "the following output:\n${OUTPUT}\n\n")
29  else ()
30    message(CHECK_FAIL "not found")
31    set (CMAKE_NO_STD_NAMESPACE 1 CACHE INTERNAL
32       "Does the compiler support std::.")
33    file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
34      "Determining if the CXX compiler has std namespace failed with "
35      "the following output:\n${OUTPUT}\n\n")
36  endif ()
37endif()
38
39
40
41
42