https://github.com/Kitware/CMake

sort by:
Revision Author Date Message Commit Date
6fb747a CMake 3.15.4 30 September 2019, 19:30:00 UTC
e7637a3 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all' into release-3.15 Merge-request: !3863 30 September 2019, 14:29:11 UTC
013d7dd Help: Mention 3.14.7 EXCLUDE_FROM_ALL fix in 3.15.4 release note 30 September 2019, 13:20:55 UTC
61103c0 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 30 September 2019, 13:20:40 UTC
1fe4501 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.15.4 30 September 2019, 13:20:35 UTC
05d7ca1 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 30 September 2019, 13:19:21 UTC
62d45d9 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7 30 September 2019, 13:18:20 UTC
b3b1c7b Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753 30 September 2019, 13:18:20 UTC
156b564 Makefiles: Revert "Make build root targets ... recursive" Revert the main logic change from commit 827da1119e (Makefiles: Make build root targets "all", "clean" and "preinstall" recursive, 2019-05-17, v3.15.0-rc1~96^2~2) for the "all" and "preinstall" targets. The commit cleaned up the Makefile generator to use the same logic for the "all" target in the top-level directory as for subdirectories. It exposed a long-existing bug that caused the "all" target in a subdirectory to include the "all" targets from sub-subdirectories even if they are marked `EXCLUDE_FROM_ALL`. The `Tests/SubDir` test should fail but the problem is currently covered up by another bug introduced by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) that causes the "all" targets in `EXCLUDE_FROM_ALL` subdirectories to be empty. Revert the top-level "all" and "preinstall" targets to the old approach to prepare to fix the latter bug without exposing the long-existing bug at the top-level. Leave the "clean" target in the new approach because it does not honor `EXCLUDE_FROM_ALL` anyway. Issue: #19753 27 September 2019, 18:15:00 UTC
cf01d3d Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAll Rename the `baz` target to `subinc` to clarify that its role is to be included even though it is in an otherwise excluded subdirectory. 26 September 2019, 18:58:26 UTC
21442d7 Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbing Also simplify the clean step. 26 September 2019, 18:57:40 UTC
0cfbd85 Tests: Teach RunCMake to support a custom working directory 24 September 2019, 18:10:34 UTC
5a35a9c Merge branch 'vs-16.4-custom-commands' into release-3.15 Merge-request: !3860 24 September 2019, 14:46:13 UTC
0578239 VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs VS 16.4 introduces an additional check on `CustomBuild` rules that warns if the outputs of the command are not created. However, CMake supports marking outputs with the `SYMBOLIC` property to indicate that they will not actually be generated. That property is used by Makefile and Ninja generators but has not been needed by the VS generators before. Teach the VS generator to disable `VerifyInputsAndOutputsExist` in custom build rules that have a symbolic output. Fixes: #19737 24 September 2019, 14:41:20 UTC
2f702be Merge branch 'doc-vs-2019-toolset' into release-3.15 Merge-request: !3841 20 September 2019, 14:04:46 UTC
67f3dda Help: Document VS 2019 toolset in MSVC_TOOLSET_VERSION 20 September 2019, 13:11:40 UTC
26a0e20 CMake 3.15.3 04 September 2019, 13:50:07 UTC
7a8bd12 Merge branch 'FindBoost-1.71' into release-3.15 Merge-request: !3780 04 September 2019, 13:10:57 UTC
907d3ed FindBoost: Tolerate future Boost INTERFACE libraries Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we query imported targets provided by `BoostConfig.cmake` for their `IMPORTED_LOCATION_<cfg>`. Querying this property is not allowed on INTERFACE libraries, so add a condition to avoid doing so in case Boost adds one in the future. Suggested-by: Alexander Grund <alexander.grund@tu-dresden.de> Issue: #19656, #19402 04 September 2019, 13:09:31 UTC
2d357b7 FindBoost: Clarify role of legacy variables in warning message Revise the wording of the warning added by commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) to refer to the old variables as "legacy" rather than "standard". Suggested-by: Alexander Grund <alexander.grund@tu-dresden.de> Issue: #19402 04 September 2019, 13:09:31 UTC
3b8fa49 Merge branch 'FindBoost-1.71' into release-3.15 Merge-request: !3763 30 August 2019, 18:54:30 UTC
7828577 FindBoost: Add support for Boost 1.71 Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.71.0 sources to compute dependencies. They are the same as Boost 1.70. Fixes: #19658 30 August 2019, 18:51:20 UTC
cf29fa1 FindBoost: Unwrap compatibility INTERFACE targets for legacy variables Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we extract information from imported targets provided by upstream `BoostConfig.cmake` files. However, upstream Boost 1.71 provides some imported targets only for compatibility. They are just INTERFACE libraries that wrap around the real target named by `INTERFACE_LINK_LIBRARIES`. Unwrap this layer so we can extract the real imported location. Fixes: #19656 30 August 2019, 18:51:03 UTC
d7df3cd FindBoost: Remove incorrect 1.70 timer dependency Running `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.70.0 sources shows that the `timer` component no longer depends on `system`. This is consistent with upstream Boost Timer commit `43eecbd071`. 30 August 2019, 18:51:03 UTC
8ff43de FindBoost: Simplify conditional block for last known version A version newer than we know about will be large enough to enter the block for the last known version so we can put the warning there. 30 August 2019, 18:51:03 UTC
1ae24ee Merge branch 'fileapi-CMP0037-OLD' into release-3.15 Merge-request: !3760 30 August 2019, 14:21:29 UTC
9da1c33 fileapi: Fix codemodel v2 target file name for CMP0037 OLD behavior With CMP0037 OLD behavior, executable and library target names may contain a slash. Avoid constructing file names with slashes. Fixes: #19653 30 August 2019, 14:20:12 UTC
aeeccc3 Merge branch 'backport-find-no-name' into release-3.15 Merge-request: !3751 28 August 2019, 15:28:59 UTC
4c8760c find_path: Fix crash on empty old-style list of names Fixes: #19651 28 August 2019, 15:18:53 UTC
1d95305 Merge branch 'autogen_fix_use_after_move' into release-3.15 Merge-request: !3745 27 August 2019, 14:25:53 UTC
e32f700 Autogen: Fix AUTOUIC segfault, when file includes colliding ui_*.h file This fixes a case of use after move of a `std::shared_ptr` in `AUTOUIC`. It triggered a segfault, when the error message for colliding `ui_*.h` includes in different files was computed. 27 August 2019, 14:17:33 UTC
1d68639 Merge branch 'alpine-cpu_zero' into release-3.15 Merge-request: !3740 27 August 2019, 14:11:37 UTC
6157c0f Merge branch 'cmGlobalGenerator-compilerId-lifetime' into release-3.15 Merge-request: !3741 27 August 2019, 14:11:29 UTC
dd6154c Merge branch 'libarchive-requirement' into release-3.15 Merge-request: !3737 27 August 2019, 14:11:16 UTC
b0566f6 Merge branch 'ninja_additional_clean_files_custom_target' into release-3.15 Merge-request: !3739 27 August 2019, 14:11:06 UTC
1902e39 cmAffinity: Add include for CPU_ZERO on Alpine Linux The definition of `CPU_ZERO` requires `<string.h>` to be included explicitly for `memset`. Since IWYU does not agree on other Linux platforms, use a pragma to silence the warning. Fixes: #19643 27 August 2019, 13:32:32 UTC
17ce0c2 cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime Save the value of the compiler id variable in storage we own so that mutating it based on a policy does not invalidate the local value for later comparisons. This was identified by Clang AddressSanitizer. 26 August 2019, 14:28:32 UTC
752fa8b libarchive: We now require at least version 3.3.3 It's the first version including Zstandard support. 26 August 2019, 13:47:24 UTC
d040f3f Tests: Extend MakeClean test to test various target types This extends the MakeClean test to test the target property `ADDITIONAL_CLEAN_FILES` on executable, library and custom targets. 26 August 2019, 13:31:03 UTC
3ed8cff Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets This enables the support for `ADDITIONAL_CLEAN_FILES` in custom targets using the ninja generator. Fixes: #19641 26 August 2019, 13:31:03 UTC
290ab79 Merge branch 'ctest-json-REQUIRED_FILES' into release-3.15 Merge-request: !3719 22 August 2019, 19:09:49 UTC
5778880 CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property Fixes: #19629 22 August 2019, 19:07:43 UTC
d911f8f Merge branch 'CrayPrgEnv-update-link-type-detection' into release-3.15 Merge-request: !3716 22 August 2019, 16:27:08 UTC
971c778 CrayPrgEnv: Change default linking mode based on PE version Beginning with the 19.06 release of the Cray Programming Environment, the default linking mode on XC Cray systems is dynamic instead of static. This updates the CrayPrgEnv compiler wrappers to detect the PE version being used and behave accordingly. 22 August 2019, 16:26:06 UTC
9182b3c Merge branch 'FindMPI-restore-flag-vars' into release-3.15 Merge-request: !3710 21 August 2019, 14:10:52 UTC
31b8b28 FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS and MPI_<LANG>_COMPILE_OPTIONS In commit e374b9f1eb (FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line string, 2018-09-10, v3.12.3~6^2) we tried to restore the compile flags but accidentally inverted the arguments to `list(JOIN)` causing both `MPI_<LANG>_COMPILE_FLAGS` and `MPI_<LANG>_COMPILE_OPTIONS` to be empty. Issue: #18349 21 August 2019, 14:08:12 UTC
feec57e Merge branch 'ccmake-crash-on-empty-strings-property' into release-3.15 Merge-request: !3678 20 August 2019, 12:56:21 UTC
154c5f7 ccmake: handle cache entries with empty STRINGS property Fixes: #19585 20 August 2019, 12:48:09 UTC
ff7f8b8 Merge branch 'msvc-runtime-library-flang' into release-3.15 Merge-request: !3674 09 August 2019, 14:24:30 UTC
ea0294c Flang: Implement MSVC runtime library abstraction In commit fb3370b6a1 (MSVC: Add abstraction for runtime library selection, 2019-04-10, v3.15.0-rc1~229^2) we overlooked updating flags for Flang on Windows. Add them now and update the MSVCRuntimeLibrary Fortran test to work with Flang. Base the flags on those we already use for the GNU-like Clang targeting the MSVC ABI. Fixes: #19583 09 August 2019, 14:18:54 UTC
40bbe50 CMake 3.15.2 07 August 2019, 16:44:19 UTC
dfac85b Merge branch 'doc-relnotes-3.15' into release-3.15 Merge-request: !3664 07 August 2019, 16:42:56 UTC
18ce372 Help: Add 3.15.2 release notes 07 August 2019, 16:41:27 UTC
1c7a4f9 Merge branch 'FindGLEW-macOS' into release-3.15 Merge-request: !3656 06 August 2019, 13:53:42 UTC
feeb038 FindGLEW: Fix typo in verbose log message 06 August 2019, 13:49:03 UTC
ab822a9 FindGLEW: Add required OpenGL dependency in macOS macOS requires OpenGL as INTERFACE_LINK_LIBRARIES dependency in the GLEW targets. This commit fixes this issue. 06 August 2019, 13:49:03 UTC
a8a3efa FindGLEW: Fix macOS library suffix selection Fix logic added by commit a7d853868b (FindGLEW: Update implementation, 2019-03-13, v3.15.0-rc1~375^2~1) on macOS. macOS is recognized as both UNIX and APPLE. Consequently, the library suffix for shared and static library was set, respectively, as `.so` and `.a`, just like UNIX systems. Fix this by properly checking the OS type. Fixes: #19542 06 August 2019, 13:47:35 UTC
9a384e7 Merge branch 'find_package-prefer-config-not-found' into release-3.15 Merge-request: !3653 06 August 2019, 13:43:25 UTC
8ed8686 find_package: Fix prefer-config mode to not fail on missing optional package 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 06 August 2019, 13:36:36 UTC
1c3404a Merge branch 'clang-frontend-variant' into release-3.15 Merge-request: !3650 05 August 2019, 14:28:29 UTC
a245479 clang: Work around toolchain file use of internal CMake variables Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode, 2019-02-20, v3.15.0-rc1~41^2~5) our Clang compiler information modules need the `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable that we compute during compiler detection. However, some existing toolchain files set our internal `CMAKE_<LANG>_COMPILER_ID_RUN` variables and block that detection, but do not set the new frontend variant variable. Help them out by setting `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` anyway. Fixes: #19515, #19539 05 August 2019, 13:43:00 UTC
edca8d5 Merge branch 'fileapi-install-generators' into release-3.15 Merge-request: !3639 02 August 2019, 15:06:22 UTC
d70a0f8 fileapi: Fix codemodel target install destination for cross-dir rules 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 31 July 2019, 23:32:55 UTC
1ea751c Merge branch 'clang-cl-non-windows' into release-3.15 Merge-request: !3634 31 July 2019, 17:04:03 UTC
863f7eb clang: Restore support for clang-cl on non-Windows hosts The frontend variant detection logic added by commit 53fbe23f3f (clang: introduce CMAKE_<lang>_COMPILER_FRONTEND_VARIANT, 2019-02-20, v3.15.0-rc1~41^2~8) assumes that `clang-cl` only runs on a Windows host. It is also available on non-Windows hosts. Fix the condition. Fixes: #19544 31 July 2019, 16:52:35 UTC
7d98cd0 Merge branch 'source_group-tree-files' into release-3.15 Merge-request: !3630 30 July 2019, 15:31:15 UTC
93af8a2 source_group: Fix regression in relative FILES 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 30 July 2019, 15:29:58 UTC
4053d57 Merge branch 'vs-spectre-off' into release-3.15 Merge-request: !3629 30 July 2019, 15:20:59 UTC
f9b7c66 VS: Fix mapping of `-Qspectre-` flag 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 30 July 2019, 15:17:28 UTC
055a782 Merge branch 'swift-with-interface-libs' into release-3.15 Merge-request: !3624 29 July 2019, 19:34:19 UTC
601fe84 Swift: Restore support for enabling with INTERFACE libraries 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 29 July 2019, 19:24:29 UTC
f43a7d7 CMake 3.15.1 26 July 2019, 11:50:55 UTC
838278f Merge branch 'doc-relnotes-3.15' into release-3.15 Merge-request: !3608 26 July 2019, 11:25:33 UTC
3b113cc Help: Add 3.15.1 release notes 26 July 2019, 11:18:09 UTC
693a9b3 Merge branch 'FindMPI-link-flags' into release-3.15 Merge-request: !3605 25 July 2019, 17:09:25 UTC
cf04da7 FindMPI: make sure computed link flags are not de-duplicated In commit f7eaa342de (FindMPI: Store imported target link flags as a list instead of a string, 2019-06-14, v3.15.0-rc2~2^2) we used `separate_arguments` to parse the extracted link flags and add them to `INTERFACE_LINK_LIBRARIES`. That property is not meant for link flags and CMake may de-duplicate them. This is particularly problematic for flags like `-Wl,-rpath -Wl,/path1 -Wl,-rpath -Wl,/path2`. In commit 39c572c9c9 (FindMPI: Updated to use INTERFACE_LINK_OPTIONS, 2019-06-24) we moved the parsed flags over to `INTERFACE_LINK_OPTIONS`, but that may still perform de-duplication. Avoid the parsing and de-duplication of flags by passing the original string via `SHELL:` instead. Fixes: #19516 25 July 2019, 16:59:21 UTC
070a5e3 Merge branch 'makefile-depend-relative-include' into release-3.15 Merge-request: !3599 25 July 2019, 11:15:42 UTC
d46bac5 Makefile: Fix regression in dependencies on relative includes 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 24 July 2019, 15:37:31 UTC
420073e Merge branch 'backport-clang-gnulike-support' into release-3.15 Merge-request: !3592 24 July 2019, 12:12:51 UTC
4f15a6a Tests: Revert "require C++14 for the Tutorial" Revert commit a2a90f41e3 (Tests: require C++14 for the Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2). In commit d50b31be35 (Clang: For MSVC ABI do not use modes older than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like Clang with the MSVC ABI so the test code itself no longer needs to do it. In particular, changing the tests in this way broke the tutorial's narrative. 24 July 2019, 12:02:37 UTC
d50b31b Clang: For MSVC ABI do not use modes older than C++14 Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode, 2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that targets the MSVC ABI. However, Clang cannot compile with the MSVC standard library unless it runs in a mode aware of C++14 (since MSVC itself does not even have a lower mode). When `CMAKE_CXX_STANDARD` is set to 98 or 11, use C++14 anyway. Since Clang's default mode is aware of C++14, another option is to not add any flags for 98 or 11. However, if a future Clang version ever defaults to a higher C++ standard, setting the standard to 98 or 11 should at least not use a mode higher than 14. Also revert test updates from commit 4819ff9647 (Tests: fix failures with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that were meant to work around the standard selection problem. Fixes: #19496 24 July 2019, 11:40:30 UTC
07b93cb Merge branch 'fix-emulator-arguments' into release-3.15 Merge-request: !3591 23 July 2019, 12:38:57 UTC
bf6f546 Fix allocation in CROSSCOMPILING_EMULATOR evaluation 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> 23 July 2019, 12:33:31 UTC
4cac01c Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.15 Merge-request: !3585 22 July 2019, 14:20:06 UTC
13c3ec5 IRSL: Fix discovery of VS 2019 v141 toolset redistributables Since VS 2019, the v141 toolset redistributables can be found in either the VS 2019 or VS 2017 install directory. Update the logic to search multiple versions of VS. Fixes: #19488 22 July 2019, 14:06:45 UTC
0484165 IRSL: Fix typo in v143 toolset version check Fix the toolset v143 check from commit 33ee779330 (IRSL: Fix discovery of VS 2019 v142 toolset redistributables, 2019-04-03, v3.14.2~6^2) to check the correct variable. 22 July 2019, 14:06:44 UTC
fc2a7c8 Merge branch 'ctest-done-hash' into release-3.15 Merge-request: !3563 19 July 2019, 16:01:04 UTC
da79075 CTest: Generate Done.xml before calculating its hash Fixes: #19489 19 July 2019, 16:00:30 UTC
8d22999 Merge branch 'msvc-runtime-library-doc' into release-3.15 Merge-request: !3573 19 July 2019, 15:18:44 UTC
282d9f3 MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set By default `CMAKE_MSVC_RUNTIME_LIBRARY` is not set. Document the default runtime library selection in that case. We already test it. 19 July 2019, 15:17:32 UTC
d96bc3c Merge branch 'vs-asmlist-dir' into release-3.15 Merge-request: !3569 18 July 2019, 15:41:49 UTC
c1fc6c8 VS: Place intermediate files in the "ASM List Location" next to objects 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 18 July 2019, 15:40:58 UTC
1a2d260 Merge branch 'backport-swift-improvements' into release-3.15 Merge-request: !3568 18 July 2019, 11:47:05 UTC
c790324 Merge branch 'FindPython-interpreter-crosscompiling' into release-3.15 Merge-request: !3564 18 July 2019, 11:14:55 UTC
696d0f9 FindPython: ensure interpreter is founded when cross-compiling Fixes: #19473 18 July 2019, 11:13:20 UTC
5803a8a Swift: support SONAME on ELFish targets We should enable the soname to be setup for ELF shared libraries. Failure to do so generates binaries with incorrect names which prevents loading. 18 July 2019, 03:46:25 UTC
47e28cb Swift: support multithreaded compilation Query the number of logical CPUs available to enable parallel compilation for Swift. 18 July 2019, 03:46:08 UTC
6814567 Swift: add rules for static linking The Swift driver recently learnt how to generate static libraries using the `-static` flag. This enables us to generate proper static libraries with dependency tracking with Swift as well. 18 July 2019, 03:45:54 UTC
c8741e8 Swift: Add library search paths for dependencies 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 18 July 2019, 03:45:19 UTC
be0d404 Support per-language library link flags 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 18 July 2019, 03:44:58 UTC
back to top