Browse Source

fix(build): disable Werror by default, keep enabled on CI

To allow for easier building with different compilers on user systems. Keep
strict checks on CI to make sure new warnings aren't ignored.
reviewable/pr6083/r1
Anthony Bilinski 5 years ago
parent
commit
9888bc2d80
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. 5
      .travis/build-ubuntu-16-04.sh
  2. 9
      CMakeLists.txt
  3. 1
      appimage/build.sh
  4. 6
      flatpak/io.github.qtox.qTox.json
  5. 9
      osx/qTox-Mac-Deployer-ULTIMATE.sh
  6. 2
      windows/cross-compile/build.sh

5
.travis/build-ubuntu-16-04.sh

@ -167,6 +167,7 @@ build_qtox() {
-DSMILEYS=DISABLED \ -DSMILEYS=DISABLED \
-DENABLE_STATUSNOTIFIER=False \ -DENABLE_STATUSNOTIFIER=False \
-DENABLE_GTK_SYSTRAY=False \ -DENABLE_GTK_SYSTRAY=False \
-DSTRICT_OPTIONS=ON \
-DSPELL_CHECK=OFF -DSPELL_CHECK=OFF
bdir bdir
@ -175,7 +176,9 @@ build_qtox() {
rm -rf "$BUILDDIR" rm -rf "$BUILDDIR"
echo '*** BUILDING "FULL" VERSION ***' echo '*** BUILDING "FULL" VERSION ***'
cmake -H. -B"$BUILDDIR" -DUPDATE_CHECK=ON cmake -H. -B"$BUILDDIR" \
-DUPDATE_CHECK=ON \
-DSTRICT_OPTIONS=ON
bdir bdir
} }

9
CMakeLists.txt

@ -30,6 +30,7 @@ option(SPELL_CHECK "Enable spell cheching support" ON)
option(SVGZ_ICON "Compress the SVG icon of qTox" ON) option(SVGZ_ICON "Compress the SVG icon of qTox" ON)
option(ASAN "Compile with AddressSanitizer" OFF) option(ASAN "Compile with AddressSanitizer" OFF)
option(DESKTOP_NOTIFICATIONS "Use snorenotify for desktop notifications" OFF) option(DESKTOP_NOTIFICATIONS "Use snorenotify for desktop notifications" OFF)
option(STRICT_OPTIONS "Enable strict compile options, used by CI" OFF)
# process generated files if cmake >= 3.10 # process generated files if cmake >= 3.10
if(POLICY CMP0071) if(POLICY CMP0071)
@ -84,12 +85,16 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
set(POSITION_INDEPENDENT_CODE True) set(POSITION_INDEPENDENT_CODE True)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-overflow") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-overflow")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-aliasing") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-aliasing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
# Extra-strict compile options that we don't want to subject all users to by default
if (STRICT_OPTIONS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
endif()
# avoid timestamps in binary for reproducible builds, not added until GCC 4.9 # avoid timestamps in binary for reproducible builds, not added until GCC 4.9
include(CheckCXXCompilerFlag) include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(-Wdate-time COMPILER_SUPPORTS_WDATE_TIME) CHECK_CXX_COMPILER_FLAG(-Wdate-time COMPILER_SUPPORTS_WDATE_TIME)
if(COMPILER_SUPPORTS_WDATE_TIME) if (COMPILER_SUPPORTS_WDATE_TIME)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdate-time") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdate-time")
endif() endif()

1
appimage/build.sh

@ -107,6 +107,7 @@ cd _build
# need to build with -DDESKTOP_NOTIFICATIONS=True for snorenotify # need to build with -DDESKTOP_NOTIFICATIONS=True for snorenotify
cmake -DDESKTOP_NOTIFICATIONS=True \ cmake -DDESKTOP_NOTIFICATIONS=True \
-DUPDATE_CHECK=True \ -DUPDATE_CHECK=True \
-DSTRICT_OPTIONS=True \
../ ../
make make

6
flatpak/io.github.qtox.qTox.json

@ -133,7 +133,10 @@
{ {
"name": "qTox", "name": "qTox",
"buildsystem": "cmake-ninja", "buildsystem": "cmake-ninja",
"config-opts": ["-DSVGZ_ICON=OFF"], "config-opts": [
"-DSVGZ_ICON=OFF",
"-DSTRICT_OPTIONS=ON"
],
"sources": [ "sources": [
{ {
"type": "dir", "type": "dir",
@ -143,4 +146,3 @@
} }
] ]
} }

9
osx/qTox-Mac-Deployer-ULTIMATE.sh

@ -262,7 +262,14 @@ build() {
fcho "Now working in ${PWD}" fcho "Now working in ${PWD}"
fcho "Starting cmake ..." fcho "Starting cmake ..."
export CMAKE_PREFIX_PATH=$(brew --prefix qt5) export CMAKE_PREFIX_PATH=$(brew --prefix qt5)
cmake -H$QTOX_DIR -B. -DUPDATE_CHECK=ON -DSPELL_CHECK=OFF
if [[ $TRAVIS = true ]]
then
STRICT_OPTIONS="ON"
else
STRICT_OPTIONS="OFF"
fi
cmake -H$QTOX_DIR -B. -DUPDATE_CHECK=ON -DSPELL_CHECK=OFF -DSTRICT_OPTIONS="${STRICT_OPTIONS}"
make -j$(sysctl -n hw.ncpu) make -j$(sysctl -n hw.ncpu)
} }

2
windows/cross-compile/build.sh

@ -977,6 +977,7 @@ then
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DSPELL_CHECK=OFF \ -DSPELL_CHECK=OFF \
-DUPDATE_CHECK=ON \ -DUPDATE_CHECK=ON \
-DSTRICT_OPTIONS=ON \
.. ..
elif [[ "$BUILD_TYPE" == "debug" ]] elif [[ "$BUILD_TYPE" == "debug" ]]
then then
@ -984,6 +985,7 @@ then
-DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_BUILD_TYPE=Debug \
-DSPELL_CHECK=OFF \ -DSPELL_CHECK=OFF \
-DUPDATE_CHECK=ON \ -DUPDATE_CHECK=ON \
-DSTRICT_OPTIONS=ON \
.. ..
fi fi

Loading…
Cancel
Save