TestForSSTREAM¶
This module checks whether the C++ standard header <sstream> exists and
functions correctly.
Load this module in a CMake project with:
include(TestForSSTREAM)
In early versions of C++ (pre-C++98), the <sstream> header was not
formally standardized and may not have been available.
This module defines the following cache variables:
CMAKE_NO_ANSI_STRING_STREAMA cache variable indicating whether the
<sstream>header is available. It will be set to value0if<sstream>is available (C++ 98and newer), and to value1if<sstream>is missing (ANSI C++).CMAKE_HAS_ANSI_STRING_STREAMA cache variable that is the opposite of
CMAKE_NO_ANSI_STRING_STREAM(true if<sstream>is available and false if<sstream>is missing).
Note
The <sstream> header was formally introduced in the C++ 98 standard,
making this check obsolete for modern compilers.
Examples¶
Including this module will check for <sstream> support and define the
CMAKE_NO_ANSI_STRING_STREAM cache variable:
CMakeLists.txt¶include(TestForSSTREAM)
file(
CONFIGURE
OUTPUT config.h
CONTENT "#cmakedefine CMAKE_NO_ANSI_STRING_STREAM"
)
Then it can be used in a C++ program:
example.cxx¶#include "config.h"
#ifndef CMAKE_NO_ANSI_STRING_STREAM
# include <sstream>
#endif
int main() { ... }
See Also¶
The
CMakeBackwardCompatibilityCXXmodule.