mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-22 07:13:07 +01:00
Merge pull request #7750 from TheAssassin/patch-1
Make CMake require C++17
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# CMAKE project for openrct2
|
# CMAKE project for openrct2
|
||||||
cmake_minimum_required(VERSION 3.1)
|
cmake_minimum_required(VERSION 3.8)
|
||||||
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
|
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||||
message(FATAL_ERROR "Building in-source is not supported! Create a build dir and remove ${CMAKE_SOURCE_DIR}/CMakeCache.txt")
|
message(FATAL_ERROR "Building in-source is not supported! Create a build dir and remove ${CMAKE_SOURCE_DIR}/CMakeCache.txt")
|
||||||
endif()
|
endif()
|
||||||
@@ -12,6 +12,9 @@ endif ()
|
|||||||
include(CheckCXXCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
set(ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}")
|
set(ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}")
|
||||||
set(CMAKE_MACOSX_RPATH 1)
|
set(CMAKE_MACOSX_RPATH 1)
|
||||||
|
|
||||||
@@ -85,7 +88,7 @@ function (ADD_CHECK_CXX_COMPILER_FLAG _CXXFLAGS _CACHE_VAR _FLAG)
|
|||||||
endfunction ()
|
endfunction ()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8 /std:c++latest /permissive- /Zc:externConstexpr /WX")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8 /permissive- /Zc:externConstexpr /WX")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244") # C4244: 'conversion_type': conversion from 'type1' to 'type2', possible loss of data
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244") # C4244: 'conversion_type': conversion from 'type1' to 'type2', possible loss of data
|
||||||
|
|
||||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
@@ -135,16 +138,14 @@ else ()
|
|||||||
|
|
||||||
# On mingw all code is already PIC, this will avoid compiler error on redefining this option
|
# On mingw all code is already PIC, this will avoid compiler error on redefining this option
|
||||||
if (NOT MINGW)
|
if (NOT MINGW)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (APPLE AND NOT USE_MMAP)
|
if (APPLE AND NOT USE_MMAP)
|
||||||
set(PIE_FLAG "-fno-pie")
|
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
||||||
else ()
|
else ()
|
||||||
set(PIE_FLAG "-fpie")
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17")
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Defines
|
# Defines
|
||||||
|
|||||||
Reference in New Issue
Block a user