Build: Enable and require c++17 (#23868)

* Build: Enable and require c++17

* Build: Raise Visual Studio version from 2017 15.2 to 2017 15.9

* Build: Raise GCC version from 6.3.0 to 7.1.0

* Reduce branch differences

* Fix build after latest merge

* Cleanup after latest merge

(cherry picked from commit 726d5e91b5)
This commit is contained in:
Giacomo Pozzoni
2020-02-08 18:14:09 +01:00
committed by Shauren
parent 172e5c3577
commit fe489e2be1
3 changed files with 3 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ target_compile_definitions(trinity-compile-option-interface
INTERFACE
-D_BUILD_DIRECTIVE="$<CONFIG>")
set(GCC_EXPECTED_VERSION 6.3.0)
set(GCC_EXPECTED_VERSION 7.1.0)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_EXPECTED_VERSION)
message(FATAL_ERROR "GCC: TrinityCore requires version ${GCC_EXPECTED_VERSION} to build but found ${CMAKE_CXX_COMPILER_VERSION}")

View File

@@ -19,6 +19,7 @@ add_library(trinity-feature-interface INTERFACE)
target_compile_features(trinity-feature-interface
INTERFACE
cxx_std_17
cxx_alias_templates
cxx_auto_type
cxx_constexpr

View File

@@ -21,7 +21,7 @@ if (CMAKE_VERSION VERSION_LESS "3.16.0")
set_target_properties(${TARGET_NAME} PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT ${PCH_HEADER})
# Workaround for cotire bug: https://github.com/sakra/cotire/issues/138
set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 14)
set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 17)
endforeach ()
cotire(${TARGET_NAME_LIST})