summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake Nightly Date StampKitware Robot2019-07-181-1/+1
|
* Merge topic 'aix-exe-implib'Brad King2019-07-174-5/+19
|\ | | | | | | | | | | | | 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-164-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-172-60/+82
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-162-29/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Refactor: Use raw string literals instead of escapingAlex Turbov2019-07-151-1/+1
| | |
| * | Refactor: Use initializer lists instead of `push_back` seriesAlex Turbov2019-07-151-13/+11
| | |
| * | Refactor: Add some `const` to varsAlex Turbov2019-07-151-3/+3
| | |
| * | Refactor: Replace a "magic" number w/ a named constantAlex Turbov2019-07-151-4/+5
| | |
| * | Refactor: Eliminate one-time-used variablesAlex Turbov2019-07-151-12/+6
| | |
| * | Refactor: Eliminate `sep` from the loopAlex Turbov2019-07-151-3/+1
| | |
* | | Merge topic 'find_package-fix-NO_MODULE'Brad King2019-07-171-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | f2edccea66 find_package: Fix NO_MODULE under CMAKE_FIND_PACKAGE_PREFER_CONFIG Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3557
| * | | find_package: Fix NO_MODULE under CMAKE_FIND_PACKAGE_PREFER_CONFIGCristian Adam2019-07-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The module mode fallback added by commit 22e65d10c1 (find_package: Fixed CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback, 2019-06-13, v3.15.0-rc2~6^2) should not be used unless the `find_package` call allows module mode. Doing so can lead to infinite recursion if a find module tries to call config mode with `find_package(... NO_MODULE)`. Fix the logic and add a test case. Fixes: #19478
* | | | CMake Nightly Date StampKitware Robot2019-07-171-1/+1
| |_|/ |/| |
* | | Merge topic 'aix-explicit-exports'Brad King2019-07-164-4/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c2c3d22504 Tests: Drop RunCMake workaround for AIX ld warnings about GNU atexit 9f5c2040bf AIX: Explicitly compute executable exports for both XL and GNU 0f150b69d3 AIX: Explicitly compute shared object exports for both XL and GNU a5bf4e7921 AIX: Drop redundant -brtl flags 9cb5f040d7 XL: De-duplicate shared object creation flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3556
| * | | AIX: Explicitly compute executable exports for both XL and GNUBrad King2019-07-154-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Nightly Date StampKitware Robot2019-07-161-1/+1
|/ / /
* | | Merge topic 'cleanup-gen-lookups'Brad King2019-07-1512-64/+67
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7ff9ab3b10 Makefile: De-duplicate executable link rule lookup 79f5ef19fe De-duplicate checks for whether a platform uses Windows DLLs 22d3eb5d5e Refactor checks for whether a target has an import library Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3550
| * | | Makefile: De-duplicate executable link rule lookupBrad King2019-07-121-3/+2
| | | | | | | | | | | | | | | | Use `GetCreateRuleVariable` instead of duplicating the variable lookup.
| * | | De-duplicate checks for whether a platform uses Windows DLLsBrad King2019-07-125-15/+15
| | | |
| * | | Refactor checks for whether a target has an import libraryBrad King2019-07-128-46/+50
| | | | | | | | | | | | | | | | Use `HasImportLibrary` for such checks.
* | | | Merge topic 'modernize-cmCommand-memory-management'Brad King2019-07-15175-460/+1128
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1591f138f1 modernize: manage cmCommand instances using unique_ptr. d9b2c7dae2 Introduce memory management helper: cm_memory.hxx Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Merge-request: !3513
| * | | | modernize: manage cmCommand instances using unique_ptr.Marc Chevrier2019-07-14135-398/+1014
| | | | |
| * | | | Introduce memory management helper: cm_memory.hxxMarc Chevrier2019-07-1442-62/+114
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2019-07-151-1/+1
|/ / / /
* | | | CMake Nightly Date StampKitware Robot2019-07-141-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2019-07-131-1/+1
| | | |
* | | | Merge topic 'cleanup-statics-stream-flush'Craig Scott2019-07-134-115/+103
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af75ab7645 Refactor: Use anonymous namespace instead of `static`s in `cpack.cxx` 0db458a0ce Refactor: Use anonymous namespace instead of `static`s 0328b64efd Refactor: Remove one-time used macros b821f9ad62 Refactor: Optimize some stream output operations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3535
| * | | | Refactor: Use anonymous namespace instead of `static`s in `cpack.cxx`Alex Turbov2019-07-091-4/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
| * | | | Refactor: Use anonymous namespace instead of `static`sAlex Turbov2019-07-091-61/+55
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
| * | | | Refactor: Remove one-time used macrosAlex Turbov2019-07-091-31/+30
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
| * | | | Refactor: Optimize some stream output operationsAlex Turbov2019-07-093-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove redundant `std::flush` right after `std::endl` - join some string literals Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* | | | | Merge topic 'cmake-e-true-false'Brad King2019-07-121-0/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b8828ecbba cmake -E: Add true and false commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3542
| * | | | | cmake -E: Add true and false commandsKyle Edwards2019-07-111-0/+12
| | | | | |
* | | | | | Merge topic 'ctest_make_program__propagated_to_cmake_configure_pass'Brad King2019-07-121-0/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | cd681f1f41 ctest: propagate make program to cmake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3483
| * | | | | ctest: propagate make program to cmakeRobert Maynard2019-07-111-0/+5
| | | | | |
* | | | | | Merge topic 'object-library-sbcs'Brad King2019-07-121-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 54290adcba VS: Fix SBCS support for object libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3537
| * | | | | | VS: Fix SBCS support for object librariesBrad King2019-07-121-1/+1
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 3a53005f7d (Build object library targets in VS, 2012-03-12, v2.8.8~29^2~13) we updated the condition for unicode but accidentally left out the SBCS case support for object libraries. Fixes: #19469
| * | | | | CMake 3.15.0-rc4v3.15.0-rc4Brad King2019-07-101-1/+1
| | | | | |
| * | | | | Merge branch 'cuda-imported-library-device-linking' into release-3.15Brad King2019-07-101-6/+11
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3526
| * \ \ \ \ \ Merge branch 'ccmake-clear-aliases' into release-3.15Brad King2019-07-091-0/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3529
| * \ \ \ \ \ \ Merge branch 'loglevel-option-case-consistency' into release-3.15Craig Scott2019-07-091-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3521
| * \ \ \ \ \ \ \ Merge branch 'qt-5.13' into release-3.15Brad King2019-07-011-1/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3500
| * \ \ \ \ \ \ \ \ Merge branch 'cuda-no-device-link-when-disabled' into release-3.15Brad King2019-07-014-11/+9
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3491
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2019-07-121-1/+1
| |_|_|_|_|_|_|/ / / |/| | | | | | | | |
* | | | | | | | | | Merge topic 'iwyu-memory'Brad King2019-07-1185-67/+92
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 71fbebd1dc IWYU: Fix handling of <memory> standard header Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Marc Chevrier <marc.chevrier@gmail.com> Merge-request: !3536
| * | | | | | | | | | IWYU: Fix handling of <memory> standard headerBrad King2019-07-1085-67/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* | | | | | | | | | | Merge topic 'fix_ctest_output'Brad King2019-07-111-9/+12
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'eclipse-resource-encoding'Brad King2019-07-112-0/+26
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 09c1991895 Eclipse: Add option to set the resource encoding Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3525