summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Ninja Multi-Config: Use build.ninja if cmake --build has no --configKyle Edwards2020-02-044-11/+46
| | | | | | If cmake --build is called with no --config argument, and a build.ninja file is available, use that instead of defaulting to the Debug config.
* Refactor: Allow generators to decide default configuration for buildKyle Edwards2020-02-044-3/+21
| | | | And allow them to read any cache values they need.
* Merge topic 'ninja-run-tool-in-builddir'Brad King2020-02-041-0/+2
|\ | | | | | | | | | | | | f4e02c46fc cmGlobalNinjaGenerator: run ninja tools in the build directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4319
| * cmGlobalNinjaGenerator: run ninja tools in the build directoryBen Boeckel2020-02-031-0/+2
| | | | | | | | Fixes: #20303
* | 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.
* | | CMake Nightly Date StampKitware Robot2020-02-041-1/+1
| |/ |/|
* | Merge topic 'ninja-multi-variable-shuffle'Brad King2020-02-032-84/+140
|\ \ | | | | | | | | | | | | | | | | | | b966f86d86 Ninja Multi-Config: Shuffle variables around Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4305
| * | Ninja Multi-Config: Shuffle variables aroundKyle Edwards2020-02-032-84/+140
| | | | | | | | | | | | | | | | | | Remove redundant variable CMAKE_NINJA_MULTI_CROSS_CONFIG_ENABLE. Rename other variables. Document and improve handling of error conditions.
* | | Merge topic 'ctest-add-ignore-no-tests-option'Kyle Edwards2020-02-034-1/+42
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | a39d4139d0 Add --no-tests=<[error|ignore]> option to CTest Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4258
| * | | Add --no-tests=<[error|ignore]> option to CTestStefan Dinkelacker2020-01-314-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no tests were found, the default behavior of CTest is to always log an error message but to return an error code in script mode only. This option unifies the behavior of CTest by either returning an error code if no tests were found or by ignoring it. Signed-off-by: Stefan Dinkelacker <s.dinkelacker@dkfz-heidelberg.de>
* | | | Merge topic 'fix_automoc_deps_rule_name'Brad King2020-02-031-1/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c664bb5b9 Fix AUTOMOC deps file to contain correct rule name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4313
| * | | | Fix AUTOMOC deps file to contain correct rule nameAlexandru Croitor2020-01-311-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rule name should include the current binary path relative to the top level binary path. Fixes: #20298
* | | | | Merge topic '7zip-fix'Brad King2020-02-031-2/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 34413cbf3f cmArchiveWrite: Remove ./ suffix from 7zip archives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4311
| * | | | | cmArchiveWrite: Remove ./ suffix from 7zip archivesCristian Adam2020-01-311-2/+3
| |/ / / / | | | | | | | | | | | | | | | Fixes: #20297
* | | | | Merge topic 'cpack-deprecate-old-macos-generators'Brad King2020-02-032-0/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ed00e8ef8 CPack: Deprecate OSXX11 generator 7bf187499f CPack: Deprecate PackageMaker generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4309
| * | | | | CPack: Deprecate OSXX11 generatorBrad King2020-01-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CPack OSXX11 generator has not had any updates since 2011 except as part of sweeping maintenance changes. It also creates packages with a OSXScriptLauncher binary that has only ppc and i386 architectures which are not supported by Apple anymore. Furthermore, the generator is not even mentioned in our documentation. Add a deprecation warning. Fixes: #20235
| * | | | | CPack: Deprecate PackageMaker generatorBrad King2020-01-311-0/+3
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode no longer distributes the PackageMaker tools. Add a deprecation warning when the generator is used. Issue: #20235
* | | | | Merge topic 'aix-no-export-all'Brad King2020-02-038-0/+31
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | afcd9fe669 AIX: Add an option to disable automatic exports from shared libraries 67f30811ce AIX: Improve name of internal symbol export list file 0ffd54f094 AIX: Add ExportImportList option to skip the object files 0dcfb63cb9 AIX: Revise ExportImportList to build output more incrementally Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4308
| * | | | | AIX: Add an option to disable automatic exports from shared librariesBrad King2020-01-318-0/+31
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge topic 'clang-tidy-driver-mode'Brad King2020-02-032-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3aea865801 clang-tidy: Fix explicit --driver-mode= argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4307
| * | | | | clang-tidy: Fix explicit --driver-mode= argumentBrad King2020-01-312-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | CMake Nightly Date StampKitware Robot2020-02-031-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2020-02-021-1/+1
| |_|_|_|/ |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2020-02-011-1/+1
| |/ / / |/| | |
* | | | CMake Nightly Date StampKitware Robot2020-01-311-1/+1
| | | |
* | | | Merge topic 'automoc-using-depfiles'Brad King2020-01-3013-20/+3434
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aebfbcaa46 AutoGen: Use depfiles for the XXX_autogen ninja targets f765fdea03 AutoGen: Use moc's feature to output dependencies f8c505d4b3 Add a parser for GCC-style depfiles Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Jan Niklas Hasse <jhasse@bixense.com> Merge-request: !4221
| * | | | AutoGen: Use depfiles for the XXX_autogen ninja targetsJoerg Bornemann2020-01-283-6/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XXX_autogen targets are implemented as utility commands, which means they always run, even if there weren't any changes. For the Ninja generator and Qt >= 5.15 we're taking a different approach: This commit adds custom commands that create XXX_autogen/timestamp files. Those custom commands have a depfile assigned that is generated from the depfiles that were created by moc. The XXX_autogen targets merely wrap the XXX_autogen/timestamp custom commands. Fixes: #18749
| * | | | AutoGen: Use moc's feature to output dependenciesJoerg Bornemann2020-01-282-14/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt version 5.15.0 moc learned to output the dependencies of the generated file. This commit enhances JobCompileMocT to read the dependency file written by moc. The dependencies are stored in the same cache that's used for the dependencies determined by dependency filters. The dependency filter functionality is turned off if moc's dependency output feature is used. Fixes: #17750 Fixes: #19058
| * | | | Add a parser for GCC-style depfilesJoerg Bornemann2020-01-2810-0/+3189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the function cmReadGccDepfile that parses a GCC-style depfile and returns its content. The implementation uses a lexer that is modeled after the re2c implementation in Ninja. The sample files of the autotest have been created with gcc 8.3.0. This depfile reader is to be used by the Autogen facility to make use of the depfiles that are generated by Qt's meta object compiler.
* | | | | Merge topic 'std-string-cleanup'Brad King2020-01-3025-94/+85
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bbc07e4561 Source: use std::string in place of const char* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4299
| * | | | | Source: use std::string in place of const char*Vitaly Stakhovsky2020-01-2925-94/+85
| | |_|_|/ | |/| | |
* | | | | CMake Nightly Date StampKitware Robot2020-01-301-1/+1
|/ / / /
* | | | Merge topic 'vs-16.4-custom-command-inputs'Brad King2020-01-291-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4297
| * | | | VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputsBrad King2020-01-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to SYMBOLIC *inputs* too. This is needed when there is a chain of custom commands that use symbolic paths for ordering. Fixes: #20179
* | | | | Merge topic 'mixed-mode-multi-arch'Brad King2020-01-291-0/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 15f6606abd Swift: disallow multiple `CMAKE_OSX_ARCHITECTURES` with Swift Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4283
| * | | | | Swift: disallow multiple `CMAKE_OSX_ARCHITECTURES` with SwiftSaleem Abdulrasool2020-01-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This disallows the use of multiple values in `CMAKE_OSX_ARCHITECTURES` with Swift which does not support FAT compilation.
* | | | | | Merge topic 'mf-json-type'Brad King2020-01-291-3/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5a72ffb33a cmMakefile: Fix construction of Json::Value from fixed-size int types Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4291
| * | | | | | cmMakefile: Fix construction of Json::Value from fixed-size int typesRaul Tambre2020-01-281-3/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cast to the Json-provided fixed-size integer types rather than assuming that the `std::*` variants match. Fixes: #20278
* | | | | | CMake Nightly Date StampKitware Robot2020-01-291-1/+1
| | | | | |
* | | | | | Merge topic 'mf-typo'Brad King2020-01-281-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7b6af980eb cmMakefile: Fix spelling typo in comment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4292
| * | | | | | cmMakefile: Fix spelling typo in commentMasashi Fujita2020-01-281-1/+1
| |/ / / / /
* | | | | | Merge topic 'ninja-1.10'Brad King2020-01-285-5/+36
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ccaa0bccc4 Ninja: Do not clean metadata when re-generating inside a running build 657820a00b Ninja: Track when running to re-generate during a build b12b013028 Ninja: Factor metadata cleanup into dedicated method 5d92e60d81 Ninja: Skip cleandead and recompact if build.ninja is missing dd0a4718fd Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10 0944caaebb Tests: Fix RunCMake.CMP0037 test with Ninja 1.10 9d4883cce5 Tests: Fix RunCMake.Ninja test for Ninja 1.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4290
| * | | | | | Ninja: Do not clean metadata when re-generating inside a running buildBrad King2020-01-271-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `ninja` re-runs CMake to re-generate the build system, do not try to use the ninja tools to update metadata on Windows. The outer ninja process is already holding the files open. Issue: #20274
| * | | | | | Ninja: Track when running to re-generate during a buildBrad King2020-01-274-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tell CMake explicitly when it is re-running inside a `ninja` invocation to re-generate the build system.
| * | | | | | Ninja: Factor metadata cleanup into dedicated methodBrad King2020-01-272-0/+6
| | | | | | |
| * | | | | | Ninja: Skip cleandead and recompact if build.ninja is missingBrad King2020-01-271-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In error cases the `build.ninja` file may not exist. Skip running ninja tools that require it so that we do not generate additional errors.
| * | | | | | Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10Brad King2020-01-271-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ninja 1.10 tools we use since commit fb18215904 (Ninja: clean ninja metadata once generated, 2019-05-13) expect `build.ninja` to be available and loadable. In commit 6cc74b6140 (cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-Multi, 2020-01-22) we added a condition to exclude the tools in a case where `build.ninja` is not available. Generalize that condition using a local variable and extend it for the case that `build.ninja` is not loadable in the current directory because it is meant to be a sub-ninja for a higher directory.
* | | | | | | Merge topic 'xcode-top-level-only-with-object-library'Brad King2020-01-281-2/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 64304fe72b Xcode: Fix post build script for 'top level project only' opt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4284
| * | | | | | | Xcode: Fix post build script for 'top level project only' optYauheni Khnykin2020-01-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is set on Xcode generator created post build scripts which tried to call XCODE_DEPEND_HELPER.make script in subproject. But XCODE_DEPEND_HELPER.make don't exist in subprojects when mentioned option is set on. Fixes: #20262