D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-09 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 67584.
kossebau added a comment.


  improve documentation, especially about the generated C++ macros

REPOSITORY
  R240 Extra CMake Modules

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D23789?vs=67554=67584

BRANCH
  addgenerateexportheader

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

AFFECTED FILES
  docs/module/ECMGenerateExportHeader.rst
  modules/ECMGenerateExportHeader.cmake
  tests/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/consumer/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/consumer/main.cpp
  
tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake
  tests/ECMGenerateExportHeaderTest/consumer/testAPI_NO_DEPRECATED.cmake
  tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/format_version/main.cpp
  tests/ECMGenerateExportHeaderTest/library/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/library/library.cpp
  tests/ECMGenerateExportHeaderTest/library/library.hpp
  tests/ECMGenerateExportHeaderTest/library/main.cpp

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-09 Thread Friedrich W. H. Kossebau
kossebau marked 2 inline comments as done.
kossebau added inline comments.

INLINE COMMENTS

> dfaure wrote in ECMGenerateExportHeader.cmake:269
> Really? Isn't doWhat excluded only if EXCLUDE_DEPRECATED_BEFORE_AND_AT is set 
> to 5.12.0?
> With 5.0.0 it's still available, no?
> 
> I'm also surprised this paragraph talks about doWhat but not doBar, they both 
> get disabled together, right?

Hm, indeed that text is bogus. Guess that was in draft mode still when I 
shuffled a lot with code snippets for the examples, but then I forgot to finish 
it up and missed the bits when skimming the doc text for completeness. Brushed 
over text coming in.

And going to give the whole documentation another calm concentrated read 
tonight myself again, seeing such things still in.

REPOSITORY
  R240 Extra CMake Modules

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

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-09 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 67554.
kossebau marked an inline comment as done.
kossebau added a comment.


  - update to David's findings in the docs

REPOSITORY
  R240 Extra CMake Modules

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D23789?vs=67523=67554

BRANCH
  addgenerateexportheader

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

AFFECTED FILES
  docs/module/ECMGenerateExportHeader.rst
  modules/ECMGenerateExportHeader.cmake
  tests/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/consumer/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/consumer/main.cpp
  
tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake
  tests/ECMGenerateExportHeaderTest/consumer/testAPI_NO_DEPRECATED.cmake
  tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/format_version/main.cpp
  tests/ECMGenerateExportHeaderTest/library/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/library/library.cpp
  tests/ECMGenerateExportHeaderTest/library/library.hpp
  tests/ECMGenerateExportHeaderTest/library/main.cpp

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-08 Thread David Faure
dfaure added inline comments.

INLINE COMMENTS

> ECMGenerateExportHeader.cmake:269
> +# cannot be used to reactivate the declaration, and ``Foo::doWhat`` will not
> +# have been built into the library binary.
> +#

Really? Isn't doWhat excluded only if EXCLUDE_DEPRECATED_BEFORE_AND_AT is set 
to 5.12.0?
With 5.0.0 it's still available, no?

I'm also surprised this paragraph talks about doWhat but not doBar, they both 
get disabled together, right?

> ECMGenerateExportHeader.cmake:276
> +# to the version before and at which all deprecated API has been excluded 
> from
> +# the build,
> +# Even more when building against other libraries from the same group "Bar" 
> and

comma followed by uppercase letter is unusual grammar

REPOSITORY
  R240 Extra CMake Modules

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

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-08 Thread Friedrich W. H. Kossebau
kossebau added a comment.


  So, given the lack of further change proposals or objections, I would proceed 
to push this in the next days (Thurday evening or Friday morning), to have 3 
weeks of pre-5.64 real world testing by CI and people running from git master.
  See also 
https://mail.kde.org/pipermail/kde-frameworks-devel/2019-October/094708.html

REPOSITORY
  R240 Extra CMake Modules

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

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-08 Thread Friedrich W. H. Kossebau
kossebau updated this revision to Diff 67523.
kossebau added a comment.


  - add missing group defaulting for warning settings, got lost in rebase before

REPOSITORY
  R240 Extra CMake Modules

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D23789?vs=67324=67523

BRANCH
  addgenerateexportheader

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

AFFECTED FILES
  docs/module/ECMGenerateExportHeader.rst
  modules/ECMGenerateExportHeader.cmake
  tests/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/consumer/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/consumer/main.cpp
  
tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake
  tests/ECMGenerateExportHeaderTest/consumer/testAPI_NO_DEPRECATED.cmake
  tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/format_version/main.cpp
  tests/ECMGenerateExportHeaderTest/library/CMakeLists.txt
  tests/ECMGenerateExportHeaderTest/library/library.cpp
  tests/ECMGenerateExportHeaderTest/library/library.hpp
  tests/ECMGenerateExportHeaderTest/library/main.cpp

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-07 Thread David Faure
dfaure added a comment.


  In D23789#541134 , @kossebau wrote:
  
  > In D23789#540033 , @dfaure wrote:
  >
  > > I found confirmation in cmake's 
Tests/RunCMake/GenerateExportHeader/reference/
  >
  >
  > Not sure what you exactly mean, can you please specify confirmation for 
what? And what this recommends us to do? :)
  
  
  It confirms that only MSVC uses a different way to express this, which is why 
nobody handles the mix-and-match case where you'd generate the header for one 
compiler and then consume it with another.
  (unless I'm wrong and mix-and-match between mingw and MSVC is actually 
possible - AFAIK it's not)

REPOSITORY
  R240 Extra CMake Modules

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

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-05 Thread Friedrich W. H. Kossebau
kossebau added reviewers: Frameworks, Build System.

REPOSITORY
  R240 Extra CMake Modules

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

To: kossebau, #frameworks, #build_system
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns


D23789: Add ECMGenerateExportHeaders, for improved handling of deprecated API

2019-10-04 Thread Friedrich W. H. Kossebau
kossebau retitled this revision from "RFC: Add ECMGenerateExportHeaders, for 
improved handling of deprecated API" to "Add ECMGenerateExportHeaders, for 
improved handling of deprecated API".

REPOSITORY
  R240 Extra CMake Modules

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

To: kossebau
Cc: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem, 
LeGast00n, GB_2, bencreasy, michaelh, ngraham, bruns