summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
Commit message (Collapse)AuthorAgeFilesLines
* AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exportsBrad King2024-11-221-2/+4
| | | | | | | Teach `export()` and `install(EXPORT)` to record this setting on the imported targets they generate. Make this property's non-presence authoritative on imported targets since they represent what was built elsewhere.
* Help: Update AIX_SHARED_LIBRARY_ARCHIVE for versioned shared objectsAditya Vidyadhar Kamath2024-10-291-3/+3
| | | | | | This was missed in commit dc8e4f8f0c (AIX: Enable versioned shared objects with CMAKE_AIX_SHARED_LIBRARY_ARCHIVE, 2024-10-10, v3.31.0-rc2~8^2).
* LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectationsBrad King2024-10-251-8/+11
| | | | | | | | | | | | | | | | | | | | | | Since commit 7abd3137b7 (Linking: Optionally reorder direct dependencies from LINK_LIBRARIES, 2024-09-19, v3.31.0-rc1~53^2) the strategy name `PRESERVE_ORDER` has led users to expect that it strictly preserves order. While the part of the link line generation logic controlled by `LINK_LIBRARIES_STRATEGY` does preserve order, it is not the last step. Toolchain-specific de-duplication can cause the order to change on the actual link line generated in the build system. Rename the strategies: * `PRESERVE_ORDER` => `REORDER_MINIMALLY` * `REORDER` => `REORDER_FREELY` The new names make it clear that reordering is always possible, just to varying degrees. Update the `LINK_LIBRARIES_STRATEGY` documentation to clarify that the strategies do not directly control the final link line. Fixes: #26400 Issue: #26271
* Help: Clarify LINK_LIBRARIES_STRATEGY follow-up de-duplicationBrad King2024-10-231-10/+26
| | | | | | | Extend discussion of the ``PRESERVE_ORDER`` example to prominently explain how platform-specific behavior can affect generated link lines. Closes: #26388
* Help: Move LINK_LIBRARIES_STRATEGY details to target property docsCraig Scott2024-10-181-3/+60
| | | | | | | | | | | | | | For cases where a CMAKE_XXX variable provides a default value for a XXX target property, the convention used in the documentation is to put the detailed explanation in the target property docs, leaving the variable docs to be fairly minimal and cross-reference the target property docs for details. When the (CMAKE_)LINK_LIBRARIES_STRATEGY docs were first added, they were the opposite of this convention, putting the details in the variable docs instead of the property docs. This change moves the details to the property docs to make it consistent with the prevailing convention used elsewhere.
* Linking: Optionally reorder direct dependencies from LINK_LIBRARIESBrad King2024-09-252-0/+16
| | | | | | | | | | | | | | | | | | | | Traditionally CMake generates link lines by starting with the direct link dependencies specified by `LINK_LIBRARIES` in their original order and then appending indirect dependencies that the direct dependencies do not express. This gives projects control over ordering among independent entries, which can be important when intermixing flags and libraries, or when multiple libraries provide the same symbol. However, it may also result in inefficient link lines. Add support for an alternative strategy that can reorder direct link dependencies to produce more efficient link lines. This is useful for projects that cannot easily specify their targets' direct dependencies in an order that satisfies indirect dependencies. Add a `CMAKE_LINK_LIBRARIES_STRATEGY` variable and corresponding `LINK_LIBRARIES_STRATEGY` target property to select a strategy. Fixes: #26271
* Merge topic 'build-databases'Brad King2024-09-051-0/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | e77655555c cmExperimental: gate build database support behind a flag 23cbeb5035 ci: enable `build_database` CXXModules tests 6863c1d823 Tests/CXXModules: add tests for module commands 123107c1a4 Tests/CXXModules: add support for running targets under a given config 438038b5e1 Tests/CXXModules: support building specific targets of example trees 84bc710d84 cmGlobalGenerator: generate build database files for targets 670f753f24 cmDyndepCollation: write build database metadata dcf9a66ffe cxxmodules: plumb control data for exporting build databases ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9708
| * cmExperimental: gate build database support behind a flagBen Boeckel2024-09-031-0/+6
| | | | | | | | | | Given that the feature currently only supports C++ sources and is not formally accepted by ISO yet, gate it behind a flag.
| * cxxmodules: plumb control data for exporting build databasesBen Boeckel2024-08-271-0/+9
| | | | | | | | | | | | This includes the target property, its initializing variable, its initializing environment variable, and updating related docs to mention the new bits.
* | Drop Visual Studio 12 2013 generatorBrad King2024-08-286-6/+6
|/ | | | This generator has been deprecated since CMake 3.28. Remove it.
* Help: Target property COMPILE_FLAGS has been superseded by COMPILE_OPTIONSPeter Kokot2024-08-211-2/+5
| | | | | The `COMPILE_FLAGS` is not actually deprecated but has been superseded by the `COMPILE_OPTIONS` target property.
* Merge topic 'cuda_unity'Brad King2024-08-131-0/+3
|\ | | | | | | | | | | | | | | | | b90ae10dda Add support for unity builds with CUDA sources c99ff40b21 Unity: refactor unity extension logic to single function Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9655
| * Add support for unity builds with CUDA sourcesRobert Maynard2024-08-021-0/+3
| | | | | | | | Fixes #22750
* | AIX: Add option to archive shared librariesAditya Vidyadhar Kamath2024-07-171-0/+20
|/ | | | | | | | Add option `CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`. There will no versions for the shared objects when this option is used. Closes: #26033
* VS: Add VS_FRAMEWORK_REFERENCESCalum Robinson2024-06-261-0/+12
| | | | Fixes: #26082
* Apple: Add CFBundleName to framework Info.plist filesBrad King2024-06-201-0/+8
| | | | Fixes: #26046
* Merge topic 'doc-swift-module-dir-caveat'Brad King2024-05-291-0/+12
|\ | | | | | | | | | | | | 61e76200d7 Help: Discourage use of Swift_MODULE_DIRECTORY with multi-config generators Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9547
| * Help: Discourage use of Swift_MODULE_DIRECTORY with multi-config generatorsDave Abrahams2024-05-281-0/+12
| | | | | | | | | | | | | | It does not yet support per-config module directories. Issue: #25989 Issue: #26010
* | GenEx: Add support for custom transitive link propertiesBrad King2024-05-212-1/+22
| | | | | | | | | | | | | | | | | | Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a new `TRANSITIVE_LINK_PROPERTIES` property in the target's link closure to enable transitive evaluation of named properties through the link closure, including entries guarded by `$<LINK_ONLY:...>`. Fixes: #20416
* | GenEx: Add support for custom transitive compile propertiesBrad King2024-05-211-0/+17
| | | | | | | | | | | | | | | | | | Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a new `TRANSITIVE_COMPILE_PROPERTIES` property in the target's link closure to enable transitive evaluation of named properties through the link closure, excluding entries guarded by `$<LINK_ONLY:...>`. Issue: #20416
* | Drop Visual Studio 9 2008 generatorBrad King2024-05-085-12/+7
|/ | | | This generator has been deprecated since CMake 3.27. Remove it.
* VS: Add option to import .props in .vcxproj.filters fileshalx992024-05-011-0/+10
| | | | | | Adds new target property VS_FILTER_PROPS Fixes: #25948
* Help: Update cmake-buildsystem(7) build and usage requirementsBrad King2024-04-242-2/+2
| | | | | | | Re-organize the section to explicitly describe target-specific commands, build properties, and usage requirement properties. Add builtin transitive properties that have been created since the document was first written.
* Help: Document when AUTOUIC_OPTIONS properties were addedBrad King2024-04-232-0/+4
|
* Merge topic 'doc-ObjC-17-23'Brad King2024-04-171-0/+10
|\ | | | | | | | | | | | | | | 84f1eb64f3 Help/OBJC_STANDARD: Document Objective C17 and C23 support Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !9439
| * Help/OBJC_STANDARD: Document Objective C17 and C23 supportRaul Tambre2024-04-161-0/+10
| | | | | | | | | | | | | | | | | | This was missed in * commit 93b7d3d292 (C17 support, 2021-02-06, v3.21.0-rc1~587^2~10) * commit dcd599757f (C23 support, 2021-02-06, v3.21.0-rc1~587^2~9) Fixes: #25746
* | Experimental: add an experimental feature gate for `import std`Ben Boeckel2024-04-121-0/+5
| |
* | cmTarget: support the `CXX_MODULE_STD` propertyBen Boeckel2024-04-111-0/+36
| |
* | CMP0163: Make GENERATED source file property globally visibleDeniz Bahadir2024-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was originally attempted by policy CMP0118, but its implementation did not cover all intended use cases. We fixed its documentation in commit 1dabbbb5e0 (CMP0118: Revise documentation to describe actual behavior, 2024-03-20). Add new policy CMP0163 to cover the remaining use cases. In particular, make the `GENERATED` property visible to `get_property` calls in other directories. In order to capture the original intention of CMP0118, define CMP0163's NEW behavior to also imply CMP0118's NEW behavior. Fixes: #25437 Fixes: #25058
* | Merge topic 'doc-linker-vars'Brad King2024-03-271-11/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | 6ba2bbc0f3 Help: Restructure and improve LINKER_TYPE docs c39bc6e412 Help: CMAKE_<LANG>_USING_LINKER_<TYPE> can be a list of flags 1c7ccefd83 Help: Add custom linker example for CMAKE_<LANG>_USING_LINKER_<TYPE> aecea7b28b Help: Grammar, typos and wording improvements for linker variables 5b21897c6e Help: Remove stray formatting for try_compile() LINKER_LANGUAGE keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9362
| * Help: Restructure and improve LINKER_TYPE docsCraig Scott2024-03-251-11/+13
| |
* | Merge topic 'export-find_dependency-calls'Brad King2024-03-131-1/+3
|\ \ | |/ | | | | | | | | | | | | 3a739d4dcb EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gate Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9336
| * EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gateBrad King2024-03-121-1/+3
| | | | | | | | | | | | | | Some design concerns have been raised after trying the 3.29 release candidates. Avoid committing to a stable public interface for now. Issue: #25767
| * Merge topic 'doc-autogen' into release-3.29Brad King2024-02-087-39/+63
| |\ | | | | | | | | | | | | | | | | | | | | | ccaf529c4e Autogen: Update Documentation 16cc011fa5 cmQtAutoGenGlobalInitializer: Improve Const-correctness Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9223
* | | VS: Add UseDebugLibraries to vcxproj files by defaultBrad King2024-02-221-2/+3
| | | | | | | | | | | | | | | | | | | | | Use heuristics to select a reasonable value. Add policy CMP0162 to provide compatibility with existing projects. Fixes: #25327
* | | VS: Add [CMAKE_]VS_USE_DEBUG_LIBRARIES options to control UseDebugLibrariesBrad King2024-02-192-0/+45
| | | | | | | | | | | | | | | | | | | | | This indicates to MSBuild which configurations are considered debug configurations. This is useful for reference both by humans and tools. Issue: #25327
* | | Merge topic 'doc-autogen'Brad King2024-02-087-39/+63
|\ \ \ | |/ / |/| / | |/ | | | | | | | | ccaf529c4e Autogen: Update Documentation 16cc011fa5 cmQtAutoGenGlobalInitializer: Improve Const-correctness Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9223
| * Autogen: Update DocumentationOrkun Tokdemir2024-02-087-39/+63
| | | | | | | | | | | | | | * Add Qt 6 to documentation * Add explanation about `<ORIGIN>_autogen_timestamp_deps` Fixes: #25201
* | Merge topic 'doc-SOVERSION-first-component-VERSION'Brad King2024-02-053-4/+17
|\ \ | |/ |/| | | | | | | | | fcab4bee21 Help: Document conventional VERSION/SOVERSION relationship Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9177
| * Help: Document conventional VERSION/SOVERSION relationshipSune Stolborg Vuorela2024-01-313-4/+17
| | | | | | | | Issue: #25626
* | Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATORBrad King2024-01-292-0/+7
|/ | | | | | | | Evaluate generator expressions in these properties, as they apply to `add_test`, `add_custom_command`, and `add_custom_target`. The `CMAKE_CROSSCOMPILING_EMULATOR` variable's `try_run` behavior occurs at configure time and so cannot support generator expressions.
* Merge topic 'autogen-exe-per-config'Brad King2024-01-181-0/+22
|\ | | | | | | | | | | | | | | | | 596e84b0d5 NinjaMultiConfig: Update tests for the new dependency change 7c39dabdbc Autogen: AUTO*_EXECUTABLE: add support for per-config values Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8919
| * Autogen: AUTO*_EXECUTABLE: add support for per-config valuesOrkun Tokdemir2024-01-171-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Per-config values were added to `AUTO*_EXECUTABLE`. * Dependency order was refactored for `cmake_autogen` and `cmake_autorcc` to avoid unnecessary rebuilds. * A new parameter was added for `cmake_autogen` and `cmake_autorcc` to specify the config name of the `auto*_executable` to be used. * Add `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` target property to change the behavior of the dependency graph. * The timestamp target is split into three targets for per-config to avoid redundant `mocs_compilation` builds when `AUTOGEN_BETTER_GRAPH_MULTI_CONFIG` is ON * Per-config `DEP_FILE_RULE_NAME` values were added to `AutogenInfo.json` for `Multi-Config` usage. * Some functions were refactored to avoid code duplication. This commit reimplements fddd0f0443b4ce81d61f15ee1b2f13105967b25a Fixes: #20074
* | Merge topic 'cxxmodules-no-unity'Brad King2024-01-101-0/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | 63bbb3768d cmLocalGenerator: ignore scanned sources for unity builds 76b5383123 cmGlobalGenerator: add unity sources after computing target compile features 7fc2a83fe6 Tests/CXXModules: add a test with unity build support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9118
| * cmLocalGenerator: ignore scanned sources for unity buildsBen Boeckel2024-01-051-0/+5
| |
* | Help: Document Xcode project visibility constraints for embeddingCraig Scott2023-12-151-0/+16
| | | | | | | | Fixes: #22412
* | Merge topic 'cmake-test-launcher'Brad King2023-12-151-0/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 88863d83d6 fileapi: Add test launcher to codemodel-v2 1ec0372ed4 add_test: Optionally use a launcher for tests running in-project targets 478a5f4e04 fileapi: Make launcher attribute 'arguments' optional b44e38a397 cmFileAPICodemodel: Add missing std::move() Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8963
| * | add_test: Optionally use a launcher for tests running in-project targetsRalf Habacker2023-12-131-0/+20
| | | | | | | | | | | | | | | | | | | | | Add a `CMAKE_TEST_LAUNCHER` variable and corresponding `TEST_LAUNCHER` target property. Issue: #23672
* | | Merge topic 'doc-xcframeworks-stubs-apple'Brad King2023-12-133-16/+21
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | e831eef933 Help: Note case where IMPORTED_IMPLIB isn't needed for (xc)frameworks 01735badee Help: XCFrameworks and stubs are supported on all Apple, not just macOS 6ac50df591 Help: Add missing versionadded directives for IMPORTED_IMPLIB Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9058
| * Help: Note case where IMPORTED_IMPLIB isn't needed for (xc)frameworksCraig Scott2023-12-131-0/+6
| |