From 40dbb87b6124a8357e82913e39d61087ad102ff3 Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Mon, 10 Aug 2020 09:10:23 +0100 Subject: [PATCH 1/1] Specified C++17 standard for the CMake projects. Change-Id: I518c6cd79a0a92d09f132ecd7e7e5946f3e35cb2 Signed-off-by: Victor Cebollada --- README.md | 10 +++------- build/tizen/CMakeLists.txt | 4 +++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2bd6dd8..e653068 100644 --- a/README.md +++ b/README.md @@ -21,15 +21,11 @@ ### Requirements - - Ubuntu 14.04 or later + - Ubuntu 16.04 or later - Environment created using dali_env script in dali-core repository - - GCC version 6 + - GCC version 9 -DALi requires a compiler supporting C++11 features. -Ubuntu 16.04 is the first version to offer this by default (GCC v5.4.0). - -GCC version 6 is recommended since it has fixes for issues in version 5 -e.g. it avoids spurious 'defined but not used' warnings in header files. +DALi requires a compiler supporting C++17 features. ### Building the Repository diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index e465353..3bedbd1 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -3,6 +3,7 @@ CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables SET(name "dali2-toolkit") +SET(CMAKE_C_STANDARD 99) PROJECT(${name}) SET(PKG_NAME ${name}) @@ -200,10 +201,11 @@ ENDIF() IF( WIN32 ) ADD_COMPILE_OPTIONS( /FIdali-windows-dependencies.h ) # Adds missing definitions. ADD_COMPILE_OPTIONS( /vmg ) # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks. + ADD_COMPILE_OPTIONS( /std:c++17 ) # c++17 support ADD_COMPILE_OPTIONS( /wd4251 ) # Ignores warning C4251: "'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'" ELSE() # Set up compiler flags and warnings - ADD_COMPILE_OPTIONS( -std=c++11 ) + ADD_COMPILE_OPTIONS( -std=c++17 ) ADD_COMPILE_OPTIONS( -Wno-ignored-qualifiers ) # TODO: Clang is a lot more strict with warnings, we should address -- 2.7.4