summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Refactor: `cmGlobalGeneratorFactory::GetDocumentation` returns entryAlex Turbov2022-11-171-7/+5
| | | | | | | | | | Before, a documentation entry was in/out parameter. Now it's a normal return value. This also makes possible to eliminate defaulted default ctor for `cmDocumentationEntry` for C++ 11. Also, simplify `cmake::AppendGlobalGeneratorsDocumentation()`.
* cmake.cxx: Simplify `cmake::AppendExtraGeneratorsDocumentation()`Alex Turbov2022-11-171-12/+5
|
* cmake.cxx: Move `static` functions to an anonymous namespaceAlex Turbov2022-11-171-100/+97
|
* cmake.cxx: Optimize calls to `std::osteam::operator<<`Alex Turbov2022-11-171-28/+27
|
* cmDocumentation: `char*[][2]` → `cmDocumentationEntry[N]`Alex Turbov2022-11-171-1/+26
| | | | | | | | | | Use fixed size arrays of `cmDocumentationEntry` items instead of open arrays of two `char` pointers when describe program options help screens. Also, drop `const char*[][2]` overloads of methods of `cmDocumentation` and `cmDocumentationSection` classes in the sake of generic (template) appenders introduced earlier.
* Merge topic 'extended-profiling'Brad King2022-10-281-0/+9
|\ | | | | | | | | | | | | | | | | 0fe7aae91f cmake: Add profiling events for configure and generate 3d6a8d7eac cmMakefileProfilingData: Refactor to use RAII Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7828
| * cmake: Add profiling events for configure and generateKyle Edwards2022-10-271-0/+9
| |
* | Merge topic 'cmake-presets-workflow-arguments'Brad King2022-10-271-6/+10
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 7ecbe324b0 cmake --workflow: add --fresh option 7d9aa0f00c cmake::Workflow: Refactor to use enum class argument 322193afcd cmake --workflow: print usage and exit on unrecognized argument 70aef29427 cmake --workflow: print usage message Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7825
| * cmake --workflow: add --fresh optionKyle Edwards2022-10-261-5/+8
| | | | | | | | Fixes: #24073
| * cmake::Workflow: Refactor to use enum class argumentKyle Edwards2022-10-261-2/+3
| |
* | Merge topic 'set_environment_generator'Brad King2022-10-241-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 3c3bce133d cmake: Honor CMAKE_GENERATOR env var in --help output Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !7808
| * | cmake: Honor CMAKE_GENERATOR env var in --help outputJuan Ramos2022-10-211-1/+1
| | |
* | | Merge topic 'cmake-presets-list-workflow-type'Brad King2022-10-241-0/+5
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | 75cfbef780 cmake: Support --list-presets=workflow Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Tested-by: Craig Scott <craig.scott@crascit.com> Merge-request: !7816