| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
1e19936320 GenerateExportHeader: Fix Clang support on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Adrien De Coninck <deconinck.adrien@gmail.com>
Merge-request: !8221
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using Clang with Visual Studio, the GenerateExportHeader function
generates the DEPRECATED definition "__attribute__ ((__deprecated__))",
because Clang can compile such instruction. However, if a user wants to compile
the library with this generated header with MSVC, the declaration is not valid.
We suggest to always use the DEPRECATED definition "__declspec(deprecated)" on
Windows, which is valid for both Clang and MSVC.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extend commit eb35d8884b (find_package: Use PackageName_ROOT variables
as search prefixes, 2018-03-15, v3.12.0-rc1~349^2) to also check
upper-case `<PACKAGENAME>_ROOT` variables. Add policy `CMP0144` to
enable the behavior in a compatible way.
Fixes: #24403
|
|/
|
|
|
|
|
| |
Add CMake variable `CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY` to enable
option `DEPENDS_EXPLICIT_ONLY` on all uses of `add_custom_command`.
Fixes: #17097
|
|\
| |
| |
| |
| |
| |
| |
| | |
ef5a4d964b Deprecate "extra" generators in favor of cmake-file-api(7)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8211
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The "extra" generators were created in CMake's early years to provide
support for users of specific IDEs by directly generating their project
files alongside make or ninja files. Nowadays the file-api provides a
more generic, maintainable, well-tested, and robust way for IDEs to view
CMake project build trees. Deprecate the legacy "extra" generators to
encourage the corresponding IDEs to use the file-api.
Fixes: #19090
|
|/
|
|
| |
fixes #24415
|
|\
| |
| |
| |
| |
| |
| |
| | |
f513781bc5 WINDOWS_EXPORT_ALL_SYMBOLS: Export vftable symbol
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8201
|
| |
| |
| |
| |
| |
| |
| |
| | |
`pybind11` requires access to this symbol to link in some cases.
Include this symbol when generating automatic exports via
`CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS`.
Fixes: #24406
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
082ccd7530 add_custom_command: Add DEPENDS_EXPLICIT_ONLY option for Ninja
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8198
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Add option `DEPENDS_EXPLICIT_ONLY` to `add_custom_command` to indicate
that implicit dependencies coming from users of the output are not
needed, and only consider dependencies explicitly specified in the
custom command.
Fixes: #17097
|
| |
| |
| |
| |
| |
| | |
The `Simple_${extraGenerator}` tests do not actually need to compile
because they only smoke test CMake's generation of the extra project
files.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3a4791548d Deprecate compatibility with CMake versions older than 3.5
1edf138506 Tests/RunCMake: Update cmake_minimum_required versions
65a1c379ee Tests/CTestTest*: Update cmake_minimum_required versions
589e6fdcd1 Tests: Update cmake_minimum_required versions in a few tests
3092b14ed0 Tests: Teach RunCMake to optionally ignore policy version deprecation warnings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8192
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue a deprecation warning on calls to `cmake_minimum_required` or
`cmake_policy` that set policies based on versions older than 3.5.
Note that the effective policy version includes `...<max>` treatment.
Update the check from commit 5845c218d7 (Deprecate compatibility with
CMake versions older than 2.8.12, 2020-06-12, v3.19.0-rc1~629^2).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For policy-specific tests, use the version before the policy was
introduced. Otherwise, use 3.5 where possible.
Also, remove `cmake_minimum_required()` and `project()` calls from
individual cases where they are handled by `CMakeLists.txt`.
|
| |/
| |
| |
| |
| | |
Avoid requiring tests for deprecated behavior to match the warnings
explicitly.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
3350c17451 ci: Enable file(DOWNLOAD) TLS_VERIFY test case in CI jobs
17b47da3d8 Tests: Add test for file(DOWNLOAD) with TLS_VERIFY
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8194
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Occasionally curl updates introduce errors in https verification.
Add an explicit test for this capability, activated by an undocumented
option that we can use in CI to specify a URL to test.
Co-authored-by: Brad King <brad.king@kitware.com>
Fixes: #24405
Issue: #24147
Issue: #24398
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
f9e8a067c2 cmake: Stop parsing after `--` when detecting script mode
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8186
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
d7f440c5db Deprecate Visual Studio 9 2008 generator
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8181
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Update documentation to mark the generator deprecated. Add a warning at
the end of generation plus an option to turn off the warning.
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/|
| | |
| | | |
f9e8a067c2 cmake: Stop parsing after `--` when detecting script mode
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8186
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The fix in commit 08aa516880 (cmake: Stop parsing after `--` when
detecting script mode, 2022-12-06, v3.26.0-rc1~216^2) only corrected the
case where `-P -- -P <arg>` occurred and not `-P -- -P -<other>`.
Fixes: #24220
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
2b17b6da6a cmGlobalGenerator: Avoid referencing CMAKE_CFG_INTDIR
f34876561f Tests: Remove or silence instances of ${CMAKE_CFG_INTDIR}
78cf427157 RULE_LAUNCH_*: Add support for generator expressions
cabad8a37f ExternalProject: Always use $<CONFIG> for source files
62e8884d3f CTestTargets: Use $<CONFIG> instead of ${CMAKE_CFG_INTDIR}
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8169
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/|
| | |
| | |
| | | |
3f1e005067 Tests/RunCMake/CXXModules: declare `forwarding` as `extern "C++"`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8159
|
| |/
| |
| |
| | |
It is not part of any module, so it needs to be declared as such.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
33e27f6ca6 <LANG>_LINKER_LAUNCHER: Allow generator expressions
84ada0b0c9 <LANG>_COMPILER_LAUNCHER: Expand subset of genexes that can be evaluated
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8152
|
| | | |
|
| |/ |
|
|/
|
|
|
|
|
| |
The OLD behaviors of all policies are deprecated, but only by
documentation. Add an explicit deprecation diagnostic for policies
introduced in CMake 3.19 and below to encourage projects to port
away from setting policies to OLD.
|
|
|
|
|
|
|
| |
These provide more detailed information about how the test project was
configured.
Issue: #23200
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8f82e755f3 Ninja: Fix detection of MSVC showIncludes prefix in Italian
d6e7e4d4a1 Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languages
9596305c0b Tests: Generalize RunCMake.Ninja ShowIncludes test infrastructure
c6dd4fa21d Tests: Extend RunCMake.Ninja ShowIncludes case with sample path
a9d97492fd Ninja: Record showIncludes detection in configure log
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8129
|
| |
| |
| |
| |
| |
| | |
The prefix does not have two colons. Update our regex.
Fixes: #24357
|
| |
| |
| |
| | |
Add cases for English, French, German, and Japanese.
|
| |
| |
| |
| | |
Prepare to add support for more languages.
|
| |
| |
| |
| | |
Verify that the prefix is separated from the path.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
f755296f9d Tests/RunCMake/CXXModules: add tests which don't export C++ module properties
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8126
|
| |
| |
| |
| |
| |
| |
| | |
The existing `export-interfaces-{build,install}` tests were actually
doing this, but make those test exporting the interfaces and copy the
existing tests to tests which explicitly test the "no properties"
condition.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Extend the change from commit dfaf55fbfd (Xcode: add extra
'$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03,
v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions,
allowing CocoaPods and CMake to interoperate when used in the same
project.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7db4df2e8c Tests: Match configure log try_compile directories more precisely
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8114
|
| |/
| |
| |
| |
| | |
Do not accept a double-quote in the `try_compile` work directory to
ensure we do not match more than the field value.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
a1dc38a567 Help: Document behavior of if(EXISTS,IS_DIRECTORY) for empty paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8109
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Document and add explicit tests for empty string input:
`if(EXISTS "")` and `if(IS_DIRECTORY "")` are always false.
This avoids need for users to do extra checks due to
CMake non-short-circuit logic as below:
if("${p}")
if(EXISTS "${p}")
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1730d208b5 Add incremental Swift static lib build test
bf3a8ef6d5 Ninja: Swift: Add dependency edge to swiftmodule file
d0b469b7e0 Ninja: NFC: refactor swift module name computations
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8084
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure that we're actually trying to rebuild libB when the public
interface for libA changes. Without handling the swiftmodule dependency
edge correctly, we would only get a linker error because libA didn't
have the symbol that libB depended on. With the fix, we get a proper
compiler error because ninja knows to rebuild the intermediate libB
when the public interface of libA changes. This is more actionable.
|
| |
| |
| |
| |
| | |
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721
See: https://github.com/ninja-build/ninja/pull/1937
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
910ada1a88 Genex: $<CONFIG:> syntax of all entries checked
42e417ad12 GeneratorExpression Tests: Remove duplicate test entry
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8082
|
| | |
| | |
| | |
| | | |
Fixes #24327
|
| | | |
|