| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On AIX, symbols in executables must be exported in order to be visible
to modules (plugins) they load via `dlopen`. Prior to policy `CMP0065`,
CMake linked all executables with flags to export symbols, but the NEW
behavior for that policy is to do so only for executables that have the
`ENABLE_EXPORTS` target property set. In both cases, CMake has always
used the AIX linker option `-bexpall` option to export symbols from
executables.
This has worked fairly well with the XL compiler, but with the GNU
compiler it works only for C ABI symbols. The reason is that `-bexpall`
does not export symbols starting in `_` but the GNU C++ ABI mangles all
symbols with a leading `_`. Therefore we have only supported C ABI
plugins with the GNU compiler on AIX. Some projects have tried to work
around this by replacing `-bexpall` with `-bexpfull`, but the latter
often exports symbols that we do not want exported.
Avoid using `-bexpall` for executables by instead using by our own
internal `ExportImportList` script to compute symbol export lists from
the object files to be linked into an executable. Pass the explicitly
computed export list to the AIX linker's `-bE:...` option. We already
do this for shared object exports.
Issue: #19163
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
4caefbb423 cmInstallTargetGenerator: Add tests for the RPATH_CHANGE rule
749ce48eb5 cmInstallTargetGenerator: Escape generated OLD_RPATH argument
9e84c7c5e8 cmInstallTargetGenerator: Introduce CMP0095
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3383
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
e791ffac61 add_test: Add COMMAND_EXPAND_LISTS option
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3422
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a `COMMAND_EXPAND_LISTS` option to the `add_test` command to cause
`;`-separated lists produced by generator expressions to be expanded
into multiple arguments. The `add_custom_command` command already
has such an option.
Fixes: #17284
|
|/
|
|
| |
Co-Authored-by: Bryon Bean <bryon.bean@kitware.com>
|
|
|
|
|
|
|
| |
Fix the test case added by commit 95db11fdb1 (ctest: Include ChangeId in
Update.xml, 2019-04-23) to work in a release branch of CMake.
The `GIT_EXECUTABLE` value is not set before we add this test in
release branch builds.
|
|
|
|
| |
Fixes: #19321
|
|
|
|
| |
This ensures that the tests only run when the Swift compiler is present.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Do not `find_package(GTK2)` by default, as it gives the impression that
CMake depends on it to build. We will set `CMake_TEST_FindGTK2` in the
cache of automated builds where GTK2 is expected to work.
|
|
|
|
|
|
|
|
|
|
| |
The change in commit a5dd159990 (Tests: Fix RunCMake.try_compile
CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use
of `if()` conditions not supported until CMake 3.7, so while it was
intended to restore support for CMake versions prior to 3.9, it actually
only did so for 3.7 and 3.8. Backport the logic to work with CMake 3.1.
Fixes: #18987
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
66801f4d40 cmake: Add tests for verbose output to --build mode
439fe2e253 cmake: Add options for verbose output to --build mode
638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments
3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode
cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option
1a45266cb5 cmGlobalGenerator: Add a class that represent the build command
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2708
|
| | |
|
|/
|
|
|
|
|
|
|
| |
In order to keep infinitely-recursive scripts from causing a stack
overflow in the CMake executable, CMake now imposes a maximum
recursion limit before issuing an error message. The limit can be
adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.
Fixes: #18694
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
This property allows scripts to determine whether they're in project
mode, script mode, find-package mode, CTest, or CPack.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
57e48f16f2 VS: Add Visual Studio 16 2019 generator
bdef729646 VS: Parameterize VS 2017 generator to support future versions
68d316e0cf VS: Rename VS 2017 generator sources to be version-independent
d8ed309d05 VS: Parameterize cmVSSetupAPIHelper instances with VS version
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2789
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add this generator *without* support for specifying the target
architecture in the generator name. cmake-gui will be taught
to provide a field for this, and command-line builds can use -A.
Also, teach this generator to select a default target architecture
based on the host architecture.
Fixes: #18689
Inspired-by: Egor Pugin <egor.pugin@gmail.com>
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
0377fe1e2b Merge branch 'backport-autogen_noqt_warning' into autogen_noqt_warning
dd39da5518 Tests: Add case for warning when AUTOMOC/UIC/RCC gets disabled
f44a0414ae Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.
5ae69f5919 Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2787
|
| |\ |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5e4887e673 VS: Honor WinCE deployment properties in VS 2010+
a4332cac4b Tests: Detect VS and SDK availability early
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2680
|
| |/ /
| | |
| | |
| | | |
Previously only VS 2008 was supported.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The DEB and RPM tests are quite large, which can result in CTest
clients timing out on these tests even though they're working properly.
The RPM test in particular causes a lot of timeouts on the CMake
dashboard machines. This change splits these tests into smaller tests
so that they don't time out.
|
|/ /
| |
| |
| |
| | |
This allows CPack generator tests to be split into smaller tests of
the format "<generator>.<test>".
|
| |
| |
| |
| | |
This will be useful for adding python-based result checks.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
b9c6f08276 Help: Add release note for fileapi feature
4b6b2a571c fileapi: extend codemodel v2 with directory details
eb8c7676a4 fileapi: extend codemodel v2 with a project model
42f0125ceb fileapi: Add test for cmakeFiles v1
6615408193 fileapi: add cmakeFiles v1
3f6ee75a66 fileapi: Add test for cache v2
7489e95b8e fileapi: add cache v2
ea0a060168 fileapi: Add test for codemodel v2
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2706
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a file-based API that clients may use to get semantic information
about the buildsystem that CMake generates. Clients will write query
files under a designated location in the build tree, and CMake will
write reply files for clients to read.
Start with support for shared stateless query files. These allow
clients to share requests for major object versions and get all those
recognized by CMake. Once any client has written a shared request to a
build tree it will persist. Other clients will not need to overwrite
the request (since it is stateless) and should not remove it either.
For now we add only an undocumented object kind to use for testing the
query and reply infrastructure. Object kinds providing real semantic
information will be added later.
Issue: #18398
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When file property SWIG_MODULE_NAME is specified, provide option -module
to SWIG compiler.
Fixes: #18374
|
|/ / |
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
86e8315482 CTest: Restore inheritance of stdin by test processes
bdec3bd896 Tests: Teach RunCMake infrastructure to optionally provide stdin
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2618
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.11.0-rc1~117^2 (CTest: Re-implement test process
handling using libuv, 2017-12-10) we do not give the child test
processes any stdin. Prior to that change we let the child test
processes inherit stdin from ctest itself. Tests that run serially
might be able to use the real stdin meaningfully, so restore that
behavior and add a test case.
Fixes: #18591
|
| |\
| | |
| | |
| | | |
Merge-request: !2566
|
| |\ \
| | | |
| | | |
| | | | |
Merge-request: !2544
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile
0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2612
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `WriteBasicConfigVersionFile` section of the `FindPackageTest`
is independent of the rest.
|
|/ / / /
| | | |
| | | |
| | | | |
The test has many cases and can take a long time on busy machines.
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #14983, #16561
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
20d5e77a27 CPack: Rename Ext generator to External
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2566
|
| |/ /
| | |
| | |
| | |
| | | |
Ext and External were used inconsistently in the code and the
docs. This change converts all uses of Ext to External, including
within variable names used by the generator.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4babc9058a cmTargetPropCommandBase: check keywords after parsing
45a49ae58a cmTargetPropCommandBase: simplify code path
9f64974f5e cmTargetPropCommandBase: skip property setting if there's nothing to add
4201a11c2b Tests: add tests for empty-value keyword arguments in target_*
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2514
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Not all of these commands accept non-compilable (i.e., IMPORTED)
targets, so those calls are currently just commented out. If they ever
do start to accept them, the tests should be enabled.
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
50572d638b set_directory_properties: Restore in script mode
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2544
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and
CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was
accidentally not allowed in script mode. It was dropped because
`ctest -S` mode needs to start with CMake's normal script mode and
then replace the `set_directory_properties` implementation. Restore
the normal `set_directory_properties` in script mode and then add
special logic to replace it in ctest. Also add a test case.
Fixes: #18523
|