summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaNormalTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-041-1/+6
|
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-11/+11
|
* Merge topic 'ninja-multi-rsp-remove-path'Brad King2020-08-061-10/+2
|\ | | | | | | | | | | | | | | cdb50af2f6 Ninja: Restore shorter path to response files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: alcroito <alexandru.croitor@qt.io> Merge-request: !5094
| * Ninja: Restore shorter path to response filesKyle Edwards2020-08-031-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | In commit 99ed39b011 (Ninja Multi-Config: Make link response files per-config, 2020-07-15, v3.17.4~3^2), we added the target directory to the response file under the mistaken assumption that two different targets with the same name could be in different directories. However, this causes the path to the response file to be too long to fit on a command line. Take the path back out, while leaving in the per-config split. Fixes: #21050
* | Source: use cmNonempty()Vitaly Stakhovsky2020-07-281-1/+1
| |
* | Ninja: Remove parameter default for cmNinjaTargetDependsKyle Edwards2020-07-241-3/+4
| |
* | Merge topic 'ninja-multi-rsp'Brad King2020-07-171-4/+14
|\ \ | |/ | | | | | | | | | | 99ed39b011 Ninja Multi-Config: Make link response files per-config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5020
| * Ninja Multi-Config: Make link response files per-configKyle Edwards2020-07-161-4/+14
| | | | | | | | Fixes: #20961
* | cmNonempty: Convenience inlines to check for non-empty stringVitaly Stakhovsky2020-07-141-2/+2
| |
* | Merge topic 'getdef-expand'Brad King2020-06-021-9/+6
|\ \ | | | | | | | | | | | | | | | | | | 7ed8c9ebe3 cmMakefile: add GetDefExpandList() that splits value into std::vector Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4819
| * | cmMakefile: add GetDefExpandList() that splits value into std::vectorVitaly Stakhovsky2020-05-301-9/+6
| | | | | | | | | | | | Combines cmMakefile:GetDefinition() and cmExpandList()
* | | 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-2/+2
|/ /
* | cmGeneratorTarget: Remove default config from Get* methodsBrad King2020-05-181-1/+1
| | | | | | | | Ensure all call sites pass an explicit configuration.
* | cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-6/+6
| |
* | CUDA: Device linking use now link optionsMarc Chevrier2020-04-191-26/+10
| | | | | | | | | | | | | | | | | | | | properties LINK_OPTIONS and INTERFACE_LINK_OPTIONS are propagated to the device link step. To control which options are selected for normal link and device link steps, the $<DEVICE_LINK> and $<HOST_LINK> generator expressions can be used. Fixes: #18265
* | cmState::GetTargetTypeName: return type is *cmPropVitaly Stakhovsky2020-03-191-12/+15
| |
* | Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfigKyle Edwards2020-03-091-3/+3
|\ \ | |/
| * Swift: support Ninja Multi-ConfigSaleem Abdulrasool2020-03-091-3/+3
| | | | | | | | | | Enable support for multi-configuration builds using Ninja when building Swift.
* | Add support for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>Alexandru Croitor2020-03-041-1/+13
|/
* Merge branch 'backport-cuda-non-device-link'Brad King2020-02-241-2/+2
|\
| * Ninja: Do not use nvcc response files with non-nvcc toolsFrancisco Facioni2020-02-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Since commit d91b5a72cd (Ninja: Add support for CUDA nvcc response files, 2019-05-30, v3.15.0-rc1~8^2) we use NVCC's `--options-file` option to avoid long link command lines via a response file. However, for non-device linking the host tools are used and the option does not make sense. Update the logic to use `--options-file` only for device linking. Linking with the host tools already has its own logic for response files. Fixes: #19954
* | Merge topic 'swift-exe-exports'Brad King2020-02-041-3/+10
|\ \ | | | | | | | | | | | | | | | | | | 1e26d57188 Ninja: properly handle exports from Swift exes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4314
| * | Ninja: properly handle exports from Swift exesSaleem Abdulrasool2020-02-021-3/+10
| | | | | | | | | | | | | | | | | | This adds logic to properly handle Swift executables. Only executables marked as exporting symbols will now generate module interfaces for the executable.
* | | AIX: Add an option to disable automatic exports from shared librariesBrad King2020-01-311-0/+2
|/ / | | | | | | | | | | | | | | | | | | Since commit 0f150b69d3 (AIX: Explicitly compute shared object exports for both XL and GNU, 2019-07-11, v3.16.0-rc1~418^2~2) we always export all symbols from shared libraries by default. Add a new target property called `AIX_EXPORT_ALL_SYMBOLS` that can be explicitly set to OFF to suppress this behavior and export no symbols by default. Fixes: #20290
* | Ninja Multi-Config: Add variable to control configs used in cross-config buildKyle Edwards2020-01-231-4/+6
| |
* | Refactor: Split Ninja files into impl-<Config>.ninja and build-<Config>.ninjaKyle Edwards2020-01-221-5/+5
| |
* | CUDA: Mult-Config Ninja generator now supports CUDARobert Maynard2020-01-131-7/+38
| |
* | Merge topic 'ninja-cross-build-disable'Brad King2020-01-131-2/+12
|\ \ | | | | | | | | | | | | | | | | | | e8032e202e Ninja Multi-Config: Make cross-config building opt-in Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4205
| * | Ninja Multi-Config: Make cross-config building opt-inKyle Edwards2020-01-101-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many users will want to use the Ninja Multi-Config generator like a traditional Visual Studio-style multi-config generator, which doesn't mix configurations - custom commands are built using target executables of the same configuration the command is for. We do not want to force these people to generate an N*N build matrix when they only need N*1, especially if they have lots of targets. Add a new variable, CMAKE_NINJA_CROSS_CONFIG_ENABLE, to opt-in to the cross-config build matrix.
* | | Refactoring: suppress cmEraseIf in favor of cm::erase_ifMarc Chevrier2020-01-091-3/+3
|/ /
* | cmGlobalGenerator: modernize memrory managemenbtMarc Chevrier2019-12-301-2/+2
| |
* | Ninja: Add multi-config variantKyle Edwards2019-12-131-46/+110
| | | | | | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* | Refactor: Prepare Ninja generator for multi-configKyle Edwards2019-12-131-146/+175
| |
* | replace remove and remove_directory with rm in testsJohnny Jazeix2019-11-131-1/+1
| |
* | PCH: Generate sources during Compute stepCristian Adam2019-10-091-2/+0
| |
* | Unity build: Generate sources during Compute stepBrad King2019-10-031-1/+0
| | | | | | | | | | | | | | | | The unity build sources need to be added for all generators. Create them during `cmGlobalGenerator::Compute` to avoid duplicating the calls in every generator. We already handle Qt autogen there too. Issue: #19789
* | Ninja: Ensure shared library version symlinks are created for dependentsBrad King2019-10-011-0/+21
| | | | | | | | | | | | | | | | When linking to a shared library target that has version symlinks, add an order-only dependency on the build statement that creates the links. This ensures that the links exist for use at runtime. Fixes: #19774
* | 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
* | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
| |
* | Merge topic 'unity-build'Brad King2019-09-051-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7786a05c70 Unity build: Add XCode support 1353802af3 Unity build: Add unit tests 8dfeb5d278 Unity build: Add support for Visual Studio generator 7114c141e2 Unity build: Add support for Ninja and Makefile generators Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Merge-request: !3611
| * | Unity build: Add support for Ninja and Makefile generatorsCristian Adam2019-08-291-0/+1
| | |
* | | Merge topic 'clang-ipo-support'Brad King2019-09-031-0/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | dca9c33abc Tests: Remove old IPO test c856d4556b bindexplib: supporting llvm bitcode formats using llvm-nm 079b8e2916 Clang: prefer lld-link over link.exe 6e3655db2c Clang: add LTO support for GNU-command line clang on windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3527
| * | bindexplib: supporting llvm bitcode formats using llvm-nmZsolt Parragi2019-08-301-0/+8
| | |
* | | Merge topic 'precompile-headers'Brad King2019-08-291-0/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8da78d4efe Precompile headers: Update documentation 5772930164 Precompile headers: Add unit tests 519606704e Precompile headers: Add support for Visual Studio generators 28be170fbc Precompile headers: Add support for Xcode generator b8626261e9 Precompile headers: Add methods to generate PCH sources 375d01c680 PCH: add example/test 9b6797e71d PCH: add target_precompile_headers command 0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Ivan171 <heavenandhell171@gmail.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Steve Mokris <smokris@softpixel.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Danila Malyutin <flashmozzg@gmail.com> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Acked-by: Lucas Zhao <zhaopf6@163.com> Merge-request: !3553
| * | Precompile headers: Add methods to generate PCH sourcesCristian Adam2019-08-281-0/+2
| | | | | | | | | | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* | | Merge topic 'ninja_additional_clean_files_custom_target'Brad King2019-08-271-0/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | | | d040f3f1ee Tests: Extend MakeClean test to test various target types 3ed8cffe73 Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3739
| * Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targetsSebastian Holtermann2019-08-261-0/+1
| | | | | | | | | | | | | | This enables the support for `ADDITIONAL_CLEAN_FILES` in custom targets using the ninja generator. Fixes: #19641
* | Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-59/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`