summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'find_package-prefer-config-not-found' into release-3.15Brad King2019-08-061-1/+3
|\ | | | | | | Merge-request: !3653
| * find_package: Fix prefer-config mode to not fail on missing optional packageCristian Adam2019-08-061-1/+3
| | | | | | | | | | | | | | | | When `CMAKE_FIND_PACKAGE_PREFER_CONFIG` mode was set to `ON`, failure to find a package was fatal even if it was not `REQUIRED`. Fix this and add a test case. Fixes: #19557
* | Merge branch 'fileapi-install-generators' into release-3.15Brad King2019-08-024-7/+22
|\ \ | | | | | | | | | Merge-request: !3639
| * | fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-314-7/+22
| |/ | | | | | | | | | | | | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546
* | Merge branch 'source_group-tree-files' into release-3.15Brad King2019-07-301-11/+4
|\ \ | | | | | | | | | Merge-request: !3630
| * | source_group: Fix regression in relative FILESBrad King2019-07-301-11/+4
| |/ | | | | | | | | | | | | | | | | | | Fix the check added in commit 8d93815d20 (source_group command ensures that FILES arguments are actually files, 2019-04-25, v3.15.0-rc1~195^2) to convert to an absolute path before checking for existence. Also simplify the conversion to an absolute path. Fixes: #19454
* | Merge branch 'vs-spectre-off' into release-3.15Brad King2019-07-302-5/+8
|\ \ | | | | | | | | | Merge-request: !3629
| * | VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-302-5/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | The mapping for this flag was added by commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7). However, it did not do anything because the special logic added by commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08, v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from `ClCompile` to the top level only handled the presence of the setting and not its value. Extend the special logic to carry the value too. Fixes: #19535
* | Swift: Restore support for enabling with INTERFACE librariesBrad King2019-07-291-8/+9
|/ | | | | | | | | | | The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for executables because the `WIN32_EXECUTABLE` property is defined only for them. Running the check on other target types, particularly those that do not link such as INTERFACE libraries, violates internal assumptions. In particular, `GetLinkerLanguage` should not be called on such targets. Fixes: #19528
* CMake 3.15.1v3.15.1Brad King2019-07-261-1/+1
|
* Merge branch 'makefile-depend-relative-include' into release-3.15Brad King2019-07-252-3/+12
|\ | | | | | | Merge-request: !3599
| * Makefile: Fix regression in dependencies on relative includesBrad King2019-07-242-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a13a5c948e (Replace use of CollapseCombinedPath with CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now calls `CollapseFullPath` with a base path that may be relative. Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with relative base path, 2019-07-24) to handle such base paths. This case occurs when a build tree is placed in a directory inside a source tree such that CMake is willing to generate a relative path from the build tree to the source tree. Add a test covering this case. Fixes: #19507
* | Merge branch 'fix-emulator-arguments' into release-3.15Brad King2019-07-231-1/+1
|\ \ | | | | | | | | | Merge-request: !3591
| * | Fix allocation in CROSSCOMPILING_EMULATOR evaluationMarek Antoniak2019-07-231-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | In commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support arguments, 2019-05-30, v3.15.0-rc1~6^2) the new member `cmCustomCommandGenerator::EmulatorsWithArguments` was not initialized to the proper size. Fix this and add a test case covering the crash that could occur with multiple commands where an emulator appears only in a later command. Fixes: #19500 Co-Author: Brad King <brad.king@kitware.com>
* | Merge branch 'ctest-done-hash' into release-3.15Brad King2019-07-191-9/+9
|\ \ | | | | | | | | | Merge-request: !3563
| * | CTest: Generate Done.xml before calculating its hashBetsy McPhail2019-07-191-9/+9
| |/ | | | | | | Fixes: #19489
* | Merge branch 'vs-asmlist-dir' into release-3.15Brad King2019-07-182-4/+2
|\ \ | | | | | | | | | Merge-request: !3569
| * | VS: Place intermediate files in the "ASM List Location" next to objectsBrad King2019-07-182-4/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | The `AssemblerListingLocation` setting in VS project files is meant for intermediate files created during the build much like object files. When the VS 7 generator was first under development, commit 49aebe6c99 (new arch, 2002-09-04) placed both object files and the ASM list location in the same directory. Later commit f9aef0e422 (Generator now creates a separate intermediate files directory for each target, 2005-07-27) moved the object files to a per-target directory but the ASM list location was not moved with them. Move it now. Fixes: #19480
* | Swift: Add library search paths for dependenciesSaleem Abdulrasool2019-07-181-7/+27
| | | | | | | | | | | | | | | | | | | | | | When building Swift executables and libraries which import a module, an implicit link will be added by the driver. Because this links by name rather than path, the library search path needs to be provided to indicate where to find the library. For all local dependencies, add the library paths for the targets when linking. This ensures that you can link against local libraries without explicitly setting a library path. Fixes: #19304
* | Support per-language library link flagsSaleem Abdulrasool2019-07-181-4/+17
|/ | | | | | | | | | This changes the behaviour of the generators to use a per-language library search path flag. This is needed for multi-language projects with different compilers (e.g. cl + gfortran). Since the adjusted variable has been part of the user settings, we control this based on a policy. Fixes: #19307
* CMake 3.15.0v3.15.0Brad King2019-07-171-1/+1
|
* Merge branch 'find_package-fix-NO_MODULE' into release-3.15Brad King2019-07-161-2/+3
|\ | | | | | | 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
* | Merge branch 'object-library-sbcs' into release-3.15Brad King2019-07-121-1/+1
|\ \ | | | | | | | | | 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
* | Merge branch 'fortran-submodule-cray' into release-3.15Brad King2019-07-111-1/+7
|\ \ | |/ |/| | | Merge-request: !3504
| * Fortran: Support compilers using no module prefix on submodule filesWillem Deconinck2019-07-081-1/+7
| | | | | | | | | | | | | | | | | | Define `CMAKE_Fortran_SUBMODULE_SEP` with an empty string to mean that the compiler uses no module prefix on its submodule files. Also add a default fallback to use the `.mod` extension when `CMAKE_Fortran_SUBMODULE_EXT` is not set. This is a better guess than no extension at all.
* | 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
| * | CUDA: Restore device linking to imported static library targetsRobert Maynard2019-07-091-6/+11
| |/ | | | | | | | | | | | | This ability was lost in commit 81b4d10d8f (CUDA: More exhaustive checks to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2) and needs to be restored to use imported static libraries that have CUDA symbols.
* | Merge branch 'ccmake-clear-aliases' into release-3.15Brad King2019-07-091-0/+1
|\ \ | | | | | | | | | Merge-request: !3529
| * | cmGlobalGenerator: Do not persist alias targets across configuresBrad King2019-07-081-0/+1
| |/ | | | | | | | | | | | | | | | | In `ccmake` a single global generator instance may be used for multiple configure step runs. The `cmGlobalGenerator::ClearGeneratorMembers` method is supposed to clear global state that is specific to each configure run but forgot to clear alias targets. Fixes: #19457
* | Merge branch 'loglevel-option-case-consistency' into release-3.15Craig Scott2019-07-091-1/+1
|\ \ | | | | | | | | | Merge-request: !3521
| * | Help: Use consistent levels for cmake --loglevel and message()Craig Scott2019-07-081-1/+1
| |/ | | | | | | | | | | | | | | | | | | The message() command requires uppercase log levels. Even though the cmake --loglevel option is not case sensitive, show the supported values as uppercase to match the message() docs as closely as possible, since they are related to the same feature. Also fixes the wrong string being shown for the warning level by cmake --help.
* | Merge branch 'qt-5.13' into release-3.15Brad King2019-07-011-1/+1
|\ \ | | | | | | | | | Merge-request: !3500
| * | QtDialog: Use QPalette::WindowText instead of QPalette::ForegroundSebastian Holtermann2019-07-011-1/+1
| |/ | | | | | | | | | | | | | | | | | | `QPalette::Foreground` is deprecated and was replaced by `QPalette::WindowText` since at least Qt 4.8. https://doc.qt.io/archives/qt-4.8/qpalette.html#ColorRole-enum This replaces the `QPalette::Foreground` color role with `QPalette::WindowText` in `QtDialog/RegexExplorer.cxx` to avoid compiler warnings.
* | Merge branch 'cuda-no-device-link-when-disabled' into release-3.15Brad King2019-07-014-11/+9
|\ \ | | | | | | | | | Merge-request: !3491
| * | CUDA: Do not device link if CUDA is not an enabled languageRobert Maynard2019-07-014-11/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Checks added in commit 81b4d10d8f (CUDA: More exhaustive checks to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2) assumed that CUDA properties would be set only if CUDA is enabled. We cannot do a device link step if we do not have the CUDA language enabled. This was discovered as some projects unconditionally set CUDA properties such as `CUDA_RESOLVE_DEVICE_SYMBOLS` even when the CUDA language has not been enabled. Fixes: #19432
* | list(POP_FRONT): Fix always assigning first item to output varsAlex Turbov2019-06-301-1/+1
|/ | | | Fixes: #19436
* CMake 3.15.0-rc3v3.15.0-rc3Brad King2019-06-271-1/+1
|
* Merge branch 'cuda-msvc-runtime-library' into release-3.15Brad King2019-06-261-15/+11
|\ | | | | | | Merge-request: !3485
| * VS: Use AddLanguageFlags to de-duplicate CMAKE_{CUDA,ASM*}_FLAGS lookupBrad King2019-06-261-15/+11
| | | | | | | | | | | | | | | | Apply the refactoring from commit 707283981f (VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookup, 2019-04-01, v3.15.0-rc1~300^2) to the CUDA, ASM_MASM, and ASM_NASM languages too. In particular, CUDA needs the MSVC runtime library selection logic in the `AddLanguageFlags` method that is used by other generators.
* | Merge branch 'export-targets-empty' into release-3.15Brad King2019-06-261-2/+9
|\ \ | | | | | | | | | Merge-request: !3484
| * | export: Restore support for empty TARGETS listBrad King2019-06-251-2/+9
| |/ | | | | | | | | | | | | | | | | 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
* | Ninja: Fix CUDA device linking when using response filesFrancisco Facioni2019-06-251-13/+2
|/ | | | | | Fix the logic added by commit d91b5a72cd (Ninja: Add support for CUDA nvcc response files, 2019-05-30, v3.15.0-rc1~8^2) to always use the CUDA compiler response file flag for response files during device linking.
* CMake 3.15.0-rc2v3.15.0-rc2Brad King2019-06-191-1/+1
|
* Merge branch 'find_package_prefer_config_fix' into release-3.15Brad King2019-06-172-5/+24
|\ | | | | | | Merge-request: !3446
| * find_package: Fixed CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallbackCristian Adam2019-06-132-5/+24
| | | | | | | | Fixes: #19361
* | Merge branch 'capabilities-fileapi' into release-3.15Brad King2019-06-171-3/+3
|\ \ | | | | | | | | | Merge-request: !3442
| * | fileapi: Suppress lint warning about non-move with old jsoncppBrad King2019-06-121-3/+3
| | |