summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Swift: Ignore WIN32_EXECUTABLE property outside of Windowshotwatermorning2021-10-284-6/+19
| | | | Issue: #19877
* CMake Nightly Date StampKitware Robot2021-10-231-1/+1
|
* Merge topic 'lcc-policy'Brad King2021-10-2235-4/+287
|\ | | | | | | | | | | | | | | 3958ed878f LCC: Add policy CMP0129 regarding interpreting LCC as GNU Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6643
| * LCC: Add policy CMP0129 regarding interpreting LCC as GNUmakise-homura2021-10-2135-4/+287
| | | | | | | | | | | | | | | | | | | | Due to MCST LCC compiler identification is now changed to LCC, there should be a way for old projects to still identify it as GNU, as it was before. This commits adds the policy: CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU. This policy controls such a behavior. OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
* | Merge topic 'ci-openwatcom'Brad King2021-10-221-0/+1
|\ \ | | | | | | | | | | | | | | | | | | b7863da78f ci: Avoid OpenWatcom linker temp file collisions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6650
| * | ci: Avoid OpenWatcom linker temp file collisionsBrad King2021-10-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `wlink` needs to spill into a temporary file, code in `spillio.c` checks environment variables `WLINKTMP`, `TMP`, and `TMPDIR` to get a directory for temporary files. It searches for a name `WLK02112.xx*` that doesn't exist, where `*` starts at `a` and increments. Then it opens the file with the chosen name. This can race among concurrent `wlink` invocations that may all chose the same name before opening, and causes errors like: Error! E3008: cannot open C:\...\Temp\WLK02112.xxa : Permission denied Since `wmake` does not run parallel jobs, this normally isn't a problem. However, our test suite runs multiple tests in parallel. Each test has its own `wmake` invocation, and therefore can run `wlink` concurrently. Set `WLINKTMP=.` in the environment to tell each `wlink` to place temporary files in its own working directory, which will be different for each separate `wmake` invocation in our test suite.
* | | CMake Nightly Date StampKitware Robot2021-10-221-1/+1
|/ /
* | Merge branch 'release-3.22'Brad King2021-10-210-0/+0
|\ \
| * \ Merge topic 'vs-instance' into release-3.22Brad King2021-10-2115-36/+62
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46e9ff5729 Restore honoring CMAKE_GENERATOR_INSTANCE in toolchain file 42418b02f7 Android: Refactor sysroot detection under Visual Studio 44a86d0b38 cmake_host_system_information: Add undocumented VS_MSBUILD_COMMAND key 6999b87133 cmGlobalVisualStudio10Generator: Add method to find MSBuild early 7f730464be cmGlobalGenerator: Add method to check if generator is at least VS 10 8917b8512f cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstance 6511654164 cmGlobalVisualStudio10Generator: Allow subclasses to reset MSBuild search Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6646
* | \ \ Merge topic 'vs-instance'Brad King2021-10-2115-36/+62
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46e9ff5729 Restore honoring CMAKE_GENERATOR_INSTANCE in toolchain file 42418b02f7 Android: Refactor sysroot detection under Visual Studio 44a86d0b38 cmake_host_system_information: Add undocumented VS_MSBUILD_COMMAND key 6999b87133 cmGlobalVisualStudio10Generator: Add method to find MSBuild early 7f730464be cmGlobalGenerator: Add method to check if generator is at least VS 10 8917b8512f cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstance 6511654164 cmGlobalVisualStudio10Generator: Allow subclasses to reset MSBuild search Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6646
| * | | Restore honoring CMAKE_GENERATOR_INSTANCE in toolchain fileBrad King2021-10-204-33/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the changes from commit d5b5c19278 (cmGlobalGenerator: FindMakeProgram() before CMakeDetermineSystem, 2020-06-15, v3.19.0-rc1~619^2~3) and commit ef91fb02f3 (cmGlobalGenerator: FindMakeProgram() at a generator-specific time, 2020-11-23, v3.19.1~2^2). We must delay selecting the location of MSBuild until after an instance of Visual Studio has been selected. It is now safe to revert the ordering because the motivating use case (sysroot detection in Platform/Android-Determine) has been implemented another way. Fixes: #22782
| * | | Android: Refactor sysroot detection under Visual StudioBrad King2021-10-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 6051a49c78 (Visual Studio: Add Android support, 2020-06-12, v3.19.0-rc1~619^2) we run MSBuild to build a sample project to detect the sysroot. Previously we relied on `CMAKE_VS_MSBUILD_COMMAND` being available. That required commit d5b5c19278 (cmGlobalGenerator: FindMakeProgram() before CMakeDetermineSystem, 2020-06-15, v3.19.0-rc1~619^2~3) to make it available early enough. However, that ordering broke `CMAKE_GENERATOR_INSTANCE` so we need to prepare to revert it. Use `cmake_host_system_information` to get the location of MSBuild under a VS generator instead.
| * | | cmake_host_system_information: Add undocumented VS_MSBUILD_COMMAND keyBrad King2021-10-206-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the Visual Studio generator for VS 10 or above, offer this key to get the location of the MSBuild command before the first `project()` or `enable_language()` command has finished running. This will be needed only by one of our own modules, so leave it undocumented for now.
| * | | cmGlobalVisualStudio10Generator: Add method to find MSBuild earlyBrad King2021-10-204-0/+21
| | | | | | | | | | | | | | | | | | | | Add a way to find MSBuild before the main `FindMakeProgram` code path has executed.
| * | | cmGlobalGenerator: Add method to check if generator is at least VS 10Brad King2021-10-202-0/+4
| | | |
| * | | cmGlobalVisualStudioVersionedGenerator: Allow repeating SetGeneratorInstanceBrad King2021-10-202-0/+9
| | | |
| * | | cmGlobalVisualStudio10Generator: Allow subclasses to reset MSBuild searchBrad King2021-10-202-2/+1
| | | | | | | | | | | | | | | | While at it, convert to inline initialization.
* | | | Merge branch 'release-3.22'Brad King2021-10-210-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge topic 'doc-file-INSTALL-fix' into release-3.22Brad King2021-10-211-2/+2
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 1560265e7d Help: Fix file(INSTALL) docs w.r.t. CMAKE_INSTALL_MESSAGE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6645
* | | | Merge topic 'doc-file-INSTALL-fix'Brad King2021-10-211-2/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 1560265e7d Help: Fix file(INSTALL) docs w.r.t. CMAKE_INSTALL_MESSAGE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6645
| * | | Help: Fix file(INSTALL) docs w.r.t. CMAKE_INSTALL_MESSAGEArcturus Arcturus2021-10-201-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | In commit c9568de52c (install: Add CMAKE_INSTALL_MESSAGE variable (#13761), 2014-06-24, v3.1.0-rc1~370^2~1) we incorrectly documented that `CMAKE_INSTALL_MESSAGE` controls the status message for `file(INSTALL)`. Revert that. Fixes: #17162
* | | Merge topic 'fix_reroot_paths'Brad King2021-10-214-2/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 91ec6eee58 find_package: Don't reroot prefix that is equal to a root path Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6644
| * | | find_package: Don't reroot prefix that is equal to a root pathAlexandru Croitor2021-10-204-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When both CMAKE_FIND_ROOT_PATH and CMAKE_PREFIX_PATH are set to /opt/my_device_sysroot, cmFindCommon::RerootPaths would only look for packages in /opt/my_device_sysroot/opt/my_device_sysroot but would not try to look in /opt/my_device_sysroot. Make sure to not reroot the prefix path in such a case. Fixes: #21937
* | | | Merge topic 'refactor_cuda_support_to_allow_rdc_ptx'Brad King2021-10-2116-58/+158
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 61b9764b03 CUDA: Allow both CUDA_SEPARABLE_COMPILATION and CUDA_PTX_COMPILATION Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6594
| * | | | CUDA: Allow both CUDA_SEPARABLE_COMPILATION and CUDA_PTX_COMPILATIONRobert Maynard2021-10-2016-58/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target properties `CUDA_SEPARABLE_COMPILATION` and `CUDA_PTX_COMPILATION` now aren't mutually exclusive and can now be used together on the same target.
* | | | | CMake Nightly Date StampKitware Robot2021-10-211-1/+1
|/ / / /
* | | | Merge topic 'vs-unity-individual-pch'Brad King2021-10-207-7/+38
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 71f15be957 VS: Fix compilation of single source with PCH in Unity Build 7fcc35c676 Tests: Clean RunCMake.UnityBuild cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6641
| * | | | VS: Fix compilation of single source with PCH in Unity BuildBrad King2021-10-196-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sources that are part of a unity build are normally not compiled individually. However, the VS IDE allows a single source to be compiled. This can also be achieved on the command line: msbuild my.vcxproj ... -t:ClCompile -p:SelectedFiles=<src> where `<src>` is the path in the vcxproj `ClCompile` entry. In a target with precompiled headers, the source needs PCH settings to support individual compilation even if the normal unity build does not.
| * | | | Tests: Clean RunCMake.UnityBuild casesBrad King2021-10-191-6/+2
| | |_|/ | |/| |
* | | | Merge topic 'target-sources-test-refactor'Brad King2021-10-2067-41/+39
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d07569e4d Tests/RunCMake: Merge TargetSources into target_sources Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6642
| * | | | Tests/RunCMake: Merge TargetSources into target_sourcesKyle Edwards2021-10-1967-41/+39
| |/ / /
* | | | Merge topic 'platform-generic-elf'Brad King2021-10-202-0/+8
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 3f9b40dab7 Generic-ELF: Add platform module to configure the .elf file extension Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6630
| * | | Generic-ELF: Add platform module to configure the .elf file extensionJordan Williams2021-10-192-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `.elf` extension is a common convention used for embedded binaries. Both Arm and RISC-V use the ELF file format for executables. Configuring the `.elf` file extension is typically done incorrectly. Most embedded developers set this in toolchain files, which is not the correct place. This is typically accomplished through a hack by setting the individual language file extensions for C, CXX, and ASM. Multiple CMake issues in the past have been opened related to this. * #16538 * #20163 * #17880 A platform module makes it simpler and less error prone for developers targeting these ubiquitous bare-metal platforms. This PR attempts to solve this globally with a generic platform. This could also be solved by using more specific platform modules, such as one for each of bare-metal Arm and RISC-V.
* | | | CMake Nightly Date StampKitware Robot2021-10-201-1/+1
| |/ / |/| |
* | | Merge branch 'release-3.22'Brad King2021-10-190-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'release-3.21' into release-3.22Brad King2021-10-190-0/+0
| |\ \
* | \ \ Merge branch 'release-3.21'Brad King2021-10-190-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'backport-3.21-vs2022' into release-3.21Brad King2021-10-192-4/+4
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !6640
* | \ \ \ Merge branch 'release-3.22'Brad King2021-10-190-0/+0
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Merge topic 'vs2022' into release-3.22Brad King2021-10-193-6/+6
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f117c7d11e Help: Update 3.22 release notes for the VS 2022 Release Candidate d5a7448fa4 Merge branch 'backport-3.21-vs2022' into vs2022 3d9d75b0be VS: Update Visual Studio 17 2022 generator for the Release Candidate Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6640
* | \ \ \ \ Merge topic 'vs2022'Brad King2021-10-193-6/+6
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f117c7d11e Help: Update 3.22 release notes for the VS 2022 Release Candidate d5a7448fa4 Merge branch 'backport-3.21-vs2022' into vs2022 3d9d75b0be VS: Update Visual Studio 17 2022 generator for the Release Candidate Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6640
| * | | | | Help: Update 3.22 release notes for the VS 2022 Release CandidateBrad King2021-10-191-2/+2
| | | | | |
| * | | | | Merge branch 'backport-3.21-vs2022' into vs2022Brad King2021-10-192-4/+4
| |\ \ \ \ \ | | |/ / / / | |/| | / / | | | |/ / | | |/| |
| | * | | VS: Update Visual Studio 17 2022 generator for the Release CandidateBrad King2021-10-192-4/+4
| | |/ /
* | | | Merge topic 'lcc-compiler'Brad King2021-10-1985-102/+563
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 02b2607a5c Help: Add release note for MCST LCC compiler support e5d9fce03f LCC: Add dedicated support for MCST LCC compiler 2b9ef77944 CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecture 0995c75301 Tests/RPM: skip tests tat rely on debugedit if it's not found ea55ac9a51 Tests/RunCMake/CommandLine: Deal with locales that are different from English Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6608
| * | | | Help: Add release note for MCST LCC compiler supportBrad King2021-10-191-0/+4
| | | | |
| * | | | LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-1580-96/+521
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
| * | | | CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecturemakise-homura2021-10-152-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "OS Elbrus" (OSL for short), a reference Linux distro for E2K (Elbrus) platform may have broken dpkg-shlibdeps, that doesn't specify dependencies correctly. In this case, the only reliable way is to explicitly set dependencies of libc6 and lcc-libs, and then warn user to let him know this list may be incomplete. This commit does that. This fix has no effect on correctly working dpkg-shlibdeps, so when this bug will be fixed in new versions of OSL, CPack will work as expected with these distros.
| * | | | Tests/RPM: skip tests tat rely on debugedit if it's not foundmakise-homura2021-10-151-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several tests that run on systems that have rpm installed, but they fail if there's no debugedit installed also. This commit makes these tests being skipped in such case.
| * | | | Tests/RunCMake/CommandLine: Deal with locales that are different from Englishmakise-homura2021-10-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RunCMake/CommandLine has problems when ran using language setting differeng from English. This is due to test outputs being compared to English strings, which comparison obviously fails if this language is set to, e.g. Russian. This commit sets locale as "C" prior to running these tests, so messages while testing are generated in correct language and do not fail checks anymore.