| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| | |
3132ea801c cmSystemTools: Stdout(),Stderr() accept std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2829
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
2c50a72576 cmDepends: all members accept std::string arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2827
|
| |/
| |
| |
| |
| |
| | |
Most `const char*` arguments converted to `const std::string&`
in `cmDepends` and derived classes.
In addition performed minor code cleanup.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
25caf7bafe cmMakefile::ReadListFile() accepts std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2821
|
| |/
| |
| |
| | |
Same for cmMakefile::ReadDependentFile(); some cleanup
|
|/ |
|
| |
|
| |
|
|
|
|
| |
Enable the check in .clang-tidy and fix all warnings.
|
|
|
|
|
| |
Record backtraces for "utility" dependencies created by
`add_dependencies` calls.
|
|
|
|
|
|
|
| |
This method offers the same definitions as `GetTargetDefines` except
that it excludes the "export" macro on shared libraries. Update call
sites to use `GetTargetDefines` instead. Some of them were incorrectly
excluding the export macro.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
The Ninja and Makefile generators were adding a space to the value both
before and after expanding rule variables. Only the latter is needed.
While at it, revise some outdated comments since the rule variable
expansion is no longer responsible for inserting the launcher.
Suggested-by: Mate Pek <mate.pek@gmail.com>
Fixes: #18340
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After changing the ``cmGeneratedFileStream`` methods to accept
``std::string const&`` instead of ``const char*`` we don't
need to call ``std::string::c_str`` anymore when passing
a ``std::string`` to a ``cmGeneratedFileStream`` method.
This patch removes all redundant ``std::string::c_str``
calls when passing a string to a ``cmGeneratedFileStream`` method.
It was generated by building CMake with clang-tidy enabled using
the following options:
-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Fixes: https://gitlab.kitware.com/cmake/cmake/issues/16815
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
Move the method implementation up to `cmLocalCommonGenerator`
to avoid duplicating it in each generator.
|
|
|
|
|
| |
- Use `std::move` while inserting temporary results into vectors.
- Change `push_back` to `emplace_back` where appropriate.
|
|
|
|
|
| |
Introduce method AppendCompileOptions to support
future source file property COMPILE_OPTIONS.
|
|
|
|
| |
Some are user-facing. Others are source comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makefiles generated by cmake use a series of nested calls to build
`*.provides.build` targets that are used when the 'requires' step is
needed. That leads to significant degradation of the build time for
incremental builds. Re-arrange dependencies to eliminate the nested
calls.
Explicit `.mod.stamp` targets introduced by this commit could lead to
situation when a stamp file always older than its dependency. This
happens during the incremental build when building of an updated Fortran
source produces a module file that has no differences from the stored
stamp file. In such case `cmake_copy_f90_mod` will be triggered on each
new build to compare a module file with the corresponding stamp file.
This behavior is expected and can not be changed without nested calls
that slow down the build. The copy-if-different check is much cheaper
than an entire nested make call.
|
|
|
|
| |
Signed-off-by: Matthias Maennich <matthias@maennich.net>
|
|
|
|
| |
Use a lambda instead now that we require C++11.
|
| |
|
|
|
|
|
|
| |
Changes done via `clang-tidy` with some manual fine-tuning
for the variable naming and `auto` type deduction
where appropriate.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add an index to Change cmLocalGenerator::GeneratorTargets for faster lookup by
name.
Also changed a bunch of uses of cmLocalGenerator::GetGeneratorTargets() to take
const references instead of copying the vector.
Represent generator targets as a map (name -> target) to make name lookups more
efficient instead of looping through the entire vector to find the desired one.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Copy the value to our `ConfigName` member on construction to ensure it
is available even to code paths that run before `Generate`. We once
needed to delay this lookup until `Generate` because the local
generators were at one time created before `Configure`. Now they are
created at generate time which is late enough to expect
`CMAKE_BUILD_TYPE` to be available.
Without this, `cmGlobalUnixMakefileGenerator3::WriteConvenienceRules`
causes use of `ConfigName` before it is populated which breaks use of
source files that depend on the `$<CONFIG>` generator expression.
Fixes: #16889
|
|
|
|
|
| |
When the target property `CUDA_PTX_COMPILATION` is enabled CUDA OBJECT
libraries will generate ptx files instead of object files.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Automate with:
git grep -l '#include <cm_' -- Source \
| xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
git grep -l '#include <cmsys/' -- Source \
| xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
git grep -l '#include <cm[A-Z]' -- Source \
| xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When using a Makefiles generator, `install/local/fast` and
`install/strip/fast` targets are not at all fast. They depend on
`install/local` and `install/strip` targets respectively instead of
`preinstall/fast` and don't contain any commands instead of repeating
commands in `install/local` and `install/strip`. The issue was
introduced by simple typos in commits v2.6.0~2825 (Adding install/local
global target for Makefile generators, 2006-08-29) and v2.6.0~1743 (add
install/strip target for makefile generators, 2007-05-18).
|
| |
|
|
|
|
| |
We can consider PTX code to be a form of assembly.
|
| |
|
|
|
|
|
|
|
| |
Port dependents to the new locations as needed.
Leave behind a cmState.h include in cmListFileCache to reduce noise. It
is removed in a following commit.
|
| |
|
| |
|
|
|
|
|
|
| |
Add a factory function to cmLocalGenerator so that variableMappings can
be provided from it, and so that Ninja can always have a hard-coded
TargetImpLib.
|
|
|
|
| |
Don't rely on the cmGeneratorTarget type needlessly.
|
|
|
|
|
|
|
| |
The rule replacement API should not really be in cmLocalGenerator, but
it was historically, and this coupled many other things together here
too, such as output conversion. Make the output converter a parameter
so that rule replacement can be removed from cmLocalGenerator.
|