mpyne accepted this revision.
mpyne added a comment.
This revision is now accepted and ready to land.


  I think these warning flags make sense as default warning flags.  I don't 
agree that `__DATE__` and `__TIME__` should be avoided as a rule, but projects 
that find this valuable can disable the warning as appropriate (e.g. with a 
"developer mode" option) and make alternative provisions for reproducible 
builds (for packagers or those auditing the binaries generated by others).

INLINE COMMENTS

> KDECompilerSettings.cmake:376
> +endif()
> +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION 
> VERSION_LESS 5.0 OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT 
> CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5))
> +    # -Wdate-time: warn if we use __DATE__ or __TIME__ (we want to be able 
> to reproduce the exact same binary)

The CMake docs seem to say that the operator precedence of OR vs AND will do 
what you mean here for the GCC version check.  But still, if you're going to 
defensively parenthesize the Clang version check (and I agree with doing so), 
you should also do the same for the GCC version check.  That way we don't have 
to check the CMake docs to make sure it's right. :)

REPOSITORY
  R240 Extra CMake Modules

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D5430

To: kfunk, mpyne
Cc: mpyne, #frameworks, #build_system

Reply via email to