| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| | |
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3250
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We do not add default warning flags on other compilers, and having
a warning flag in the default flags makes it hard for projects to
customize the warning level. They need to use string processing
to remove `/W3` from `CMAKE_{C,CXX}_FLAGS`. Therefore we should
drop it.
However, projects may be using string processing to replace `/W3`
with another flag, so we cannot simply drop it. Add a policy to
drop it in a compatible way.
Fixes: #18317
|
|\ \
| |/
|/|
| |
| |
| |
| | |
db02be85a0 VS: Provide the default platform name to project code
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3246
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio
generators based on `CMAKE_GENERATOR_PLATFORM` or some default.
Prior to the VS 2019 generator, the default was always `Win32`.
However, for the `Visual Studio 16 2019` generator, the default is
based on the host platform.
Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for
use by project code. This is particularly useful in toolchain files
because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so
`CMAKE_VS_PLATFORM_NAME` is not yet known. Of course the toolchain file
author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not
then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that
will be used.
Fixes: #19177
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fb3370b6a1 MSVC: Add abstraction for runtime library selection
f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3211
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
abstraction to select the runtime library from an enumeration of logical
names. We've long hesitated to do this because the idea of "runtime
library selection" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.
Removing the old default flags requires a policy because existing
projects may rely on string processing to edit them and choose a runtime
library under the old behavior. Add policy CMP0091 to provide
compatibility.
Fixes: #19108
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
d145d72e70 VS: add target property VS_PROJECT_IMPORT_<propspath>
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3143
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #18998
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
60ec292258 Genex: Rename $<TARGET_*_OUTPUT_NAME:...> in $<TARGET_*_FILE_BASE_NAME:...>
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3228
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
536cca60ea string: introduce `REPEAT` sub-command
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3239
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
b70bac647d Genex: add $<TARGET_FILE_PREFIX:...> and $<TARGET_FILE_SUFFIX:...>
f65763fe9b Refactor: Add new methods to retrieve prefix and suffix
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3207
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | | |
These capabilities complement MR !3190
and is also needed to solve issue #18771.
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
a40f9083dd INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER properties
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3181
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also support installing headers on an INTERFACE library.
Signed-off-by: Avraham Shukron <avraham.shukron@gmail.com>
Fixes: #15234
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
39e7fd8c68 Tests: Avoid enabling languages in RunCMake.CommandLine -S and -B cases
baed22c4b0 Tests: Fix RunCMake.CommandLine test to use generator with -S and -B
44d6370db3 Tests: Add RunCMake helper to run cmake with options
538721939f Tests: Teach RunCMake to optionally exclude the source dir argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3209
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The test project does not compile any sources and so does not
need to enable any languages.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `-S` and `-B` command-line option tests do generate build systems
and so should use the generator being tested.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
613ac56e50 Add a test to verify meta-feature parity with granular features
b0f46c48f6 CompileFeatures: Now able to presume full language level support
646fb1a646 CompileFeatures: memoize C++ compilers with full language level support
0d641fcfad Tests: Remove outdated portion of CompileFeatures genex test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3176
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
b783e62533 cmExecuteProcessCommand: Port to cmArgumentParser
9bddb03f31 cmParseArgumentsCommand: Port to cmArgumentParser
45edf1ad66 Retire cmCommandArgumentsHelper
f5acecaa6f cmExportCommand: Port to cmArgumentParser
e6b6bb0618 cmInstallCommand: Port to cmArgumentParser
4336a29edd cmFileCommand: Port to cmArgumentParser
4359fe133b Introduce cmArgumentParser
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3137
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
442f4c4902 Merge branch 'backport-implicit-includes-relative'
ef41d49812 Fix implicit include directory extraction for adaptive relative paths
6bc6fc2a7f Tests: Teach RunCMake.ParseImplicitIncludeInfo to match output by regex
82948805ec Tests: Clarify hand-written cases in RunCMake.ParseImplicitIncludeInfo
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3204
|
| |\ \ \ \ \ \
| | |_|_|/ / /
| |/| | | | /
| | | |_|_|/
| | |/| | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
In some cases GCC reports *relative* implicit include directories. They
are computed adaptively with respect to the current working directory
such that the effective implicit include directory is an unchanging
absolute path. Teach our implicit include directory extraction to
recognize such paths and normalize them.
Fixes: #19133
|
| | | | | | |
|
| | | | | | |
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Merge-request: !3157
|
|/ / / / / / |
|
| |_|/ / /
|/| | | |
| | | | |
| | | | | |
This new capability is required to solve efficiently issue #18771
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
abbb8a7b1d Genex: Add $<REMOVE_DUPLICATES:list>
11338389e5 Help: Fix description in cmake-generator-expressions(7) manual
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3154
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | / /
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
dad86f1873 ParseImplicitIncludeInfo: Canonicalize implicit include dirs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michel Zou <xantares09@hotmail.com>
Merge-request: !3157
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The implicit include directory extraction added by commit 5990ecb741
(Compute implicit include directories from compiler output, 2018-12-07,
v3.14.0-rc1~108^2) leaves paths like `/usr/lib/../include` unchanged.
Fix the logic to canonicalize such paths (e.g. to `/usr/include`)
as we do for implicit link directories already. This is important
to ensure the set of implicit directories is represented in the same
form as the include directories that will be compared to them.
Issue: #19095
|
|\ \ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
588fa1bb9e Restore support for include_directories() in toolchain files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3140
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Any `include_directories()` calls in toolchain files are used during our
ABI detection step even though it does not include any system headers.
Since commit 5990ecb741 (Compute implicit include directories from
compiler output, 2018-12-07, v3.14.0-rc1~108^2), that check is also used
to detect implicit include directories. Any `include_directories()` in
a toolchain file are detected as implicit and later excluded from
explicit specification on compiler command lines, thus breaking the
purpose of the calls in the first place.
Fix the implicit include directory detection step to avoid using paths
from `include_directories()` calls in the toolchain file.
Fixes: #19079
|
| |\ \
| | | |
| | | |
| | | | |
Merge-request: !3071
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ba7e44eb7a ctest_submit: Add option BUILD_ID
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Merge-request: !3120
|
| | |_|/
| |/| |
| | | |
| | | | |
Fixes: #18968
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
f401a57160 pkg_get_variable now sets PKG_CONFIG_PATH like pkg_check_modules
4d76941924 FindPkgConfig: hoist PKG_CONFIG_PATH ops out into _pkg_set_path_internal
78f23de70c More tests for pkg_get_variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3131
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #15805
|
| | | |
| | | |
| | | |
| | | | |
Issue: #15805
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
413b71485a Xcode: Create Xcode schemes per target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3098
|
| | | | | |
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
73f23d1e00 cmake: add '--install <dir>' option
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Rejected-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3069
|