From 8ed6295a7d23f667a788943254af8ef9480e112d Mon Sep 17 00:00:00 2001 From: Lukas W Date: Mon, 16 Oct 2017 15:01:13 +0200 Subject: [PATCH] Use CMAKE_CXX_STANDARD as a portable way of setting C++11 Fixes MSVC warnings "unknown option -std=c++11" --- CMakeLists.txt | 3 ++- plugins/CMakeLists.txt | 2 +- plugins/GigPlayer/CMakeLists.txt | 2 +- plugins/LadspaEffect/CMakeLists.txt | 2 +- plugins/ReverbSC/CMakeLists.txt | 5 ----- plugins/opl2/CMakeLists.txt | 4 ---- plugins/papu/CMakeLists.txt | 2 +- plugins/zynaddsubfx/CMakeLists.txt | 5 ++--- src/CMakeLists.txt | 4 ++-- tests/CMakeLists.txt | 2 +- 10 files changed, 11 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 69083361e..a3651f96f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9) +CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0) PROJECT(lmms) @@ -109,6 +109,7 @@ IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug") SET(STATUS_STK "not built as requested") ENDIF() +SET(CMAKE_CXX_STANDARD_REQUIRED ON) CHECK_INCLUDE_FILES(stdint.h LMMS_HAVE_STDINT_H) CHECK_INCLUDE_FILES(stdlib.h LMMS_HAVE_STDLIB_H) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index ff807f354..7c5b34481 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -2,7 +2,7 @@ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) # Enable C++11 -ADD_DEFINITIONS(-std=c++0x) +SET(CMAKE_CXX_STANDARD 11) IF(LMMS_BUILD_APPLE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") diff --git a/plugins/GigPlayer/CMakeLists.txt b/plugins/GigPlayer/CMakeLists.txt index 88e15f87b..05e9f529d 100644 --- a/plugins/GigPlayer/CMakeLists.txt +++ b/plugins/GigPlayer/CMakeLists.txt @@ -4,7 +4,7 @@ if(LMMS_HAVE_GIG) # Disable C++11 on Clang until gig.h is patched IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - REMOVE_DEFINITIONS(-std=c++0x) + SET(CMAKE_CXX_STANDARD 98) ENDIF() # Required for not crashing loading files with libgig diff --git a/plugins/LadspaEffect/CMakeLists.txt b/plugins/LadspaEffect/CMakeLists.txt index e82761140..bd178a8c4 100644 --- a/plugins/LadspaEffect/CMakeLists.txt +++ b/plugins/LadspaEffect/CMakeLists.txt @@ -1,7 +1,7 @@ INCLUDE(BuildPlugin) # Disable C++11 -REMOVE_DEFINITIONS(-std=c++0x) +SET(CMAKE_CXX_STANDARD 98) BUILD_PLUGIN(ladspaeffect LadspaEffect.cpp LadspaControls.cpp LadspaControlDialog.cpp LadspaSubPluginFeatures.cpp LadspaEffect.h LadspaControls.h LadspaControlDialog.h LadspaSubPluginFeatures.h MOCFILES LadspaEffect.h LadspaControls.h LadspaControlDialog.h EMBEDDED_RESOURCES logo.png) diff --git a/plugins/ReverbSC/CMakeLists.txt b/plugins/ReverbSC/CMakeLists.txt index 71706df88..f6f6c7ee7 100644 --- a/plugins/ReverbSC/CMakeLists.txt +++ b/plugins/ReverbSC/CMakeLists.txt @@ -1,10 +1,5 @@ INCLUDE(BuildPlugin) -# Enable C++11 for CXXFLAGS only -# This is needed since this plugin uses C. Otherwise Travis fails -REMOVE_DEFINITIONS(-std=c++0x) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") - BUILD_PLUGIN( reverbsc ReverbSC.cpp diff --git a/plugins/opl2/CMakeLists.txt b/plugins/opl2/CMakeLists.txt index a62eee588..c12530af8 100644 --- a/plugins/opl2/CMakeLists.txt +++ b/plugins/opl2/CMakeLists.txt @@ -1,7 +1,3 @@ INCLUDE(BuildPlugin) -# Enable C++11 for CXXFLAGS only -REMOVE_DEFINITIONS(-std=c++0x) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") - BUILD_PLUGIN(OPL2 opl2instrument.cpp opl2instrument.h opl.h fmopl.c fmopl.h temuopl.cpp temuopl.h MOCFILES opl2instrument.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/papu/CMakeLists.txt b/plugins/papu/CMakeLists.txt index b45fcf614..036ef19b5 100644 --- a/plugins/papu/CMakeLists.txt +++ b/plugins/papu/CMakeLists.txt @@ -1,6 +1,6 @@ INCLUDE(BuildPlugin) # Disable C++11 -REMOVE_DEFINITIONS(-std=c++0x) +SET(CMAKE_CXX_STANDARD 98) BUILD_PLUGIN(papu papu_instrument.cpp papu_instrument.h Basic_Gb_Apu.cpp Basic_Gb_Apu.h gb_apu/Gb_Oscs.cpp gb_apu/Gb_Apu.h gb_apu/Blip_Buffer.cpp gb_apu/Gb_Apu.cpp gb_apu/Gb_Oscs.h gb_apu/blargg_common.h gb_apu/Blip_Buffer.h gb_apu/Multi_Buffer.cpp gb_apu/blargg_source.h gb_apu/Multi_Buffer.h MOCFILES papu_instrument.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/zynaddsubfx/CMakeLists.txt b/plugins/zynaddsubfx/CMakeLists.txt index d0e810c0b..cacb2a5b9 100644 --- a/plugins/zynaddsubfx/CMakeLists.txt +++ b/plugins/zynaddsubfx/CMakeLists.txt @@ -24,9 +24,8 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wno-write-strings -Wno-deprecated-d IF(LMMS_BUILD_WIN32) # link system-libraries ADD_DEFINITIONS(-DPTW32_STATIC_LIB) - # fix X11 headers errors caused by bug with mingw + c++11 - REMOVE_DEFINITIONS(-std=c++0x) - ADD_DEFINITIONS(-std=gnu++0x) + # fix X11 headers errors caused by bug with mingw + c++11 (enable -std=gnu++0x) + SET(CMAKE_CXX_EXTENSIONS ON) ENDIF(LMMS_BUILD_WIN32) SET(FLTK_SKIP_OPENGL TRUE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 985f38052..6b613d333 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,8 +7,8 @@ SET(LMMS_UIS "") SET(CMAKE_AUTOMOC ON) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -# Enable C++11 -ADD_DEFINITIONS(-std=c++0x) +# Enable C11 & C++11 +SET(CMAKE_CXX_STANDARD 11) IF(LMMS_BUILD_APPLE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8cbe23858..bb846ea69 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -8,7 +8,7 @@ INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}") INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include") INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}") -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x") +SET(CMAKE_CXX_STANDARD 11) SET(CMAKE_AUTOMOC ON)