CMP0208 — CMake 4.3.0 Documentation

# CMP0208

Added in version 4.3.

`export(EXPORT)` does not allow empty arguments.

In CMake 4.2 and below, the `export(EXPORT)` command silently accepted `NAMESPACE`, `FILE` or `CXX_MODULES_DIRECTORY` arguments with empty or missing values.

CMake 4.3 and above issue a diagnostic if any of these keywords are present without an associated value, or of the value given to `FILE` or `CXX_MODULES_DIRECTORY` is empty. (`NAMESPACE` is allowed to have an empty value, but an empty value must be quoted.) A diagnostic is also issued immediately if the value of `EXPORT` is missing or empty. (Previously, this would result in an error at generate-time because no export set whose name is empty can exist.)

This policy provides compatibility with projects which may have relied on the previous lack of enforcement. The `OLD` behavior for this policy permits these keywords to be present without an accompanying value, or to be given an empty value. The `NEW` behavior requires that a value be given, and that the value (except for `NAMESPACE`) is non-empty.

This policy was introduced in CMake version 4.3. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake warns, and uses `OLD` behavior.

Note

The `OLD` behavior of a policy is deprecated by definition and may be removed in a future version of CMake.