summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Drop Visual Studio 12 2013 generatorBrad King2024-08-281-4/+1
| | | | This generator has been deprecated since CMake 3.28. Remove it.
* Source: Avoid comparing pointers to nullptrVitaly Stakhovsky2024-08-271-2/+2
|
* presets: Add graphviz supportAliaksandr Averchanka2024-07-301-4/+7
| | | | Closes: #22164
* Install: Add parallel installation optionMartin Duffy2024-07-151-0/+1
| | | | Fixes: #26000
* cmake: Capture more complete configure/generate steps in printed durationsBrad King2024-05-101-0/+27
| | | | | | | | | Extend the start/end times from commit 5f0c5ec49b (cmake: Print configure/generate time, 2023-01-17, v3.26.0-rc1~67^2) to capture generator-specific Configure/Generate actions, and the time spent in the internal "Compute" step at the start of generation. Fixes: #25482
* Drop Visual Studio 9 2008 generatorBrad King2024-05-081-14/+1
| | | | This generator has been deprecated since CMake 3.27. Remove it.
* Merge topic 'fileapi-provide-glob-dependent'Brad King2024-03-211-7/+9
|\ | | | | | | | | | | | | | | | | 6116bcb066 fileapi: Add CONFIGURE_DEPENDS glob info to cmakeFiles object f578515d02 cmGlobCacheEntry: Add helper to carry CONFIGURE_DEPENDS glob cache arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9348
| * fileapi: Add CONFIGURE_DEPENDS glob info to cmakeFiles objectArctic Lampyrid2024-03-191-0/+5
| | | | | | | | | | Fixes: #25668 Co-authored-by: Brad King <brad.king@kitware.com>
| * cmGlobCacheEntry: Add helper to carry CONFIGURE_DEPENDS glob cache argumentsArctic Lampyrid2024-03-191-7/+4
| |
* | Source: Use cmValue::IsOn and IsOffVitaly Stakhovsky2024-03-171-9/+9
|/ | | | Speed up a bit by calling members directly.
* Merge topic 'cmuvprocesschain'Brad King2024-01-251-5/+2
|\ | | | | | | | | | | | | | | | | | | adb3e13d32 cmUVProcessChain: Tolerate fileno() of invalid FILE stream b6e4e4babc cmUVProcessChain: Simplify SetExternalStream usage 116bb2b70f cmUVProcessChain: Simplify builder initialization d32c30906a Tests: Add missing include in testUVProcessChainHelper on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9181
| * cmUVProcessChain: Simplify SetExternalStream usageBrad King2024-01-241-5/+2
| | | | | | | | | | It is commonly called with the `fileno()` of a `FILE*` stream, so accept the latter directly.
* | cmakemain: Return the SCRIPT_MODE exit code if it was setleha-bot2024-01-161-1/+1
| | | | | | | | | | | | | | We determine it via checking cmake.Run() return code and ScriptModeExitCode. If ScriptModeExitCode is zero, then we would return 1 if retcode was non-zero. Otherwise it will be returned if retcode was also non-zero.
* | CMakePresets.json: Don't use architecture and toolset if emptyKyle Edwards2023-12-191-2/+3
| | | | | | | | Fixes: #24864
* | Merge topic 'cmake-test-launcher'Brad King2023-12-151-0/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+10
| | | | | | | | | | | | | | | | | | | | | Add a `CMAKE_TEST_LAUNCHER` variable and corresponding `TEST_LAUNCHER` target property. Issue: #23672
* | | Merge topic 'cmFileCopier-error-loss'Brad King2023-12-051-4/+2
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | a820877d03 errors: avoid constructing a stream before getting the last error 5cf7018af6 cmFileCopier: remember error statuses and get their strings 0639a32d3a cmFileTimes: return status codes from APIs Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9023
| * errors: avoid constructing a stream before getting the last errorBen Boeckel2023-12-021-4/+2
| | | | | | | | | | Constructing a stream may involve operations that change the global error state. Avoid the streams by using `cmStrCat` instead.
* | cmake: Improve error message if CMAKE_BINARY_DIR not writablescivision2023-11-301-2/+9
|/ | | | Fixes: #24407
* Merge topic 'remove-redundant-stat'Brad King2023-09-201-1/+1
|\ | | | | | | | | | | | | | | | | d49ea4a4d9 Source: Remove redundant FileIsDirectory checks f5ff17fcf2 Source: Remove redundant FileIsSymlink checks Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8810
| * Source: Remove redundant FileIsSymlink checksscivision2023-09-181-1/+1
| | | | | | | | | | | | Replace `FileExists || FileIsSymlink` with `PathExists`. The latter does not resolve symlinks, so this is OK for use with broken symlinks, files, and directories.
* | cmake: Clarify error if -P script does not existscivision2023-09-181-0/+3
|/
* Merge topic 'debugger-pipe-connections'Brad King2023-08-191-1/+5
|\ | | | | | | | | | | | | | | 8b1257e7bf Debugger: Replace libuv with platform-specific connection code Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8711
| * Debugger: Replace libuv with platform-specific connection codePaul Maybee2023-08-171-1/+5
| | | | | | | | | | | | | | Remove libuv usage from CMake debugger. Libuv has an async io model and cppdap uses a sync model, so an extra thread and a buffer copy were necessary to match semantics. In order to eliminate those costs this commit implements the IO using platform specific APIs.
* | Source: Add cm_fileno wrapperKyle Edwards2023-08-071-13/+6
|/ | | | And use it where appropriate.
* Merge topic 'cross-compiling-emulator-env-var'Brad King2023-06-141-0/+12
|\ | | | | | | | | | | | | | | 7005dea005 CrossCompiling: Load CMAKE_CROSSCOMPILING_EMULATOR from environment Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8543
| * CrossCompiling: Load CMAKE_CROSSCOMPILING_EMULATOR from environmentMatt McCormick2023-06-131-0/+12
| | | | | | | | | | | | | | | | | | | | | | Read `CMAKE_CROSSCOMPILING_EMULATOR` from an environment variable of the same name if not specified with `-D` or an initial cache value. Along with existing environment variable settings such as `CMAKE_TOOLCHAIN_FILE`, cross compilation configuration can be more completely set via environment variables. Suggested-by: Henry Schreiner <henryschreineriii@gmail.com>
* | Drop Visual Studio 11 2012 generatorBrad King2023-06-131-3/+0
| | | | | | | | This generator has been deprecated since CMake 3.25. Remove it.
* | cmUVProcessChain: Add Status::SpawnResult fieldKyle Edwards2023-06-081-1/+1
|/
* Merge topic 'AddCacheEntry-suppress-raw-pointer-usage'Brad King2023-05-311-2/+2
|\ | | | | | | | | | | | | | | 4fc322bab4 AddCacheEntry: Suppress raw pointer usage Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8520
| * AddCacheEntry: Suppress raw pointer usageMarc Chevrier2023-05-301-2/+2
| |
* | Merge topic 'cmake-verbose-print-build-tool-command'Brad King2023-05-311-3/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8451a3f0b5 cmGlobalGenerator: use a stream for output in `Build` e060666531 cmake: write the build command itself with `--verbose` b017c9f127 cmGlobalGenerator: fix off-by-one for `&&` command joining c715fd8d76 cmGlobalGenerator: quote commands in `::Build` output d6c0e827bc cmGlobalGenerator: add a `QuotedPrintable` method for commands 28ee3bef34 cmGlobalGenerator: add missing spaces in output 465ab8d872 cmGlobalGenerator: use `cmStrCat` in `::Build` 81d45dabc4 cmOutputConverter: add a `static` version of `EscapeForShell` Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !8183
| * | cmGlobalGenerator: use a stream for output in `Build`Ben Boeckel2023-05-271-9/+6
| | | | | | | | | | | | | | | This allows output to show up in output immediately instead of being batched.
| * | cmake: write the build command itself with `--verbose`Ben Boeckel2023-05-161-1/+10
| | |
* | | cmake: Add debuggerGlen Chung2023-05-301-1/+114
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* | SetProperty: suppress raw pointer usageMarc Chevrier2023-05-261-4/+0
| |
* | codespell: Avoid escape sequence that looks like misspelled "nodes"Brad King2023-05-221-16/+16
| |
* | Merge topic 'minor-refactoring'Brad King2023-05-221-6/+4
|\ \ | |/ |/| | | | | | | | | | | 8c066045ec Source: Improve some code readability and efficiency f64a774b49 Source: Reuse some existing variable declarations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8492
| * Source: Reuse some existing variable declarationsMeekness Adesina2023-05-191-6/+4
| |
* | CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-291-12/+10
|/
* CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-241-4/+5
|
* presets: Add trace options to configure presetsArtin Alavi2023-03-301-33/+71
| | | | | | Add JSON schema version 7 to support them. Fixes: #22543
* Merge topic 'presets-json-errors'Brad King2023-03-301-13/+11
|\ | | | | | | | | | | | | | | | | 19305afd8a presets: Improve JSON parser and error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8290
| * presets: Improve JSON parser and error messagesMartin Duffy2023-03-291-13/+11
| |
* | Treat '.ccm', '.cxxm', and '.c++m' files as C++ sourcesBrad King2023-03-091-1/+1
|/ | | | | | | | | These extensions are used by convention for C++ module interface units with Clang. For now, do not add any tests using these extensions. Very few compilers recognize them as C++ sources. Tests can be added later as part of C++ modules support.
* cmake.cxx: Fix lambda name typojcl xx2023-02-061-2/+2
| | | | Fix function name typo `ToolsetLamda` to `ToolsetLambda`.
* cmake: Stop pointing users at logs on configure errorsBrad King2023-01-191-3/+0
| | | | | | | | | | | | | | | | | | Since commit 18e1bfbb3c (cmake: On configure error suggest looking at CMake*.log files, 2013-07-09, v2.8.12~210^2), when configuring a project fails, we print `See also .../CMake{Output,Error}.log` near the end of the output. This was intended to help users find failures in system and compiler inspection checks, but for normal project errors the messages may be misleading. The logs may contain incidental errors that are part of normal operation and do not need to be addressed by the user. Since commit f6ed2585e5 (Modules: Record system inspection steps in the configure log, 2023-01-16), CMake's builtin modules no longer log information to the old-style `CMake{Output,Error}.log` files anyway, so stop mentioning them. Fixes: #22131 Issue: #23200
* FileAPI: Add "configureLog" object kindBrad King2022-12-171-1/+1
| | | | | | | Provide clients with a way to get a known set of configure log event versions. Issue: #23200
* ConfigureLog: Version individual events instead of the whole logBrad King2022-12-161-1/+2
| | | | | | | | In order to support multiple log versions without buffering the entire log, move versioning to the level of individual events. Multiple versions of an event may then be logged consecutively. Issue: #23200
* ConfigureLog: Add infrastructure for structured configure event loggingMatthew Woehlke2022-12-161-0/+12
| | | | | | | | | | Add infrastructure for a "configure log". Use YAML for a balance of machine- and human-readability to records details of configure-time events in a structured format. Teach the RunCMake test framework to support matching the configure log. Issue: #23200