File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,34 @@ if( CMAKE_COMPILER_IS_GNUCXX )
99 endif ()
1010endif ( CMAKE_COMPILER_IS_GNUCXX )
1111
12+ include (CheckIncludeFileCXX )
13+ include (CheckTypeSize )
14+ include (CheckStructHasMember )
15+ include (CheckCXXSymbolExists )
16+
17+ check_include_file_cxx (clocale HAVE_CLOCALE )
18+ check_cxx_symbol_exists (localeconv clocale HAVE_LOCALECONV )
19+
20+ if (CMAKE_VERSION VERSION_LESS 3.0.0)
21+ # The "LANGUAGE CXX" parameter is not supported in CMake versions below 3,
22+ # so the C compiler and header has to be used.
23+ check_include_file (locale.h HAVE_LOCALE_H )
24+ set (CMAKE_EXTRA_INCLUDE_FILES locale.h)
25+ check_type_size ("struct lconv" LCONV_SIZE )
26+ unset (CMAKE_EXTRA_INCLUDE_FILES)
27+ check_struct_has_member ("struct lconv" decimal_point locale.h HAVE_DECIMAL_POINT )
28+ else ()
29+ set (CMAKE_EXTRA_INCLUDE_FILES clocale)
30+ check_type_size (lconv LCONV_SIZE LANGUAGE CXX )
31+ unset (CMAKE_EXTRA_INCLUDE_FILES)
32+ check_struct_has_member (lconv decimal_point clocale HAVE_DECIMAL_POINT LANGUAGE CXX )
33+ endif ()
34+
35+ if (NOT (HAVE_CLOCALE AND HAVE_LCONV_SIZE AND HAVE_DECIMAL_POINT AND HAVE_LOCALECONV))
36+ message (WARNING "Locale functionality is not supported" )
37+ add_definitions (-DNO_LOCALE_SUPPORT )
38+ endif ()
39+
1240SET ( JSONCPP_INCLUDE_DIR ../../include )
1341
1442SET ( PUBLIC_HEADERS
You can’t perform that action at this time.
0 commit comments