CMake/Help/policy
Evan Wilde 321c647640 Include source file without an extension after the same name with an extension
CMP0115 requires that source files listed in CMake must include their
file extension, but there are cases when projects have different source
files with the same name, but one with an extension and one without.
In the current state, CMake will ignore the file without the extension
an always map it to the file with an extension.

```cmake
add_library(foo bar.c bar)
```

In the above example, the target `foo` will only recognize and depend on
`bar.c` and miss the file `bar` unless `bar` comes before `bar.c` in the
source list.
This issue also affects how custom commands emit files.

This change adds a new policy to recognize files with and without a file
extension as different files, both when building targets, and when they
are being created.

Fixes: #26058
2025-02-14 10:01:10 -05:00
..
CMP0000.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0001.rst CMP0001: Remove support for OLD behavior 2025-01-17 09:28:35 -05:00
CMP0002.rst Help: Convert some literal blocks into tables and lists 2025-01-31 12:23:29 -05:00
CMP0003.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0004.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0005.rst CMP0005: Remove support for OLD behavior 2025-01-17 09:28:35 -05:00
CMP0006.rst CMP0006: Remove support for OLD behavior 2025-01-17 09:28:35 -05:00
CMP0007.rst CMP0007: Remove support for OLD behavior 2025-01-17 09:28:36 -05:00
CMP0008.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0009.rst CMP0009: Remove support for OLD behavior 2025-01-17 09:28:36 -05:00
CMP0010.rst CMP0010: Remove support for OLD behavior 2025-01-17 09:28:36 -05:00
CMP0011.rst CMP0011: Remove support for OLD behavior 2025-01-17 09:28:36 -05:00
CMP0012.rst CMP0012: Remove support for OLD behavior 2025-01-17 09:28:36 -05:00
CMP0013.rst CMP0013: Remove support for OLD behavior 2025-01-17 09:28:37 -05:00
CMP0014.rst CMP0014: Remove support for OLD behavior 2025-01-17 09:28:37 -05:00
CMP0015.rst CMP0015: Remove support for OLD behavior 2025-01-18 09:51:43 -05:00
CMP0016.rst CMP0016: Remove support for OLD behavior 2025-01-18 09:51:43 -05:00
CMP0017.rst CMP0017: Remove support for OLD behavior 2025-01-18 09:51:44 -05:00
CMP0018.rst CMP0018: Remove support for OLD behavior 2025-01-18 09:51:44 -05:00
CMP0019.rst CMP0019: Remove support for OLD behavior 2025-01-18 09:51:44 -05:00
CMP0020.rst CMP0020: Remove support for OLD behavior 2025-01-18 09:51:44 -05:00
CMP0021.rst CMP0021: Remove support for OLD behavior 2025-01-18 09:51:44 -05:00
CMP0022.rst CMP0022: Remove support for OLD behavior 2025-01-18 09:51:45 -05:00
CMP0023.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0024.rst CMP0024: Remove support for OLD behavior 2025-01-19 09:40:59 -05:00
CMP0025.rst CMP0025: Remove support for OLD behavior 2025-01-19 09:40:59 -05:00
CMP0026.rst CMP0026: Remove support for OLD behavior 2025-01-19 09:40:59 -05:00
CMP0027.rst CMP0027: Remove support for OLD behavior 2025-01-19 09:40:59 -05:00
CMP0028.rst CMP0028: Remove support for OLD behavior 2025-01-19 09:40:59 -05:00
CMP0029.rst CMP0029: Remove support for OLD subdir_depends command 2025-01-19 09:41:00 -05:00
CMP0030.rst CMP0030: Remove support for OLD use_mangled_mesa command 2025-01-19 09:41:00 -05:00
CMP0031.rst CMP0031: Remove support for OLD load_command command 2025-01-19 09:41:00 -05:00
CMP0032.rst CMP0032: Remove support for OLD output_required_files command 2025-01-19 09:41:00 -05:00
CMP0033.rst CMP0033: Remove support for OLD export_library_dependencies command 2025-01-19 09:41:00 -05:00
CMP0034.rst CMP0034: Remove support for OLD utility_source command 2025-01-19 09:41:01 -05:00
CMP0035.rst CMP0035: Remove support for OLD variable_requires command 2025-01-19 09:41:01 -05:00
CMP0036.rst CMP0036: Remove support for OLD build_name command 2025-01-19 09:41:01 -05:00
CMP0037.rst CMP0037: Remove support for OLD behavior 2025-01-19 09:41:01 -05:00
CMP0038.rst CMP0038: Remove support for OLD behavior 2025-01-19 09:41:01 -05:00
CMP0039.rst CMP0039: Remove support for OLD behavior 2025-01-19 09:41:01 -05:00
CMP0040.rst CMP0040: Remove support for OLD behavior 2025-01-19 09:41:02 -05:00
CMP0041.rst CMP0041: Remove support for OLD behavior 2025-01-19 09:41:02 -05:00
CMP0042.rst CMP0042: Remove support for OLD behavior 2025-01-19 09:41:02 -05:00
CMP0043.rst CMP0043: Remove support for OLD behavior 2025-01-19 09:41:02 -05:00
CMP0044.rst CMP0044: Remove support for OLD behavior 2025-01-19 09:41:02 -05:00
CMP0045.rst CMP0045: Remove support for OLD behavior 2025-01-19 09:41:03 -05:00
CMP0046.rst CMP0046: Remove support for OLD behavior 2025-01-19 09:41:03 -05:00
CMP0047.rst CMP0047: Remove support for OLD behavior 2025-01-19 09:41:03 -05:00
CMP0048.rst CMP0048: Remove support for OLD behavior 2025-01-19 09:41:03 -05:00
CMP0049.rst CMP0049: Remove support for OLD behavior 2025-01-19 09:41:03 -05:00
CMP0050.rst CMP0050: Remove support for OLD behavior 2025-01-19 09:41:03 -05:00
CMP0051.rst CMP0051: Remove support for OLD behavior 2025-01-20 09:46:54 -05:00
CMP0052.rst CMP0052: Remove support for OLD behavior 2025-01-20 09:46:54 -05:00
CMP0053.rst CMP0053: Remove support for OLD behavior 2025-01-20 09:46:55 -05:00
CMP0054.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0055.rst CMP0055: Remove support for OLD behavior 2025-01-21 09:44:05 -05:00
CMP0056.rst CMP0056: Remove support for OLD behavior 2025-01-21 09:44:05 -05:00
CMP0057.rst CMP0057: Remove support for OLD behavior 2025-01-22 10:40:53 -05:00
CMP0058.rst CMP0058: Remove support for OLD behavior 2025-01-22 10:40:53 -05:00
CMP0059.rst CMP0059: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
CMP0060.rst CMP0060: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
CMP0061.rst CMP0061: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
CMP0062.rst CMP0062: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
CMP0063.rst CMP0063: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
CMP0064.rst CMP0064: Remove support for OLD behavior 2025-01-22 10:40:55 -05:00
CMP0065.rst CMP0065: Remove support for OLD behavior 2025-01-22 10:40:55 -05:00
CMP0066.rst Help: Fix a typo 2024-03-28 10:42:38 +08:00
CMP0067.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0068.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0069.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0070.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0071.rst Help: More syntax highlighting for literal blocks 2025-01-29 16:48:53 -05:00
CMP0072.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0073.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0074.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0075.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0076.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0077.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0078.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0079.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0080.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0081.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0082.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0083.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0084.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0085.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0086.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0087.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0088.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0089.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0090.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0091.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0092.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0093.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0094.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0095.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0096.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0097.rst Help: Document that CMP0097 is always NEW for FetchContent 2024-05-17 14:49:53 +10:00
CMP0098.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0099.rst GenEx: Fix TARGET_PROPERTY evaluation of transitive link properties 2024-04-29 17:40:03 -04:00
CMP0100.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0101.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0102.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0103.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0104.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0105.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0106.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0107.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0108.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0109.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0110.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0111.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0112.rst Help: Remove accidental blockquotes around lists 2025-01-31 12:23:29 -05:00
CMP0113.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0114.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0115.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0116.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0117.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0118.rst CMP0163: Make GENERATED source file property globally visible 2024-03-29 08:54:11 -04:00
CMP0119.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0120.rst codespell: Fix typos found by version 2.4 2025-01-27 10:55:58 -05:00
CMP0121.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0122.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0123.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0124.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0125.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0126.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0127.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0128.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0129.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0130.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0131.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0132.rst Help: Add missing one-line summary to policy CMP0132 2024-11-11 09:38:51 -05:00
CMP0133.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0134.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0135.rst Help: CMP0135 applies to FetchContent as well 2024-04-27 11:01:45 +10:00
CMP0136.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0137.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0138.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0139.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0140.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0141.rst CMP0141: Fix documentation copied from CMP0091 2025-01-24 11:48:56 -05:00
CMP0142.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0143.rst Help: Fix typos found by the rst-backticks hook 2025-01-27 01:43:26 +04:00
CMP0144.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0145.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0146.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0147.rst VS: add source property VS_CUSTOM_COMMAND_DISABLE_PARALLEL_BUILD 2024-11-06 13:29:57 -05:00
CMP0148.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0149.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0150.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0151.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0152.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0153.rst Help: Update Sphinx versionadded directives for 3.28 release 2023-10-03 11:07:16 -04:00
CMP0154.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0155.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0156.rst Static libraries de-duplication: keep first occurrence 2024-10-02 10:17:08 -04:00
CMP0157.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0158.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0159.rst Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
CMP0160.rst cmTarget: Don't allow setting read-only properties 2024-01-23 08:50:38 -05:00
CMP0161.rst CPack: Change CPACK_PRODUCTBUILD_DOMAINS default to true (CMP0161) 2024-01-28 21:09:12 +11:00
CMP0162.rst VS: Add UseDebugLibraries to vcxproj files by default 2024-02-22 08:43:16 -05:00
CMP0163.rst CMP0163: Make GENERATED source file property globally visible 2024-03-29 08:54:11 -04:00
CMP0164.rst Help: Minor grammar and formatting cleanup 2024-06-14 16:19:28 +10:00
CMP0165.rst enable_language(): Fail if called before project() 2024-04-02 23:00:38 +11:00
CMP0166.rst Help: Clarify cmake-buildsystem(7) compile properties section names 2024-05-03 12:07:40 -04:00
CMP0167.rst FindBoost: Add policy to remove this module 2024-05-03 10:30:23 -04:00
CMP0168.rst codespell: Fix typos found by version 2.4 2025-01-27 10:55:58 -05:00
CMP0169.rst FetchContent: Deprecate FetchContent_Populate(depName) 2024-05-29 18:52:24 +10:00
CMP0170.rst FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements 2024-05-29 20:39:17 +10:00
CMP0171.rst add_custom_command: Add CODEGEN support 2024-07-01 12:02:49 -04:00
CMP0172.rst CPack/WIX: Generate perMachine installers by default 2024-07-18 14:16:54 -04:00
CMP0173.rst CMakeFindFrameworks: Deprecate the module subject to policy CMP0173 2024-08-16 11:10:27 +10:00
CMP0174.rst cmake_parse_arguments: Restore capture of value after repeated keyword 2024-10-28 09:47:21 -04:00
CMP0175.rst CMP0175: Do not reject USES_TERMINAL for add_custom_command(TARGET) 2024-11-16 10:02:01 +11:00
CMP0176.rst execute_process: Change default ENCODING to UTF-8 2024-09-16 06:37:46 -04:00
CMP0177.rst install: Normalize DESTINATION paths 2024-09-19 20:31:47 +10:00
CMP0178.rst tests: Preserve empty arguments in test command lines 2024-10-02 10:09:11 +10:00
CMP0179.rst Static libraries de-duplication: keep first occurrence 2024-10-02 10:17:08 -04:00
CMP0180.rst project: Always set <PROJECT-NAME>_* as normal variables 2024-10-08 10:07:11 -04:00
CMP0181.rst Renumber post-3.31 development from 3.32 to 4.0 2025-01-16 09:18:21 -05:00
CMP0182.rst Renumber post-3.31 development from 3.32 to 4.0 2025-01-16 09:18:21 -05:00
CMP0183.rst Renumber post-3.31 development from 3.32 to 4.0 2025-01-16 09:18:21 -05:00
CMP0184.rst MSVC: Add abstraction for runtime checks 2025-01-29 13:07:41 -05:00
CMP0185.rst FindRuby: Drop upper-case RUBY_ results in favor of Ruby_ variables 2025-02-01 07:12:30 -05:00
CMP0186.rst regex: Match ^ at most once in repeated searches 2025-02-13 20:00:02 +05:00
CMP0187.rst Include source file without an extension after the same name with an extension 2025-02-14 10:01:10 -05:00
DEPRECATED.txt Help: Document explicitly that policy OLD behavior is deprecated 2015-06-09 09:29:41 -04:00
DISALLOWED_COMMAND.txt Help: Normalize and consolidate standard policy advice paragraph 2024-01-11 14:48:01 -05:00
REMOVED_COMMAND.txt Help: Add boilerplate text for removed policies of disallowed commands 2025-01-19 09:40:59 -05:00
REMOVED_EPILOGUE.txt Help: Add boilerplate text to use for removed policies 2025-01-17 09:28:34 -05:00
REMOVED_PROLOGUE.txt Help: Add boilerplate text to use for removed policies 2025-01-17 09:28:34 -05:00
STANDARD_ADVICE.txt Help: Clarify standard policy advice paragraph wording on how policies are set 2024-01-11 15:01:59 -05:00