| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
25caf7bafe cmMakefile::ReadListFile() accepts std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2821
|
| |
| |
| |
| | |
Same for cmMakefile::ReadDependentFile(); some cleanup
|
|/ |
|
|
|
|
|
| |
This property allows scripts to determine whether they're in project
mode, script mode, find-package mode, CTest, or CPack.
|
|
|
|
| |
Reduce the number of files relying on `cmake.h`.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
57e48f16f2 VS: Add Visual Studio 16 2019 generator
bdef729646 VS: Parameterize VS 2017 generator to support future versions
68d316e0cf VS: Rename VS 2017 generator sources to be version-independent
d8ed309d05 VS: Parameterize cmVSSetupAPIHelper instances with VS version
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2789
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add this generator *without* support for specifying the target
architecture in the generator name. cmake-gui will be taught
to provide a field for this, and command-line builds can use -A.
Also, teach this generator to select a default target architecture
based on the host architecture.
Fixes: #18689
Inspired-by: Egor Pugin <egor.pugin@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Rename `cmGlobalVisualStudio{15 => Versioned}Generator`. Rename
`Factory` to `Factory15` since that part still needs to be
version-specific.
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
27eb7c5bdb cmake: Ensure source and binary dirs are set
a1adbc7243 cmake: Stop processing if -P option lacks file name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2799
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If only the source dir is provided, the binary dir is assumed
to be the working directory. If only the binary dir is provided
and it doesn't yet have a CMakeCache.txt to provide the
source dir, then the source dir is assumed to be the working
directory. This logic was not previously being handled
correctly when -S and/or -B options were involved.
Furthermore, when both were missing, no suitable error
message was provided and an empty string was used for
the build directory.
Fixes: #18707
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This results in the correct source directory being picked up in calls
with
cmake sourcedir -C settings
and in a more appropriate error message when calling
mkdir build ; cd build ; cmake -C settings
Also fix `-D` and `-U` in the same way.
|
| |
| |
| |
| |
| |
| | |
In `cmake::CreateDefaultGlobalGenerator` the table of registry entries
does not need an entry for VS 2017 because that is found via the VS
setup helper.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
8a803d784b cmMessenger: Decouple from cmState
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2653
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a file-based API that clients may use to get semantic information
about the buildsystem that CMake generates. Clients will write query
files under a designated location in the build tree, and CMake will
write reply files for clients to read.
Start with support for shared stateless query files. These allow
clients to share requests for major object versions and get all those
recognized by CMake. Once any client has written a shared request to a
build tree it will persist. Other clients will not need to overwrite
the request (since it is stateless) and should not remove it either.
For now we add only an undocumented object kind to use for testing the
query and reply infrastructure. Object kinds providing real semantic
information will be added later.
Issue: #18398
|
| |
| |
| |
| |
| | |
Fix some warnings that are new since clang-tidy version 4, and update
`.clang-tidy` to suppress the rest.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
50c4dec072 graphviz: dereference ALIAS targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2521
|
| |/
| |
| |
| |
| |
| |
| | |
Previous behavior treats ALIAS targets as external targets.
This fix de-aliases these targets to their pointed target.
Fixes: #15636
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This results in the correct source directory being picked up in calls
with
cmake sourcedir -C settings
and in a more appropriate error message when calling
mkdir build ; cd build ; cmake -C settings
Also fix `-D` and `-U` in the same way.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
638f00117a Add release note for the -S and -B options.
de962cc00d CMake: Internally uses -S instead of -H to specify source directory
a10d63d578 cmake: -S and -B can be used to specify source and build directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2358
|
| |
| |
| |
| |
| |
| | |
Document the previously internal option of '-B' and provide a
matching source directory option with '-S'. Both '-B', and '-S'
can be used independently of each other.
|
|/ |
|
|
|
|
|
|
|
|
| |
In `cmake::Run` we return before `Configure` or `Generate` when
not working in normal mode so they do not need mode checks.
While at it, remove a long-outdated comment about when to save the
cache.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`. Use `clang-format` version 6.0.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
|
|
|
|
|
|
|
| |
While we already support `cmake --build . -- -j`, the options after `--`
are specific to the native build tool. Add new options `--parallel
[<N>]` and `-j [<N>]` to abstract this and map to the proper option
for the native build tool.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
6c4f8b4596 Adjust help documentation for file(GLOB), add topic notes
20612978c8 Add tests for `file(GLOB)` CONFIGURE_DEPENDS flag
3f4b81f540 Add glob verify support to XCode, VS, Ninja, and Makefile generators
ca0befc2e1 Add `CONFIGURE_DEPENDS` flag support to cmFileCommand::HandleGlobCommand
599c93e22d Add cmGlobVerificationManager class, integrate with cmake and cmState
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1767
|
| | |
|
| | |
|
|/
|
|
| |
This generator has been deprecated since CMake 3.9. Remove it.
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix the `--build` code path so that `cmSystemTools::SetForceUnixPaths`
is called with the global generator's path style. This makes forwarding
of `--target subdir/src.c.obj` match the slash style the generator
placed in the build system.
Fixes: #17742
|
|
|
|
|
|
|
|
|
|
| |
* Change some functions to take `std::string` instead of
`const char*` in the following classes: `cmMakeFile`, `cmake`,
`cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator`
and a few others.
* Greatly reduce using of `const char*` overloads for
`cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
* Remove many redundant `c_str()` conversions throughout the code.
|
|\
| |
| |
| |
| |
| |
| | |
c85bb007 Reduce allocation of temporary values on heap.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1698
|
| |
| |
| |
| |
| | |
- Use `std::move` while inserting temporary results into vectors.
- Change `push_back` to `emplace_back` where appropriate.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
e6a80ccf Make use of std::chrono throughout every component
ff62b005 CTest: add safe conversion from cmDuration to integer types
695951bc CTest: introduce cmDuration
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1592
|
| |
| |
| |
| |
| |
| |
| |
| | |
This commit continues the changes made in CTest to support std::chrono
by
applying it throughout every component where a duration was used.
No functional change intended.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If the user request a KDevelop3 project, tell the user that
KDevelop3 is not supported anymore, so he sees it's not just
a typo.
Alex
|
|/
|
|
|
|
|
|
|
|
| |
The last KDevelop3 release was many years ago, in 2008 I think.
I haven't seen or read about anybody using KDevelop 3 since a
long time, so I think it can safely be removed from CMake.
KDevelop 4 (first released in 2010) has its own proper CMake
support now, independent from this generator.
Alex
|
|\
| |
| |
| |
| |
| |
| |
| | |
c42b377c cmCacheManager: Test and document newline truncation behavior
a9c48307 cmCacheManager: Truncate values containing newlines
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1652
|
| |
| |
| |
| | |
Fixes #16098.
|
|/ |
|
|
|
|
|
|
|
|
|
| |
This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance:
Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with
some corrections. The original was rolled back by commit
v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to
incompatibilities found. The rollback was followed-up by addition of a
test for the offending case, and this revision passes the test.
|
|\
| |
| |
| |
| |
| |
| | |
57132765 Replace cmArray{Begin,End,Size} by their standard counterparts
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1352
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14
and an standard compliant implementation has been introduced within the
'cm' namespace: cm::{cbegin,cend}.
std::size is only part of C++17, hence exposing a compliant implementation
within namespace cm (cm::size).
where possible, the standard implementations are reused.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location
persistently across re-runs of CMake in a given build tree.
For now we reject the option by default if explicitly set. It will be
implemented on a per-generator basis. Pass the setting into try_compile
project generation. Add a RunCMake.GeneratorInstance test to cover
basic use cases for the option. Verify that `CMAKE_GENERATOR_INSTANCE`
is empty by default, and that it is rejected when the generator does not
support a user setting.
Issue: #17268
|