Просмотр исходного кода

Merge pull request #2081 from jpark37/cpp17

CMake 3.10, C++17, SWIG warnings
Jim 6 лет назад
Родитель
Сommit
14d8f86745

+ 4 - 3
CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.12)
+cmake_minimum_required(VERSION 3.10)
 
 if (UNIX AND POLICY CMP0072)
 	# In case of both legacy and glvnd OpenGL libraries found. Prefer GLVND
@@ -70,8 +70,9 @@ if(NOT CMAKE_BUILD_TYPE)
         set(CMAKE_BUILD_TYPE RelWithDebInfo)
 endif()
 
-find_package(CXX11 REQUIRED)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAGS}")
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED YES)
+set(CMAKE_CXX_EXTENSIONS NO)
 
 if(${CMAKE_C_COMPILER_ID} MATCHES "Clang" OR ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
 	set(CMAKE_COMPILER_IS_CLANG TRUE)

+ 2 - 1
UI/platform-windows.cpp

@@ -20,7 +20,6 @@
 #include "obs-config.h"
 #include "obs-app.hpp"
 #include "platform.hpp"
-using namespace std;
 
 #include <util/windows/win-version.h>
 #include <util/platform.h>
@@ -37,6 +36,8 @@ using namespace std;
 #include <util/windows/HRError.hpp>
 #include <util/windows/ComPtr.hpp>
 
+using namespace std;
+
 static inline bool check_path(const char *data, const char *path,
 			      string &output)
 {

+ 5 - 0
deps/obs-scripting/CMakeLists.txt

@@ -7,6 +7,11 @@ endif()
 
 project(obs-scripting)
 
+if(POLICY CMP0068)
+	# RPATH settings on macOS do not affect install_name.
+	cmake_policy(SET CMP0068 NEW)
+endif()
+
 if(MSVC)
 	set(obs-scripting_PLATFORM_DEPS
 		w32-pthreads)

+ 5 - 0
deps/obs-scripting/obslua/CMakeLists.txt

@@ -2,8 +2,13 @@ cmake_minimum_required(VERSION 2.8)
 project(obslua)
 
 if(POLICY CMP0078)
+	# UseSWIG generates standard target names.
 	cmake_policy(SET CMP0078 OLD)
 endif()
+if(POLICY CMP0086)
+	# UseSWIG honors SWIG_MODULE_NAME via -module flag.
+	cmake_policy(SET CMP0086 OLD)
+endif()
 
 find_package(SWIG 2 REQUIRED)
 include(${SWIG_USE_FILE})

+ 5 - 0
deps/obs-scripting/obspython/CMakeLists.txt

@@ -2,8 +2,13 @@ cmake_minimum_required(VERSION 2.8)
 project(obspython)
 
 if(POLICY CMP0078)
+	# UseSWIG generates standard target names.
 	cmake_policy(SET CMP0078 OLD)
 endif()
+if(POLICY CMP0086)
+	# UseSWIG honors SWIG_MODULE_NAME via -module flag.
+	cmake_policy(SET CMP0086 OLD)
+endif()
 
 find_package(SWIG 2 REQUIRED)
 include(${SWIG_USE_FILE})