summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'pch-instantiate-templates'Brad King2020-09-101-0/+13
|\ | | | | | | | | | | | | | | | | | | 8c8f03422e PCH: Template instantiation support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Acked-by: Cristian Adam <cristian.adam@gmail.com> Tested-by: Raul Tambre <raul@tambre.ee> Merge-request: !5168
| * PCH: Template instantiation supportTobias Hieta2020-09-021-0/+13
| | | | | | | | | | | | | | | | Adds PCH_INSTANTIATE_TEMPLATES target property for enabling template instantiation in precompiled headers. Enabled by default. Currently only supported for Clang 11 and newer. Implements #21133.
* | ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-041-0/+21
| |
* | ISPC: Add compiler launcher supportRobert Maynard2020-09-031-1/+1
| |
* | Merge topic 'xcode-link-phase-all'Craig Scott2020-09-011-0/+52
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 525464ed2a Xcode: Use "Link Binary With Libraries" build phase in some cases dc0898205c Xcode: Add special case for file type extension map for .xcassets 7b3d8411a2 Xcode: Refactor build setting append code and attribute getter naming Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5036
| * | Xcode: Use "Link Binary With Libraries" build phase in some casesGusts Kaksis2020-08-311-0/+52
| |/ | | | | | | | | | | | | OBJECT and STATIC libraries (framework or non-framework) do not use this build phase. Not all items to be linked use this build phase either. Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | Merge topic 'ispc_lang_support'Brad King2020-09-011-0/+13
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 5ece12b7e4 gitlab-ci: add ISPC to the Fedora CI image 8976817d6d ISPC: Update help documentation to include ISPC 2368f46ba4 ISPC: Support building with the MSVC toolchain e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds 34cc6acc81 Add ISPC compiler support to CMake 419d70d490 Refactor some swift only logic to be re-used by other languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5065
| * ISPC: Update help documentation to include ISPCRobert Maynard2020-08-281-2/+3
| |
| * ISPC: Support ISPC header generation byproducts and parallel buildsRobert Maynard2020-08-281-0/+12
| |
* | WIN32_EXECUTABLE: Add support for generator expressionsKyle Edwards2020-08-211-0/+4
| |
* | Merge topic 'fotran_module_vs_docs'Brad King2020-08-181-0/+8
|\ \ | | | | | | | | | | | | | | | | | | c5407b95f0 Help: Expand Fortran_MODULE_DIRECTORY documentation. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5128
| * | Help: Expand Fortran_MODULE_DIRECTORY documentation.Petr Kmoch2020-08-171-0/+8
| | | | | | | | | | | | | | | Document how Visual Studio generators append per-configuration directory to path where Fortran modules are created.
* | | Merge topic 'ios-combined-prune-archs'Brad King2020-08-171-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets 79098d23eb Tests: Avoid warnings about unused arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5111
| * | | CMakeIOSInstallCombined: Enforce disjoint architecture setsGregor Jasny2020-08-081-0/+6
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with Xcode 12 the arm64 architecture is supported as an iOS device as well as simulator architecture. But the fat macho file format does not distinguish by SDK, only by architecture. That makes lipo (rightfully) complain that it cannot add both architectures to a single file. To work around we make sure that both SDKs are built for a disjoint set of architectures. If an architecture is present for both SDKs we prefer the currently configured one. The log output has been extended to reflect that: ``` [iOS combined] Architectures (iphoneos): arm64 arm64e armv7 armv7s [iOS combined] Architectures (iphonesimulator): arm64 arm64e i386 x86_64 [iOS combined] Architectures (iphonesimulator) after pruning: i386 x86_64 ```
* | | Help: Improve formatting for IMPLICIT_DEPENDS_INCLUDE_TRANSFORMJosef Angstenberger2020-08-131-5/+5
| | |
* | | Add option to optimize link dependencies for static librariesKyle Edwards2020-08-121-0/+38
| |/ |/| | | | | | | | | | | | | | | Add an `OPTIMIZE_DEPENDENCIES` target property and supporting `CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and flattening of outgoing dependencies from static libraries. Since they do not actually link, they only depend on side effects of their dependencies. Therefore we can drop dependencies that contribute no side effects.
* | Merge topic 'automoc-path-prefix-off'Brad King2020-08-111-3/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5b5be34811 Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change db659e18bc Merge branch 'backport-3.17-automoc-path-prefix-off' e503fbe38a Merge branch 'backport-3.16-automoc-path-prefix-off' 4c33b305a0 Autogen: Turn off moc path prefix generation by default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5105
| * \ Merge branch 'backport-3.17-automoc-path-prefix-off'Brad King2020-08-101-3/+2
| |\ \
| | * \ Merge branch 'backport-3.16-automoc-path-prefix-off'Brad King2020-08-101-3/+2
| | |\ \
| | | * | Autogen: Turn off moc path prefix generation by defaultJoerg Bornemann2020-08-101-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the default value of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF` to restore compatibility with behavior of CMake 3.15 and below. C++ source files that are generated by Qt's meta object compiler (moc) include the header file that was passed as input argument to moc. This is usually a path relative to the source directory, for example #include "../../source/dir/myobject.h" That is problematic for reproducible builds as described in #18815. To cope with that, the target property AUTOMOC_PATH_PREFIX was introduced in CMake 3.16 by commit d018d27c10 (Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX), 2019-09-13, v3.16.0-rc1~94^2~4). The property is default-initialized from the variable `CMAKE_AUTOMOC_PATH_PREFIX`, which defaults to `ON`. If this property is ON, and myobject.h is located in an include directory of the target, moc-generated C++ files include the file without the "path prefix": #include "myobject.h" This behavior, however, can break projects that have equally named header files in different include directories. As "not breaking existing projects" trumps "have reproducible builds by default" we change the default of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF`. Also, it is now possible to pass `-DCMAKE_AUTOMOC_PATH_PREFIX=ON` on the CMake command line. Before, it was overridden in `CMakeGenericSystem`. Fixes: #20598 Issue: #18815
| | | * | ObjC: Add _COMPILE_LAUNCHER supportCristian Adam2020-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes: #20178
* | | | | Merge topic 'build-interface-targets'Brad King2020-08-101-0/+8
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2 4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES afb998704e Remove filtering of allowed INTERFACE library properties e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5078
| * | | | Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries were created with the intention of collecting usage requirements for use by other targets via `target_link_libraries`. Therefore they were not allowed to have SOURCES and were not included in the generated buildsystem. In practice, this has become limiting: * Header-only libraries do have sources, they just do not compile. Developers should be able to edit those sources (the header files) in their IDE. * Header-only libraries may need to generate some of their header files via custom commands. Some projects work around these limitations by pairing each interface library with an `add_custom_target` that makes the header files and custom commands appear in the generated buildsystem and in IDEs. Lift such limitations by allowing INTERFACE libraries to have SOURCES. For those with sources, add a corresponding build target to the generated buildsystem. Fixes: #19145
* | | | | Help: Clarify what MSVC compilers ignore <LANG>_STANDARD_REQUIREDRobert Maynard2020-08-033-3/+3
|/ / / / | | | | | | | | | | | | Fixes #20953
* | | | Merge topic 'EXCLUDE_FROM_ALL-genex'Brad King2020-07-221-0/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2cdaf43d96 Allow generator expressions in the EXCLUDE_FROM_ALL target property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5021
| * | | | Allow generator expressions in the EXCLUDE_FROM_ALL target propertyJoerg Bornemann2020-07-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows for setting EXCLUDE_FROM_ALL, conditional on the build configuration. However, only the Ninja Multi-Config generator supports different property values per config. All other multi-config generators will yield an error in that situation. Fixes: #20923
* | | | | Documentation: Add missing links to `DEBUG_POSTFIX` target propertyBetsy McPhail2020-07-211-2/+2
|/ / / / | | | | | | | | | | | | | | | | Add links to the `<CONFIG>_POSTFIX` target property when it is referenced in the `DEBUG_POSTFIX` documentation.
* | | | Merge topic 'doc-versionadded'Brad King2020-07-07166-0/+332
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 496ec6036f Help: Add Sphinx 'versionadded' directives to each top-level document 0c87afceab Help/dev: Add maintainer guide step for 'versionadded' documentation markup dbd453c2ff Utilities/Sphinx: Add script for inserting ".. versionadded" directive Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !4947
| * | | Help: Add Sphinx 'versionadded' directives to each top-level documentKitware Robot2020-07-06166-0/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the `Utilities/Sphinx/update_versions.py` script to add initial markup to every top-level document and find module. Issue: #19715
* | | | Help: FRAMEWORK_MULTI_CONFIG_POSTFIX example should use actual configCraig Scott2020-07-051-1/+1
|/ / /
* | | Help: Correct and condense examples for VS_SOLUTION_DEPLOYCraig Scott2020-06-181-8/+6
| | |
* | | Help: Add missing cross-referencing for generator expressionsCraig Scott2020-06-182-2/+2
| | |
* | | Help: Formatting, crossref for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>Craig Scott2020-06-181-11/+12
| | |
* | | Help: Add missing PCH_WARN_INVALID docs and related cleanupsCraig Scott2020-06-181-2/+4
| | |
* | | CUDA: Add support for disabling CUDA_ARCHITECTURESRaul Tambre2020-06-151-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ability to disable adding architectures completely for packaging purposes and cases requiring passing the architectures flags explicitly has been requested. Support a false value for CUDA_ARCHITECTURES and CMAKE_CUDA_ARCHITECTURES for this purpose. Implements #20821.
* | | Merge topic 'doc-EXCLUDE_FROM_ALL'Brad King2020-06-031-6/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | e262123fee Help: Clarify the effect of EXCLUDE_FROM_ALL on target installation a09195e7bf Help: Rename 'artefact' to 'artifact' in target_precompile_headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4840
| * | | Help: Clarify the effect of EXCLUDE_FROM_ALL on target installationArcturus2020-06-021-6/+6
| | | |
* | | | add_library/add_executable: allow local alias to imported targetsMarc Chevrier2020-06-022-4/+29
| | | | | | | | | | | | | | | | Fixes: #20641
* | | | Help: Clarify that no version of MSVC today support C standard levelsHong Xu2020-06-011-2/+2
|/ / / | | | | | | | | | | | | | | | The current description sounds as if MSVC later than 2015 update 3 support C standard level, which is not true. This patch clarifies MSVC support.
* | | Merge topic 'fortran-preprocess-property'Brad King2020-05-221-0/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3888de23da Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFF 66c4e87282 Ninja: Add helper functions to generate Fortran build 5cca1ec893 Ninja: Add helper functions to generate Fortran preprocess rule b0a6161190 Fortran: Add Fortran_PREPROCESS property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4659
| * | | Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFFPeter Hill2020-05-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If `Fortran_PREPROCESS` is explicitly turned off for a source file then we know it does not need to be preprocessed. Teach the Ninja generator to skip preprocessing in this case. Otherwise we still must preprocess just in case. Fixes: #18870
| * | | Fortran: Add Fortran_PREPROCESS propertyPeter Hill2020-05-211-0/+18
| | | | | | | | | | | | | | | | Issue: #18870
* | | | Merge branch 'backport-cuda-default-runtime' into cuda-default-runtimeBrad King2020-05-221-2/+2
|\ \ \ \ | | |/ / | |/| |
| * | | CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchainRobert Maynard2020-05-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library selection flags by default. To maintain backwards compatibility the default CUDA runtime library needs to be computed based on what libraries are found on the initial compiler invocation. For example a toolchain could establish initial flags that have all CUDA compilations using the runtime version, and if we don't detect this we will try to link to both the static and shared runtime. Co-Author: Brad King <brad.king@kitware.com> Fixes: #20708
| * | | Merge topic 'docs_macho_prop_tgt' into release-3.17Brad King2020-03-314-26/+65
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01b47293ea Help: Fix inaccuracies and omissions in MACHO_* property docs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Isuru Fernando <isuruf@gmail.com> Merge-request: !4542
* | | | | CUDA: Add support for Clang compilerRaul Tambre2020-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When crosscompiling we pass the sysroot. We need to try various architecture flags. Clang doesn't automatically select one that works. First try the ones that are more likely to work for modern installations: * <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for future compatibility. * <=sm_20 is removed since CUDA 9.0, try sm_30. Otherwise fallback to Clang's current default. Currently that's `sm_20`, the lowest it supports. Separable compilation isn't supported yet. Fixes: #16586
* | | | | Help: Add an example for each UNITY_BUILD_MODE settingRobert Maynard2020-05-111-2/+38
| | | | |
* | | | | Merge topic 'unity_explicit_groups'Brad King2020-05-112-2/+44
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9f4eb352fe Unity Builds: Support explicit specification of sources to groups b00585adcc Unity: Refactor implementation to make it easier to extend Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4716
| * | | | | Unity Builds: Support explicit specification of sources to groupsRobert Maynard2020-05-072-2/+44
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | Instead of having CMake determine which files should go into each unity file, the user can now use explicitly state the mapping.
* | | | | Help: Mention CMP0095 in INSTALL_RPATH documentationKyle Edwards2020-05-071-0/+4
|/ / / /