CMP0165.rst 1.1 KB

1234567891011121314151617181920212223242526
  1. CMP0165
  2. -------
  3. .. versionadded:: 3.30
  4. :command:`enable_language` must not be called before :command:`project`.
  5. In CMake 3.29 and below, if a project called :command:`enable_language`
  6. before the first call to :command:`project`, the language would be enabled
  7. but possibly using unset details that were expected to be set.
  8. In CMake 3.30 and above, :command:`enable_language` prefers to reject this
  9. case and stop with a fatal error instead if it detects that :command:`project`
  10. has not yet been called. This policy provides compatibility for projects that
  11. happened to work when :command:`enable_language` was called before
  12. :command:`project` and have not been updated to call these commands in the
  13. required order.
  14. The ``OLD`` behavior for this policy is to allow :command:`enable_language`
  15. to be called before :command:`project`. The ``NEW`` behavior for this policy
  16. is to fail with a fatal error in such cases.
  17. .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.30
  18. .. |WARNS_OR_DOES_NOT_WARN| replace:: warns
  19. .. include:: include/STANDARD_ADVICE.rst
  20. .. include:: include/DEPRECATED.rst