summaryrefslogtreecommitdiff
path: root/Source/cmNinjaTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmLocalGenerator::GetRuleLauncher: return cmPropvvs314152020-11-021-2/+2
|
* CUDA: Clang separable compilationRaul Tambre2020-09-241-3/+6
| | | | | | | | | | | | For NVCC the compiler takes care of device linking when passed the "-dlink" flag. Clang doesn't support such magic and requires the buildsystem to do the work that NVCC does behind the scenes. The implementation is based on Bazel's device linking documentation: https://github.com/tensorflow/tensorflow/blob/7cabcdf073abad8c46e9dda62bb8fa4682d2061e/third_party/nccl/build_defs.bzl.tpl#L259 Closes: #20726
* ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-041-0/+13
|
* ISPC: Add compiler launcher supportRobert Maynard2020-09-031-1/+1
|
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-12/+17
|
* Merge topic 'ispc_lang_support'Brad King2020-09-011-0/+37
|\ | | | | | | | | | | | | | | | | | | | | | | 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: Support ISPC header generation byproducts and parallel buildsRobert Maynard2020-08-281-0/+37
| |
* | Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-071-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | 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
* Source: use cmNonempty()Vitaly Stakhovsky2020-07-281-1/+1
|
* cmNonempty: Convenience inlines to check for non-empty stringVitaly Stakhovsky2020-07-141-10/+9
|
* cmMakefile: Refactor API to better handle empty config valuesRobert Maynard2020-07-031-1/+2
|
* Explicitly specify language flag when source LANGUAGE property is setRobert Maynard2020-06-091-1/+10
| | | | Fixes: #14516, #20716
* Merge topic 'cmprop'Brad King2020-06-021-0/+1
|\ | | | | | | | | | | | | b36d1bdd9d Single location for cmProp typedef Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4829
| * Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
| |
* | GetDefinition: avoid duplicate callsVitaly Stakhovsky2020-05-291-3/+3
|/
* Merge topic 'fortran-preprocess-property'Brad King2020-05-221-127/+227
|\ | | | | | | | | | | | | | | | | | | 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-10/+54
| | | | | | | | | | | | | | | | | | 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
| * Ninja: Add helper functions to generate Fortran buildPeter Hill2020-05-211-61/+87
| |
| * Ninja: Add helper functions to generate Fortran preprocess rulePeter Hill2020-05-211-69/+98
| |
| * Fortran: Add Fortran_PREPROCESS propertyPeter Hill2020-05-211-0/+1
| | | | | | | | Issue: #18870
* | Multi-Ninja: Fix PCHs for Visual C++Cristian Adam2020-05-201-8/+13
| | | | | | | | Fixes: #20711
* | Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-2/+2
|/ | | | Fixes: #20666
* cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-26/+27
|
* Merge branch 'master' into ninja-order-only-fixKyle Edwards2020-04-231-112/+152
|\
| * cmSourceFile::GetProperty: return cmPropVitaly Stakhovsky2020-04-141-18/+18
| |
| * PCH: Add support for multi architecture iOS projectsCristian Adam2020-04-021-16/+54
| | | | | | | | Fixes: #20497
| * cmState::GetTargetTypeName: return type is *cmPropVitaly Stakhovsky2020-03-191-1/+1
| |
| * Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfigKyle Edwards2020-03-091-2/+3
| |\
| * | cmNinjaTargetGenerator: cmStrCat usageBen Boeckel2020-02-111-79/+81
| | |
* | | Ninja: Remove config suffix from order-only targetKyle Edwards2020-04-231-1/+1
| |/ |/| | | | | Fixes: #20621
* | Swift: support Ninja Multi-ConfigSaleem Abdulrasool2020-03-091-1/+2
|/ | | | | Enable support for multi-configuration builds using Ninja when building Swift.
* clang-tidy: Fix explicit --driver-mode= argumentBrad King2020-01-311-1/+1
| | | | | | | | | | | | | Since commit f6f4eb0907 (clang-tidy: Add driver mode argument, 2020-01-19) the `clang-tidy` tool rejects the new option: Unknown command line argument '--driver-mode=g++'. This is because we are adding the flag before the main compiler command-line. Encode it with `--extra-arg-before=` so that `clang-tidy` knows it is supposed to be part of the compiler command. Suggested-by: Hanjiang Yu
* Merge topic 'clang-tidy-driver-mode'Brad King2020-01-281-1/+7
|\ | | | | | | | | | | | | f6f4eb0907 clang-tidy: Add driver mode argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4208
| * clang-tidy: Add driver mode argumentHanjiang Yu2020-01-271-1/+7
| | | | | | | | | | | | | | `clang-tidy` does not infer driver mode if it is not provided with a JSON compilation database. This is exactly the way cmake launches it. Hence clang-tidy will only use the default driver mode. Add an explicit driver mode argument to avoid this.
* | Ninja Multi-Config: Fix bug with MacOS frameworksKyle Edwards2020-01-241-6/+20
|/
* Refactor: Split Ninja files into impl-<Config>.ninja and build-<Config>.ninjaKyle Edwards2020-01-221-15/+15
|
* Ninja: Add a separate job pool for PCH creationDan Johnston2020-01-161-0/+7
| | | | | | | Add a `JOB_POOL_PRECOMPILE_HEADER` target property to specify the pool name, and its associated `CMAKE_JOB_POOL_PRECOMPILE_HEADER` variable. Fixes: #20217
* ObjC: Add _COMPILE_LAUNCHER supportCristian Adam2020-01-091-1/+2
| | | | Fixes: #20178
* Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-2/+2
|
* Ninja: Add multi-config variantKyle Edwards2019-12-131-79/+123
| | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* Refactor: Prepare Ninja generator for multi-configKyle Edwards2019-12-131-70/+68
|
* PCH: Generate sources during Compute stepCristian Adam2019-10-091-3/+40
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+3
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-8/+5
| | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpressionDaniel Eiband2019-09-221-1/+1
| | | | | | The quiet flag is false for all but one call to Evaluate. Make the quiet flag a setter of cmCompiledGeneratorExpression to be able to remove it from the Evaluate function signature.
* Merge topic 'cmake-system-headers'Brad King2019-09-201-1/+1
|\ | | | | | | | | | | | | | | 4a08690ccf cmstd: Extend header <cm/iterator> c688b401d3 cmstd: Modernize CMake system headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3776
| * cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* | Refactoring: Use ConfigName instead of property CMAKE_BUILD_TYPEDaniel Eiband2019-09-171-7/+6
|/ | | | | Use memorized `this->ConfigName` instead of retrieving the value of property CMAKE_BUILD_TYPE.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* Ninja: Pass preprocessor definitions when compiling with Intel FortranBrad King2019-09-031-6/+22
| | | | | | | | The Intel Fortran compiler supports an extension that allows conditional compilation based on preprocessor definitions specified on the command line even when not preprocessing. Fixes: #19664