nextcloud-desktop/cmake/modules
Stephan Beyer 00574ef8b4 Make sanitizer options more fine-grained
The SANITIZE_ADDRESS option of our CMake configuration activates the
AddressSanitizer (and UBSan in a non-working way) for the whole project
(although, by the way, its documentation pretends that it is only enabled
for tests).

This commit introduces new options SANITIZE_LEAK, SANITIZE_MEMORY,
SANITIZE_UNDEFINED, SANITIZE_THREAD.  Each of these options (including
SANITIZE_ADDRESS) enables only the corresponding sanitizer.

Moreover, we mark all sanitizer options as advanced options, because these
options are only interesting for developers.

Note that some sanitizers are conflicting, that is, not all options can
be enabled simultaneously.  Also, not all sanitizers are available for
all compilers and versions.  We, however, do not check for this, instead
we let the compiler throw its errors in such cases.

The explicit usage of the Google Linker is removed, because it is not
necessary and can lead to problems with clang.

The commit can be considered a rewrite of cmake/modules/SanitizerFlags.cmake.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-19 10:57:02 +02:00
..
AddAppIconMacro.cmake Updated AddAppIconMacro (esp. for new macOS retina guidelines) and corrected filenames to not change pattern in cmake scripts 2019-09-03 17:54:22 +02:00
AddCMockaTest.cmake Don't install tests and cmocka lib. 2016-02-05 14:14:07 +01:00
CheckCCompilerFlagSSP.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
CheckPrototypeDefinition.c.in Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
CheckPrototypeDefinition.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
COPYING-CMAKE-SCRIPTS Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
Copyright.txt Add Copyright.txt for cmake modules 2014-04-07 01:27:59 +02:00
DBusMacros.cmake Integrate libcloudproviders support 2017-12-14 11:19:25 +01:00
DefineCMakeDefaults.cmake Fix typos. 2020-05-04 18:11:36 +00:00
DefineCompilerFlags.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
DefineInstallationPaths.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
DefinePlatformDefaults.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
DeployQt5.cmake CPack is still needed for Windows 2014-10-01 21:16:18 +02:00
ECMAddAppIcon.cmake Updated ECMAddAppIcon to newest ver fromhttps://github.com/KDE/extra-cmake-modules/blob/master/modules/ECMAddAppIcon.cmake with modifications for nc workflow (incl. png2imagemagick) 2019-09-04 16:51:16 +02:00
ECMFindModuleHelpers.cmake Use new ECMAddAppIcon macro for application icons. 2018-01-13 13:58:17 +01:00
ECMFindModuleHelpersStub.cmake Use new ECMAddAppIcon macro for application icons. 2018-01-13 13:58:17 +01:00
FindCMocka.cmake Fix find_library FindCMocka.cmake 2016-10-22 14:52:27 +02:00
FindGio.cmake Integrate libcloudproviders support 2017-12-14 11:19:25 +01:00
FindGLib2.cmake Integrate libcloudproviders support 2017-12-14 11:19:25 +01:00
FindINotify.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
FindLibcloudproviders.cmake Integrate libcloudproviders support 2017-12-14 11:19:25 +01:00
FindLibSSH.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
FindPackageVersionCheck.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
FindPdfLatex.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
FindPng2Ico.cmake Use new ECMAddAppIcon macro for application icons. 2018-01-13 13:58:17 +01:00
FindQt5Keychain.cmake Fix build on Debian 7 (CMake pre 2.8.12) 2017-05-29 21:44:25 +02:00
FindSMBClient.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
FindSparkle.cmake Find sparkle the first time around 2014-01-30 12:57:33 +01:00
FindSphinx.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
FindSQLite3.cmake Really use internal SQLite on Windows 2014-10-19 08:51:01 +02:00
GetGitRevisionDescription.cmake Update GetGitRevisionDescription.cmake 2015-02-20 10:11:30 +01:00
GetGitRevisionDescription.cmake.in Update About dialog 2012-12-20 20:35:21 +01:00
GNUInstallDirs.cmake Simplify creating the library path 2015-09-29 00:15:39 +02:00
MacOSXBundleInfo.plist.in Welcome to 2020 2020-01-13 09:28:51 +01:00
MacroAddCompileFlags.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
MacroAddLinkFlags.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
MacroEnsureOutOfSourceBuild.cmake Move csync in order to merge it with mirall 2014-01-13 14:39:50 +01:00
MacroLogFeature.cmake Initial changes to also build on Qt5, doesn't compile yet 2013-08-28 17:03:31 +02:00
MacroOptionalFindPackage.cmake Initial changes to also build on Qt5, doesn't compile yet 2013-08-28 17:03:31 +02:00
NSIS.InstallOptions.ini.in Add win32 packaging with nsi 2012-04-02 13:44:24 +02:00
NSIS.template.in NSIS: SVG imageformats plugin DLL #6515 2018-06-13 14:57:31 +02:00
SanitizerFlags.cmake Make sanitizer options more fine-grained 2020-05-19 10:57:02 +02:00
UseDoxygen.cmake More GmbH -> Inc Copyright header fixes 2016-07-26 16:53:11 +02:00
Warnings.cmake Use -Wno-gnu-zero-variadic-macro-arguments only for Clang 2019-09-09 19:35:30 +02:00