summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'aix-exe-implib'Brad King2019-07-175-4/+13
|\ | | | | | | | | | | | | 2fa920c0cd AIX: Create import library for executables with exports Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3561
| * AIX: Create import library for executables with exportsBrad King2019-07-165-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On AIX, plugins meant to be loaded into executables via `dlopen` must be linked with access to a list of symbols exported from the executable in order to use them (when not using runtime linking). The AIX linker supports specifying this list as an "import file" passed on the command line either via the `-bI:...` option or (with a leading `#! .` line) as a normal input file like any other library file. The linker import file plays the same role on AIX as import libraries do on Windows. Teach CMake to enable its import library abstraction on AIX for executables with the `ENABLE_EXPORTS` target property set. Teach our internal `ExportImportList` script to optionally generate a leading `#! .` line at the top of the generated export/import list. Update our rule for linking an executable with exports to generate a public-facing "import library" implemented as an AIX linker import file. With this approach, our existing infrastructure for handling import libraries on Windows will now work for AIX linker import files too: * Plugins that link to their executable's symbols will be automatically linked using the import file on the command line. * The executable's import file will be (optionally) installed and exported for use in linking externally-built plugins. This will allow executables and their plugins to build even if we later turn off runtime linking. Issue: #19163
* | Merge topic 'project-version-0'Brad King2019-07-1710-6/+102
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 0ba5891ead project: Keep leading `0` in PROJECT_VERSION components 5f84669806 Tests: Factor out RunCMake.project helper macro into module b1f387a7ea Refactor: Use raw string literals instead of escaping 41b85968d8 Refactor: Use initializer lists instead of `push_back` series 45e85dd2b2 Refactor: Add some `const` to vars 90f91e4d21 Refactor: Replace a "magic" number w/ a named constant 638383c38f Refactor: Eliminate one-time-used variables 9b6a53292f Refactor: Eliminate `sep` from the loop Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3517
| * project: Keep leading `0` in PROJECT_VERSION componentsAlex Turbov2019-07-168-0/+95
| | | | | | | | | | | | | | | | | | Introduce CMake policy `CMP0096` to make `project()` keep leading zeros in version components. As a side effect, it now allows really long version numbers. Fixes: #19421 Co-Author: Brad King <brad.king@kitware.com>
| * Tests: Factor out RunCMake.project helper macro into moduleBrad King2019-07-152-6/+7
| |
* | Tests: Drop RunCMake workaround for AIX ld warnings about GNU atexitBrad King2019-07-151-2/+0
| | | | | | | | | | | | | | Drop the filtering added by commit e22c45d4c9 (Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexit, 2018-02-28, v3.12.0-rc1~419^2~6). It is no longer needed now that we compute our own exports on AIX and do not get these warnings when using shared libraries.
* | AIX: Explicitly compute executable exports for both XL and GNUBrad King2019-07-152-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | cmake -E: Add true and false commandsKyle Edwards2019-07-113-0/+6
| |
* | Merge topic 'fix_ctest_output'Brad King2019-07-114-0/+84
|\ \ | | | | | | | | | | | | | | | | | | adcbdb143c CTest: Clean up stdout and logfile output for Pass/Fail regex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3509
| * | CTest: Clean up stdout and logfile output for Pass/Fail regexStephen Manz2019-07-094-0/+84
| |/ | | | | | | | | | | | | | | | | | | For pass regex, display only the element that was found, rather than all elements Rename loop variable for fail regex, from pass to fail For consistency, add space in output for pass Add tests that find and don't find PASS_REGULAR_EXPRESSION, and a test that finds FAIL_REGULAR_EXPRESSION, whose LastTest.log files are checked using *-check.cmake.
* | Merge topic 'elseif'Brad King2019-07-101-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | f4ed56ab63 Fix elseif() in place of else() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Acked-by: Rolf Eike Beer <eike@sf-mail.de> Merge-request: !3515
| * | Fix elseif() in place of else()Artalus2019-07-031-1/+1
| | |
* | | Merge topic 'implicit-includes-cray-hlist'Brad King2019-07-107-0/+165
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0a7b61269c Merge branch 'backport-implicit-includes-cray-hlist' 98e371f13e Cray: Fix include parsing when the -hlist= flag is present Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3532
| * \ \ Merge branch 'backport-implicit-includes-cray-hlist'Brad King2019-07-097-0/+165
| |\ \ \
| | * | | Cray: Fix include parsing when the -hlist= flag is presentChuck Atkins2019-07-097-0/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update parsing logic from commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) to handle the quoting behavior caused by the `-hlist=` flag.
* | | | | Merge topic 'add_cmake_find_use_package_registry'Craig Scott2019-07-091-1/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 447a96f590 vim: Update cmake.vim to include the CMAKE_FIND_USE variables 1d00ba9ccf Find: find_package prefers variable CMAKE_FIND_USE_REGISTRY 704e3a2ca8 Find: Correct spelling and layout issues in CMAKE_FIND_USE_ docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3487
| * | | | Find: Correct spelling and layout issues in CMAKE_FIND_USE_ docsRobert Maynard2019-07-091-1/+1
| | | | |
* | | | | Merge topic 'deprecate-policy-old'Brad King2019-07-021-0/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cf821ff3c4 Add deprecation warnings for policies CMP0067 and below Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3502
| * | | | | Add deprecation warnings for policies CMP0067 and belowBrad King2019-07-011-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.8 and below to encourage projects to port away from setting policies to OLD.
* | | | | | Merge topic 'double-export-error-message'Brad King2019-07-027-0/+34
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 27d6e51ae9 Tests: add tests for export set error messages 49cfd39007 cmExportBuildFileGenerator: improve error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3486
| * | | | | Tests: add tests for export set error messagesBen Boeckel2019-06-277-0/+34
| |/ / / /
* | | | | Merge topic 'bug/19436'Craig Scott2019-07-011-0/+13
|\ \ \ \ \ | | |/ / / | |/| | / | |_|_|/ |/| | | | | | | | | | | 822abf1265 list(POP_FRONT): Fix always assigning first item to output vars Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3497
| * | | list(POP_FRONT): Fix always assigning first item to output varsAlex Turbov2019-06-301-0/+13
| | | | | | | | | | | | | | | | Fixes: #19436
* | | | Merge topic 'vs-dpi-aware'Brad King2019-06-276-0/+74
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | cd92f8f8bf VS: Add VS_DPI_AWARE target property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3418
| * | | VS: Add VS_DPI_AWARE target propertyMatt Weir2019-06-266-0/+74
| | | | | | | | | | | | | | | | | | | | Enables setting the visual studio project property for Manifests, controlling the DPI Aware setting.
* | | | Merge topic 'build-install-rpath-genex'Brad King2019-06-263-20/+50
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d29ed8a114 BUILD_RPATH/INSTALL_RPATH: Add generator expression support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3481
| * | | | BUILD_RPATH/INSTALL_RPATH: Add generator expression supportKyle Edwards2019-06-253-20/+50
| | | | | | | | | | | | | | | | | | | | Fixes: #19423
* | | | | Merge topic 'export-targets-empty'Brad King2019-06-262-0/+2
|\ \ \ \ \ | |/ / / / |/| | / / | | |/ / | |/| | | | | | | | | | 2ba5c37b3f export: Restore support for empty TARGETS list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3484
| * | | export: Restore support for empty TARGETS listBrad King2019-06-252-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit f5acecaa6f (cmExportCommand: Port to cmArgumentParser, 2019-03-23, v3.15.0-rc1~270^2~3) broke the `export` command's support for specifying `TARGETS` with no entries. Fix it and add a test case. Fixes: #19415
| * | | Merge branch 'FindBoost-component' into release-3.15Brad King2019-06-1826-0/+418
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !3438
* | \ \ \ Merge topic 'vs-ce-deploy'Brad King2019-06-241-0/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7035bdeb52 VS10Generator: add project properties to enable WindowsCE deployment. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3462
| * | | | | VS10Generator: add project properties to enable WindowsCE deployment.Wil Stark2019-06-191-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #19408
* | | | | | Find: Provide global controls for the `NO_[]_PATH` call optionsRobert Maynard2019-06-2123-0/+251
| | | | | |
* | | | | | RunCMake: Automatically support platform out override filesRobert Maynard2019-06-2114-18/+52
|/ / / / /
* | | | | Merge topic 'FindBoost-component'Brad King2019-06-1926-0/+418
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 830b332f32 FindBoost: Add tests for legacy variables 0dd6772a89 FindBoost: Add legacy variables and targets for compatibility e4181eeaf2 FindBoost: Don't overwrite Boost_${_comp}_FOUND 4cb652e1d3 Tests.RunCMake.FindBoost: Fix example BoostConfig 7251d54bd1 Tests.FindBoost: Don't use BoostConfig in MODULE test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3438
| * | | | FindBoost: Add tests for legacy variablesAlexander Grund2019-06-1825-0/+415
| | | | |
| * | | | Tests.RunCMake.FindBoost: Fix example BoostConfigAlexander Grund2019-06-181-0/+3
| | | | |
* | | | | Merge topic 'escape-install-rpath'Kyle Edwards2019-06-1711-6/+251
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | cmInstallTargetGenerator: Add tests for the RPATH_CHANGE ruleDennis Klein2019-06-138-1/+243
| | | | |
| * | | | cmInstallTargetGenerator: Introduce CMP0095Dennis Klein2019-06-133-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Escape coincidental CMake syntax in RPATH entries when generating the intermediary cmake_install.cmake script. Fixes #19225
* | | | | Merge topic 'add-test-command-expand-lists'Brad King2019-06-1217-0/+107
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e791ffac61 add_test: Add COMMAND_EXPAND_LISTS option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3422
| * | | | | add_test: Add COMMAND_EXPAND_LISTS optionSergey Bobrenok2019-06-0717-0/+107
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge topic 'capabilities-fileapi'Brad King2019-06-121-1/+1
|\ \ \ \ \ | |_|/ / / |/| | / / | | |/ / | |/| | | | | | | | | | | | | | | | | | c932f49842 cmake: Teach -E capabilities to report supported fileapi requests 6696855f72 cmake: Simplify implementation of -E capabilities 6b815e58ba fileapi: Factor out helper to construct a version object Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3433
| * | | cmake: Teach -E capabilities to report supported fileapi requestsBrad King2019-06-071-1/+1
| |/ / | | | | | | | | | Fixes: #19339
* | | file: Add GET_RUNTIME_DEPENDENCIES modeKyle Edwards2019-06-1054-1/+1345
|/ / | | | | | | Co-Authored-by: Bryon Bean <bryon.bean@kitware.com>
* | Tests: Fix RunCMake.ctest_update test to not require GIT_EXECUTABLEBrad King2019-06-042-2/+4
| | | | | | | | | | | | | | 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.
* | Merge topic 'emulator-arguments'Brad King2019-06-047-3/+67
|\ \ | | | | | | | | | | | | | | | | | | fec441ec17 Teach CROSSCOMPILING_EMULATOR to support arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3402
| * | Teach CROSSCOMPILING_EMULATOR to support argumentsMarek Antoniak2019-06-037-3/+67
| | | | | | | | | | | | Fixes: #19321
* | | Merge topic 'remove_directories'Brad King2019-06-0411-1/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07a80c7002 cmake: Teach -E remove_directory to remove multiple directories 013bee698e Tests: Add RunCMake.CommandLine make_directory test checks 3eb16de327 Tests: Fix RunCMake.CommandLine make_directory test name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3411
| * | | cmake: Teach -E remove_directory to remove multiple directoriesJohn Freeman2019-06-037-0/+18
| | | | | | | | | | | | | | | | | | | | The `make_directory` command can make multiple directories in a single invocation. Make `remove_directory` mirror that behavior.