Enable WARNINGS_AS_ERRORS in CI jobs.
- Move the settings to other cmake file. This will not be used for XMP code - Disable WARNINGS_AS_ERRORS for VS2008 and VS2010
This commit is contained in:
parent
c4cc019dff
commit
a6d82633c3
@ -88,6 +88,8 @@ if( EXIV2_ENABLE_XMP )
|
||||
add_subdirectory( xmpsdk )
|
||||
endif()
|
||||
|
||||
include(cmake/compilerFlagsExiv2.cmake REQUIRED)
|
||||
|
||||
add_subdirectory( src )
|
||||
|
||||
if( EXIV2_BUILD_UNIT_TESTS )
|
||||
|
||||
@ -7,6 +7,7 @@ environment:
|
||||
VCVARS: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat
|
||||
ARCHITECTURE: x86
|
||||
UNIT_TESTS: OFF
|
||||
WARNINGS_AS_ERRORS: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
CMAKE_GENERATOR: Visual Studio 10 2010
|
||||
INTEGRATION_TESTS: 0
|
||||
@ -14,6 +15,7 @@ environment:
|
||||
VCVARS: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat
|
||||
ARCHITECTURE: x86
|
||||
UNIT_TESTS: OFF
|
||||
WARNINGS_AS_ERRORS: OFF
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
CMAKE_GENERATOR: Visual Studio 11 2012 Win64
|
||||
INTEGRATION_TESTS: 0
|
||||
@ -21,6 +23,7 @@ environment:
|
||||
VCVARS: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat
|
||||
ARCHITECTURE: x86_64
|
||||
UNIT_TESTS: ON
|
||||
WARNINGS_AS_ERRORS: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
||||
CMAKE_GENERATOR: Visual Studio 12 2013 Win64
|
||||
INTEGRATION_TESTS: 0
|
||||
@ -28,6 +31,7 @@ environment:
|
||||
VCVARS: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat
|
||||
ARCHITECTURE: x86_64
|
||||
UNIT_TESTS: ON
|
||||
WARNINGS_AS_ERRORS: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
CMAKE_GENERATOR: Visual Studio 14 2015 Win64
|
||||
INTEGRATION_TESTS: 1
|
||||
@ -35,6 +39,7 @@ environment:
|
||||
VCVARS: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
|
||||
ARCHITECTURE: x86_64
|
||||
UNIT_TESTS: ON
|
||||
WARNINGS_AS_ERRORS: ON
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
CMAKE_GENERATOR: Visual Studio 15 2017 Win64
|
||||
INTEGRATION_TESTS: 1
|
||||
@ -42,6 +47,7 @@ environment:
|
||||
VCVARS: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
|
||||
ARCHITECTURE: x86_64
|
||||
UNIT_TESTS: ON
|
||||
WARNINGS_AS_ERRORS: ON
|
||||
|
||||
shallow_clone: true
|
||||
|
||||
@ -78,7 +84,7 @@ build_script:
|
||||
- cmd: call "%VCVARS%" x86_amd64
|
||||
- cmd: conan install .. --build missing
|
||||
- cmd: echo %CMAKE_GENERATOR%
|
||||
- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DEXIV2_ENABLE_NLS=OFF -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_BUILD_UNIT_TESTS=%UNIT_TESTS% -DCMAKE_INSTALL_PREFIX=install ..
|
||||
- cmd: cmake -G "%CMAKE_GENERATOR%" -DEXIV2_TEAM_WARNINGS_AS_ERRORS=%WARNINGS_AS_ERRORS% -DCMAKE_BUILD_TYPE=Release -DEXIV2_ENABLE_NLS=OFF -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_BUILD_UNIT_TESTS=%UNIT_TESTS% -DCMAKE_INSTALL_PREFIX=install ..
|
||||
- cmd: cmake --build . --config Release
|
||||
- cmd: cmake --build . --config Release --target install
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ fi
|
||||
mkdir build && cd build
|
||||
conan install .. --build missing --profile release
|
||||
|
||||
cmake ${CMAKE_OPTIONS} -DCMAKE_INSTALL_PREFIX=install ..
|
||||
cmake ${CMAKE_OPTIONS} -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DCMAKE_INSTALL_PREFIX=install ..
|
||||
make -j2
|
||||
|
||||
make tests
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
# These flags applies to exiv2lib, the applications, and to the xmp code
|
||||
|
||||
if ( MINGW OR UNIX ) # MINGW, Linux, APPLE, CYGWIN
|
||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
|
||||
set(COMPILER_IS_GCC ON)
|
||||
@ -36,10 +38,6 @@ if ( MINGW OR UNIX ) # MINGW, Linux, APPLE, CYGWIN
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98")
|
||||
endif()
|
||||
|
||||
if ( EXIV2_TEAM_WARNINGS_AS_ERRORS )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
||||
endif ()
|
||||
|
||||
if ( EXIV2_TEAM_USE_SANITIZERS )
|
||||
# ASAN is available in gcc from 4.8 and UBSAN from 4.9
|
||||
# ASAN is available in clang from 3.1 and UBSAN from 3.3
|
||||
@ -201,13 +199,6 @@ if(MSVC)
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:MSVCRT")
|
||||
endif()
|
||||
|
||||
if ( EXIV2_WARNINGS_AS_ERRORS )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /WX")
|
||||
endif ()
|
||||
|
||||
if ( EXIV2_EXTRA_WARNINGS )
|
||||
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
endif ()
|
||||
|
||||
16
cmake/compilerFlagsExiv2.cmake
Normal file
16
cmake/compilerFlagsExiv2.cmake
Normal file
@ -0,0 +1,16 @@
|
||||
# These flags only applies to exiv2lib, and the applications, but not to the xmp code
|
||||
|
||||
if (MINGW OR UNIX) # MINGW, Linux, APPLE, CYGWIN
|
||||
if ( EXIV2_TEAM_WARNINGS_AS_ERRORS )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
if ( EXIV2_TEAM_WARNINGS_AS_ERRORS )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /WX")
|
||||
endif ()
|
||||
endif ()
|
||||
Loading…
Reference in New Issue
Block a user