File tree 20 files changed +42
-43
lines changed 20 files changed +42
-43
lines changed Original file line number Diff line number Diff line change @@ -58,6 +58,13 @@ if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
58
58
unset (_clang_version_std17)
59
59
60
60
if ("x${CMAKE_CXX_SIMULATE_ID} " STREQUAL "xMSVC" )
61
+ # The MSVC standard library requires C++14, and MSVC itself has no
62
+ # notion of operating in a mode not aware of at least that standard.
63
+ set (CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++14" )
64
+ set (CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++14" )
65
+ set (CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++14" )
66
+ set (CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++14" )
67
+
61
68
# This clang++ is missing some features because of MSVC compatibility.
62
69
unset (CMAKE_CXX11_STANDARD__HAS_FULL_SUPPORT)
63
70
unset (CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT)
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ set(CMAKE_CXX_STANDARD 98)
7
7
# Clang/C2 in C++98 mode cannot properly handle some of MSVC headers
8
8
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
9
9
CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC" )
10
- set (CMAKE_CXX_STANDARD 14 )
10
+ set (CMAKE_CXX_STANDARD 11 )
11
11
endif ()
12
12
13
13
add_library (foo SHARED empty.cpp)
Original file line number Diff line number Diff line change @@ -446,11 +446,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
446
446
set (CMAKE_CXX_STANDARD 11)
447
447
endif ()
448
448
449
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
450
- CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU" )
451
- set (CMAKE_CXX_STANDARD 14)
452
- endif ()
453
-
454
449
#
455
450
# Create the libs and the main exe
456
451
#
Original file line number Diff line number Diff line change @@ -403,11 +403,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
403
403
set (CMAKE_CXX_STANDARD 11)
404
404
endif ()
405
405
406
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
407
- CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU" )
408
- set (CMAKE_CXX_STANDARD 14)
409
- endif ()
410
-
411
406
#
412
407
# Create the libs and the main exe
413
408
#
Original file line number Diff line number Diff line change @@ -133,9 +133,7 @@ endif()
133
133
134
134
# for msvc the compiler version determines which c++11 features are available.
135
135
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC"
136
- OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
137
- AND "x${CMAKE_CXX_SIMULATE_ID} " STREQUAL "xMSVC"
138
- AND "x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT} " STREQUAL "xMSVC" ))
136
+ OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND "x${CMAKE_CXX_SIMULATE_ID} " STREQUAL "xMSVC" ))
139
137
if (";${CMAKE_CXX_COMPILE_FEATURES} ;" MATCHES ";cxx_delegating_constructors;" )
140
138
list (APPEND true_defs EXPECTED_COMPILER_CXX_DELEGATING_CONSTRUCTORS)
141
139
list (APPEND true_defs EXPECTED_COMPILER_CXX_VARIADIC_TEMPLATES)
Original file line number Diff line number Diff line change @@ -5,17 +5,6 @@ project(Plugin)
5
5
# We need proper C++98 support from the compiler
6
6
set (CMAKE_CXX_STANDARD 98)
7
7
8
- # Clang/C2 in C++98 mode cannot properly handle some of MSVC headers
9
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
10
- CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC" )
11
- set (CMAKE_CXX_STANDARD 11)
12
- endif ()
13
-
14
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
15
- CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU" )
16
- set (CMAKE_CXX_STANDARD 14)
17
- endif ()
18
-
19
8
# Test per-target output directory properties.
20
9
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR} /bin)
21
10
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR} /lib/plugin)
@@ -40,6 +29,12 @@ include_directories(
40
29
${Plugin_SOURCE_DIR} /include
41
30
)
42
31
32
+ # Clang/C2 in C++98 mode cannot properly handle some of MSVC headers
33
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
34
+ CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC" )
35
+ set (CMAKE_CXX_STANDARD 11)
36
+ endif ()
37
+
43
38
# Create an executable that exports an API for use by plugins.
44
39
add_executable (example_exe src/example_exe.cxx)
45
40
set_target_properties (example_exe PROPERTIES
Original file line number Diff line number Diff line change @@ -51,11 +51,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
51
51
set (CMAKE_CXX_STANDARD 11)
52
52
endif ()
53
53
54
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
55
- CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU" )
56
- set (CMAKE_CXX_STANDARD 14)
57
- endif ()
58
-
59
54
add_subdirectory (lib_shared_and_static)
60
55
61
56
if (CMAKE_SYSTEM_NAME MATCHES "AIX" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
Original file line number Diff line number Diff line change @@ -7,7 +7,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
7
7
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR} " )
8
8
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR} " )
9
9
10
- set (CMAKE_CXX_STANDARD 14)
10
+ set (CMAKE_CXX_STANDARD 11)
11
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
11
12
12
13
option (BUILD_SHARED_LIBS "Build using shared libraries" ON )
13
14
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
3
3
if (NOT DEFINED CMAKE_CXX_STANDARD)
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
endif ()
6
7
7
8
Original file line number Diff line number Diff line change @@ -7,7 +7,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
7
7
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR} " )
8
8
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR} " )
9
9
10
- set (CMAKE_CXX_STANDARD 14)
10
+ set (CMAKE_CXX_STANDARD 11)
11
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
11
12
12
13
option (BUILD_SHARED_LIBS "Build using shared libraries" ON )
13
14
Original file line number Diff line number Diff line change @@ -7,7 +7,8 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
7
7
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR} " )
8
8
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR} " )
9
9
10
- set (CMAKE_CXX_STANDARD 14)
10
+ set (CMAKE_CXX_STANDARD 11)
11
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
11
12
12
13
option (BUILD_SHARED_LIBS "Build using shared libraries" ON )
13
14
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
6
+
5
7
# the version number.
6
8
set (Tutorial_VERSION_MAJOR 1)
7
9
set (Tutorial_VERSION_MINOR 0)
Original file line number Diff line number Diff line change @@ -44,7 +44,8 @@ the following:
44
44
cmake_minimum_required(VERSION 3.3)
45
45
project(Tutorial)
46
46
47
- set(CMAKE_CXX_STANDARD 14)
47
+ set(CMAKE_CXX_STANDARD 11)
48
+ set(CMAKE_CXX_STANDARD_REQUIRED True)
48
49
49
50
# the version number.
50
51
set(Tutorial_VERSION_MAJOR 1)
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# should we use our own math functions
7
8
option (USE_MYMATH "Use tutorial provided math implementation" ON )
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# should we use our own math functions
7
8
option (USE_MYMATH "Use tutorial provided math implementation" ON )
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# should we use our own math functions
7
8
option (USE_MYMATH "Use tutorial provided math implementation" ON )
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# the version number.
7
8
set (Tutorial_VERSION_MAJOR 1)
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# the version number.
7
8
set (Tutorial_VERSION_MAJOR 1)
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# the version number.
7
8
set (Tutorial_VERSION_MAJOR 1)
Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.3)
2
2
project (Tutorial)
3
3
4
- set (CMAKE_CXX_STANDARD 14)
4
+ set (CMAKE_CXX_STANDARD 11)
5
+ set (CMAKE_CXX_STANDARD_REQUIRED True )
5
6
6
7
# the version number.
7
8
set (Tutorial_VERSION_MAJOR 1)
You can’t perform that action at this time.
0 commit comments