Enable -Werror so Clang specific warnings will trigger a build
error and can't be checked-in.
This requires disabling "extra" warnings.
Add explicit ENABLE_WERROR=ON options instead of relying on defaults.
Currently we don't have any build with -Werror because of
widespread use of ENABLE_EXTRA_COMPILER_WARNINGS CMake option,
that automatically disables -Werror. That's bad because it allows
code with warnings to pass the CI jobs and be checked in, which is
something we want to avoid.
Configure the GCC build to not use ENABLE_EXTRA_COMPILER_WARNINGS.
Allow fuzz jobs to pass with warnings because catching warnings is
not their purpose.
Remove -Werror=unused-but-set-variable that was added in
85357ae721 as a work-around to the fact that -Werror is not
enabled as a side-effect of ENABLE_EXTRA_COMPILER_WARNINGS.
Allow users to control -Werror. For example the MSYS2 build
has many warnings, this policy of adding -Werror= breaks that
build.
Our RPM spec runs `cmake --build ... -j1` on Fedora and Rocky. Set
RPM_BUILD_NCPUS, which increases the `-j` value so that ninja can make
full use of the system.
[skip ci]
The RPM packages use a versioned build directory, which creates problems
for ccache. The APT packages simply take a long time to build. Switch
both to a twice-daily schedule so that we don't set fire to CI minutes
in parallel with every merge.
Back out a recent CMake change since it's no longer needed.
Add an RPMBUILD_EXTRA_ARGS variable to CMakeLists.txt and use it in
GitLab CI to define __cmake_builddir. This should let ccache work with
our RPM builds.
GitLab CI builds RPMs in a different directory for each pipeline
($CI_PROJECT_DIR/build/packaging/rpm/BUILD/wireshark-<version>), so set
base_dir to the build directory and enable absolute_paths_in_stderr.
Fix our cache directory max sizes as well.
Our ubuntu container has Qt6 so use the default Qt version.
The APT packages are still using Qt5 at the moment. We may want to
migrate those to Qt6 in the future and choose a single Linux build
using Qt5.
Linux builds were left behind on the Qt transition, presumably because
our Ubuntu CI image does not support Qt6.
Enable Qt6 by default and explicitly disable it for slower or more
conservative Linux distros.
Drop experimental status for Qt6, because we are using it to build
official Windows and macOS releases.
Building tfshark is disabled by default in CMake options.
The tfshark code should be continuously tested or removed from the
main repo. It should not be allowed to exist in a broken state.
Add it to the code check job to make sure that it at least compiles.
Rename the following build targets, similar to the recent macOS target
name changes:
nsis_package_prep to wireshark_nsis_prep
nsis_package to wireshark_nsis
Rename some NSIS files to reflect that they're specific to Wireshark.
Update the documentation and CI configurations.