- 21 Feb, 2019 2 commits
-
-
Kitware Robot authored
- 20 Feb, 2019 1 commit
-
-
Kitware Robot authored
-
- 19 Feb, 2019 7 commits
-
-
Sebastian Holtermann authored
Use the output caching cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method to avoid identical calls to moc, uic and rcc. Closes #18947
-
Sebastian Holtermann authored
This adds the cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method which caches the output of the called executable and returns the cached value on any subsequent call.
-
Alex Turbov authored
-
Brad King authored
-
Gregor Jasny authored
-
Kitware Robot authored
-
- 18 Feb, 2019 7 commits
-
-
Vitaly Stakhovsky authored
-
Brad King authored
In commit 1293ed85 (ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake, 2019-01-30, v3.14.0-rc1~26^2) we did not account for `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. This variable lets platform modules or toolchain files specify directories that are to be explicitly passed as standard include directories. These include directories are used by the test project from which we extract implicit include directories so they appear in the parsed results whether or not the compiler really considers them implicit. Exclude these entries from the computed implicit include directories since they are not actually implied by the compiler when we invoke it with "standard" include directories passed explicitly. Instead teach the build system generators to treat the "standard" directories as implicit for purposes of excluding them from appearing earlier in the compiler command line due to `include_directories` and `target_include_directories` calls. Issue: #18936, #18944
-
Brad King authored
`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` is meant to unconditionally add explicitly specified include directories to compile lines. In commit 5f34bdc7 (cmLocalGenerator: Refactor `GetIncludeDirectoriesImplicit` method, 2019-01-25, v3.14.0-rc1~65^2~1) a condition was accidentally added to exclude implicit include directories. Drop that condition. Fixes: #18936
-
Brad King authored
Since commit 7cd65c97 (Add CMAKE_SYSROOT variable to set --sysroot when cross compiling., 2013-04-13, v3.0.0-rc1~342^2) we have prefixed the value of `CMAKE_SYSROOT` to implicit include directories. This was done because we hard-coded `/usr/include` as an implicit include directory without accounting for the sysroot. Instead we should prefix the hard-coded paths when they are constructed. Update the `Platform/UnixPaths` module to do this as `Platform/Darwin` already does. Since commit 5990ecb7 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) the values of the `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variables are computed from a real compiler invocation so they already account for the sysroot prefix. In commit 6fc33829 (Update logic for sysroot in detected implicit include directories, 2019-02-13, v3.14.0-rc2~6^2) we attempted to apply the prefix conditionally, but that is incorrect because the compiler's real implicit include directories are not all under the sysroot. Instead assume that all implicit include directories in `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` already have the sysroot prefix if needed. Code that constructs the value must be responsible for that because it is the only place that knows.
-
Saleem Abdulrasool authored
Remove the second reference to the generator target.
-
Saleem Abdulrasool authored
When building a swift object, we emit a partial swiftmodule and swiftdoc that must be merged at the end. However, in order to do that, we need to enumerate the swiftmodules and swiftdocs. As a result, the path must be known to CMake. Rather than hardcoding the rules into CMake, create a source property that we can query. This will allow us to create a final placeholder to emit the merge rule. Issue: #18800
-
Kitware Robot authored
-
- 17 Feb, 2019 1 commit
-
-
Kitware Robot authored
-
- 16 Feb, 2019 2 commits
-
-
Gregor Jasny authored
-
Kitware Robot authored
-
- 15 Feb, 2019 6 commits
-
-
Artur Ryt authored
It replaces C arrays with deduced std::initializer_lists or std::array what makes enables for-loop over them.
-
Vitaly Stakhovsky authored
-
Brad King authored
-
Albert Astals Cid authored
They are unused, but if someone used them they would lead to problems since they would copy the internal raw pointers and the destructor would cause double delete
-
Brad King authored
The quoting added by commit 8c5221fb (try_compile: Preserve special characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3) broke the case that the `COMPILE_DEFINITIONS` value contains a `;`. Without the quoting the `;` would be generated literally in an unquoted argument in the test `CMakeLists.txt` file and would then be expanded. With quoting the `;` is preserved, which is not the old behavior. Fix this by expanding the `;`-list ahead of time. Add test cases for behavior with both `#` and `;`. This was noticed with the PGI compiler where we set `CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`. The symptom had also been observed while preparing commit ef8f2376 (ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time as a regression. Revert the workaround added by that commit. Fixes: #18919
-
Kitware Robot authored
-
- 14 Feb, 2019 6 commits
-
-
Albert Astals Cid authored
-
Brad King authored
-
Brad King authored
-
Kitware Robot authored
-
- 13 Feb, 2019 7 commits
-
-
Saleem Abdulrasool authored
This allows us to set the proper link name for the Swift library (soname). Because this needs to be passed to the object being compiled, we need to create a new placeholder so that it can be sent along to the frontend. Default to the target name unless it is explicitly provided.
-
Zsolt Parragi authored
The `cmsys/Enconding.h` include had a typo in its surrounding ifdef, possibly causing a missing function declaration (`cmsysEncoding_DupToWide`). As this is C code, this resulted in the code compiling, but with a truncated return value, possibly causing crashes.
-
Brad King authored
Since commit 5990ecb7 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) the values of the `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variables are computed from a real compiler invocation. In this case the paths under the sysroot should already have the sysroot prefix so we should no longer have to add the sysroot prefix. However, it is also possible for project code to add its own paths to `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` without the sysroot prefix and expect the historical addition of the sysroot prefix to be preserved. Try to account for both cases by conditionally adding the sysroot prefix on implicit include directories that do not already have it.
-
Brad King authored
-
Brad King authored
The change in commit 15ad8300 (Refactor exclusion of -I/usr/include to avoid per-language values, 2019-01-21, v3.14.0-rc1~108^2~4) caused the exclusion to apply to Fortran, but it was only meant for C, CXX, and CUDA. The purpose of the change was to prepare for the value of `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` to be computed from the actual compiler instead of hard-coded. We need to preserve exclusion of `-I/usr/include` if the compiler has any implicit include directory that looks intended to replace it, e.g. `<sdk>/usr/include` on macOS. Fixes: #18914
-
Marc Chevrier authored
Fixes: #18894
-
Kitware Robot authored
-
- 12 Feb, 2019 1 commit
-