CMP0209.rst 1.2 KB

123456789101112131415161718192021222324252627
  1. CMP0209
  2. -------
  3. .. versionadded:: 4.3
  4. Verify interface header sets checks executables without exports.
  5. When :prop_tgt:`VERIFY_INTERFACE_HEADER_SETS` is set to true on an executable
  6. target, CMake 4.2 and below would only perform those checks if the target's
  7. :prop_tgt:`ENABLE_EXPORTS` property was true. The reasoning behind this
  8. exclusion was that no other target could consume the headers of an executable
  9. target if that executable target didn't export symbols. Since then, other
  10. use cases have emerged for verifying header file sets where exporting symbols
  11. is no longer a requirement. Therefore, CMake 4.3 and above prefer to verify
  12. interface file sets of executable targets regardless of whether they export
  13. symbols or not.
  14. The ``OLD`` behavior of this policy only verifies interface file sets of an
  15. executable target if its :prop_tgt:`ENABLE_EXPORTS` property is set to true.
  16. The ``NEW`` behavior always verifies interface file sets of an executable
  17. target when :prop_tgt:`VERIFY_INTERFACE_HEADER_SETS` is set to true.
  18. .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 4.3
  19. .. |WARNS_OR_DOES_NOT_WARN| replace:: warns
  20. .. include:: include/STANDARD_ADVICE.rst
  21. .. include:: include/DEPRECATED.rst