| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Temporarily restore previous behavior that allowed specifying
no source or build directory to work, even though it was
neither documented nor supported. This commit is expected
to eventually be reverted to restore the fatal error for such
cases.
Relates: #18817
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
5990ecb741 Compute implicit include directories from compiler output
d751d2d2ed CMakeDetermineCompilerABI: set locale to C for try_compile()
c765ae495a CMakeDetermineCompilerABI: pass verbose flag during compilation
8c5221fb1f try_compile: Preserve special characters in COMPILE_DEFINITIONS
15ad830062 Refactor exclusion of -I/usr/include to avoid per-language values
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2716
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- CMakeParseImplicitIncludeInfo.cmake: new parser that extracts the
compiler's include path from verbose output. If the parser cannot
parse the output, we fall back to the old behavior. On osx we skip
over framework directories (handled elsewhere).
- CMakeDetermineCompilerABI.cmake:
- use verbose flag in try_compile for ${src}
- use new cmake_parse_implicit_include_info() to attempt extract
implicit include directory path and if successful set
CMAKE_${LANG}_IMPLICIT_INCLUDE_DIRECTORIES
- CMakeCCompiler.cmake.in and CMakeCXXCompiler.cmake.in - preserve
CMAKE_${LANG}_IMPLICIT_INCLUDE_DIRECTORIES value between runs in
the same way CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES is preserved
- Tests/RunCMake/ParseImplicitIncludeInfo: tests for parse
based on the older Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in.
The test runs a set of verbose compiler outputs collected from
various machines through the parser and checks the results. New
compiler files can be added by dropping input/output files in the
ParseImplicitIncludeInfo/data subdirectory and then adding the new set
of files to the ${targets} list in ParseImplicitIncludeInfo.cmake.
There is a helper CMakeLists.txt in ParseImplicitIncludeInfo/data
that can help with the generation of test input files.
NOTE: the standard cmake pre-commit hook rejects verbose compiler
output with trailing spaces... you have to manually edit them out.
This shouldn't impact the test.
Note that both the parser and the test code can use CMAKE_${LANG}_COMPILER_*
variables such as ${CMAKE_CXX_COMPILER_ID} to decide how to parse
verbose compiler output. For the test code, this requires us to
save the variables values in the test input files.
Fixes: #16291
|
| |
| |
| |
| |
| |
| |
| | |
Have CMakeDetermineCompilerABI set the locale to C before calling
try_compile(). This is for the implicit include path parser to
keep all the verbose compiler messages in English so we can parse
it. See #18784 for discussion.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Default to the same flag that is used for verbose link information, but
provide another internal platform information variable to use a
compilation-specific variant. Populate it for CUDA where we use a
different compiler for compilation and linking and therefore need
different flags.
Co-Author: Chuck Cranor <chuck@ece.cmu.edu>
|
| |
| |
| |
| |
| |
| |
| | |
When generating the `CMakeLists.txt` file, we pass the values given
to our `COMPILE_DEFINITIONS` option in an `add_definitions` call.
Pass them as bracket arguments to preserve special characters
like `#`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a `CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES` to contain the
hard-coded list of paths to be excluded from `-I` arguments so that the
values remain excluded even if the per-language
`CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variants change.
This is needed to preserve our historical exclusion of `-I/usr/include`
even when it is not a real implicit include directory. A policy may be
needed to remove it later.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
dfd5ae7da7 Help: Mark default CMake generator with asterisk
6023fe7ff2 ccmake: Append rather than replace Generators section of docs
7408cd3929 cmake: Return generator docs directly
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2682
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Required extracting default generator evaluation
to explicit function, as Visual Studio generators
get validated during their construction.
Fixes: #18544
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using SetSection() discards the heading line populated by
addCMakeStandardDocSections(), whereas AppendSection()
preserves it. This also makes the code used for ccmake
consistent with that used for cmake and cmake-gui.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
The GetGeneratorDocumentation() function was not accurately
named and required the vector to populate to be passed as a
function argument. This commit makes the slightly renamed
function return by value, making it a true getter as implied
by its name. Some minor refactoring of the implementation
also makes the steps of populating the vector clearer.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
ab3b549ee0 CROSSCOMPILING_EMULATOR: Fix test generation for empty value
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2834
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If CROSSCOMPILING_EMULATOR was set to an empty string, and a test
was generated with the executable as the command, CMake would segfault
upon trying to generate the test file. Fix this.
Fixes: #18819
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
97700e9f5b FindGit: Add imported target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2790
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5ff7fb592e Fixed all but one clang -Wcomma warning
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2828
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
67bced8a26 cmake-gui: Improve label for default platform
48ec0bc140 cmake-gui: Add field for generator platform selection
8bba458ea5 Add global generator factory method to get default platform name
818df52c48 Add global generator factory method to get list of known platforms
8144b00e32 Split global generator factory list with and without platforms
b70c0aed5c VS: Factor out helper function to compute host platform name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2832
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Specify the default platform to be used when the platform field is empty
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Extend the "first configure" dialog with a field for the user to select
a value for `CMAKE_GENERATOR_PLATFORM`.
Fixes: #17343
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add a `cmGlobalGeneratorFactory::GetKnownPlatforms` method to return
a list of known possible values for `CMAKE_GENERATOR_PLATFORM`.
Implement the method for each generator by referencing the list of
possible values documented in `Help/generator/*.rst` for it.
Co-Author: Julien Jomier <julien.jomier@kitware.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Replace `cmGlobalGeneratorFactory::GetGenerators` with a pair of methods
to split the list of generator names into those that have platforms in
the name and those that do not.
|
| |/ / / / |
|
| |_|_|/
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
c09ec79981 ExternalProject: support SOURCE_SUBDIR for BUILD_IN_SOURCE
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2823
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
25caf7bafe cmMakefile::ReadListFile() accepts std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2821
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Same for cmMakefile::ReadDependentFile(); some cleanup
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
a080914274 Fortran: Add compiler ID/Version generator expressions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2804
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adds `Fortran_COMPILER_ID` and `Fortran_COMPILER_VERSION` generator
expression support to match equivalent `C_COMPILER_ID`,
`CXX_COMPILER_ID`, `C_COMPILER_VERSION`, and `CXX_COMPILER_VERSION`
support.
This is very helpful in the case where the C/C++ compiler suite is a
different type of compiler from the platform Fortran compiler and
projects use generator expressions to assign compiler flags and
definitions. (e.g. `GNU` C/C++ and `SunPro` Fortran on Linux)
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
5b3af28e45 libuv: Update CMake-internal buildsystem
1136275ae1 libuv: Include uv/ headers from each other without any path
1e1209729b Merge branch 'upstream-libuv' into update-libuv
4fcb0d0213 libuv 2019-01-15 (f84c5e69)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2822
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Headers in `uv/` can include each other without the `uv/` prefix. Using
the prefix assumes that the location of `uv/` is in the include file
search path, but it is possible to include `uv.h` via a longer path.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* upstream-libuv:
libuv 2019-01-15 (f84c5e69)
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Code extracted from:
https://github.com/libuv/libuv.git
at commit f84c5e693b80cb0c62bcefba147e7a66e2b839c9 (v1.x).
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
264bdac185 CMAKE_ROLE: Fix value for ctest --build-and-test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2820
|
| | |_|_|/ / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
--build-and-test builds a CMake project, so CMAKE_ROLE should be
PROJECT. Fix this and add a test case.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
1ed4d48dcf Autogen: Prepend instead of append `mocs_compilation.cpp` to the sources list
a42b700cc2 cmTarget,cmGeneratorTarget: Add optional `before` parameter to AddSource
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Peter Wu <peter@lekensteyn.nl>
Merge-request: !2815
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
`mocs_compilation.cpp` easily takes a long time to compile when it
contains multiple `moc` files. When it was appended like before
we ran into the situation that all smaller sources were already compiled when
`mocs_compilation.cpp` got compiled at last. In that case a single core was
busy but all remaining cores stayed idle.
To optimize CPU core utilization we now prepend `mocs_compilation.cpp`
to the sources list instead of appending it. This allows smaller source files
to get compiled *while* the long lasting `mocs_compilation.cpp` gets compiled.
Closes #18793
|
| | |_|_|/ / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The new optional `before` parameter in `cmTarget::AddSource` and
`cmGeneratorTarget::AddSource` allows to prepend a source file
to the sources list instead of appending it.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
0ffe8f8844 Ninja: support `SWIFT_MODULE_NAME` property
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2813
|
| | |_|/ / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add a new `SWIFT_MODULE_NAME` property that defaults to the target name.
This is needed as otherwise, the first source file determines the module
name.
Issue: #18800
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
ef61997b1b clang-tidy: Use emplace
2e5307a2a4 CTestSVN: Accept std::string in SVNInfo constructor
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2811
|
| | | | | | | | |
|
| | |_|/ / / /
| |/| | | | | |
|