[cmake] Define WINPR_DEFINE_ATTR_NODISCARD

* Do not define WINPR_ATTR_NODISCARD if WINPR_DEFINE_ATTR_NODISCARD is
  not defined.
* Define WINPR_DEFINE_ATTR_NODISCARD via CMake to enable this for
  internal use only
This commit is contained in:
Armin Novak
2026-02-18 22:16:10 +01:00
parent 6a983751b6
commit 262dade595
2 changed files with 7 additions and 0 deletions

View File

@@ -96,6 +96,9 @@ include(SetFreeRDPCMakeInstallDir)
include(Doxygen)
include(GetSysconfDir)
# FreeRDP internal builds should always check results
add_compile_definitions(WINPR_DEFINE_ATTR_NODISCARD)
# Soname versioning
set(BUILD_NUMBER 0)
if($ENV{BUILD_NUMBER})

View File

@@ -75,6 +75,7 @@
#define WINPR_FALLTHROUGH (void)0;
#endif
#if defined(WINPR_DEFINE_ATTR_NODISCARD)
#if defined(__clang__)
#define WINPR_ATTR_NODISCARD __attribute__((warn_unused_result))
#elif defined(__GNUC__) && (__GNUC__ >= 7)
@@ -82,6 +83,9 @@
#else
#define WINPR_ATTR_NODISCARD
#endif
#else
#define WINPR_ATTR_NODISCARD
#endif
#if defined(__clang__)
#define WINPR_PRAGMA_DIAG_PUSH WINPR_DO_PRAGMA(clang diagnostic push)