| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The `-nofor_main` flag was originally added by commit ccdd3e943d (Fix
Intel Fortran SHARED libraries on Linux, 2009-10-27, v2.8.2~915). Since
then, Intel Fortran renamed the option to `-nofor-main` and deprecated
the old name. The new name has been available for a long time, so
we can just switch to it.
Fixes: #21735
|
|
|
|
|
|
|
| |
According to https://brew.sh/2020/12/01/homebrew-2.6.0/ the `/opt/homebrew`
directory is recommended for installing ARM architecture brew packages.
Fixes: #21585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit b6c60f14b6 (macOS: Default to arm64 architecture on Apple
Silicon hosts, 2020-09-28, v3.19.0-rc1~63^2) we use `sysctl` to detect
that we are running on Apple Silicon in a way that pierces Rosetta.
This always sets `CMAKE_HOST_SYSTEM_PROCESSOR` to be `arm64` on such
hosts. However, macOS offers strong support for running processes under
an emulated `x86_64` architecture.
Teach CMake to select either `arm64` or `x86_64` as the host
architecture on Apple Silicon based on the architecture of its own
process. When CMake is built as a universal binary, macOS will select
whichever slice (architecture) is appropriate under the user's shell,
and `CMAKE_HOST_SYSTEM_PROCESSOR` will match.
Also offer a `CMAKE_APPLE_SILICON_PROCESSOR` variable and environment
variable to provide users with explicit control over the host
architecture selection regardless of CMake's own architecture.
Finally, if `CMAKE_OSX_ARCHITECTURES` is not set, pass explicit flags to
the toolchain to use selected host architecture instead of letting the
toolchain pick.
Fixes: #21554
|
|
|
|
|
|
|
|
| |
When preprocessing the rc file using the clang gnu front end we need to
force the source file type to a c file for the preprocessing to take
place.
Fixes: #21472
|
|
|
|
| |
Fixes: #21094
|
|
|
|
|
|
|
|
|
|
| |
Revise logic from commit 1ab574a0f4 (Android: Add support for NDK r22,
2020-10-07, v3.19.0-rc1~18^2) that loads ABI tables from the NDK.
`NDK_DEFAULT_ABIS` means the abis to build by default.
Use `NDK_KNOWN_DEVICE_ABI{32,64}S` instead.
In practise they have never been different. Fix to make it more precise.
|
|
|
|
|
|
| |
Extend the `.tbd` parsing from commit 170e598add (iOS: Fix detection of
supported SDK architectures, 2020-04-16, v3.17.2~11^2) to support `.tbd`
file version 4.
|
| |
|
| |
|
|
|
|
|
| |
NDK r22 removed platforms and sysroot directory.
NDK r18+ provides `.cmake` files with tables of platforms and abis.
|
|
|
|
|
|
| |
A module-wide setting was added by commit 8ede35523e (IN_LIST: Ensure
policy allows if(IN_LIST) if used by a module, 2018-09-12,
v3.13.0-rc1~95^2), so our local setting is no longer needed.
|
|
|
|
| |
API level depends on ABI. E.g. for LP64 the minimum API level should be 21 instead of 16 for others.
|
|
|
|
|
|
|
|
| |
Detect `arm64` hardware using a method that pierces Rosetta. If
`CMAKE_OSX_ARCHITECTURES` is not set, pass explicit flags to the
toolchain to use `arm64` instead of letting the toolchain pick.
Fixes: #20989
|
|
|
|
| |
Fixes: #21097
|
|\
| |
| |
| |
| |
| |
| | |
8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5188
|
| |
| |
| |
| | |
Fixes: #21163
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
5ece12b7e4 gitlab-ci: add ISPC to the Fedora CI image
8976817d6d ISPC: Update help documentation to include ISPC
2368f46ba4 ISPC: Support building with the MSVC toolchain
e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds
34cc6acc81 Add ISPC compiler support to CMake
419d70d490 Refactor some swift only logic to be re-used by other languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5065
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes: #21096
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
7b083d59c2 clang-cl: Restore rules to create preprocessed and assembly output
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5142
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit d993ebd4ca (clang-cl: Add '--' before source file, 2020-07-28)
we accidentally replaced these rules with those to compile an object
file.
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the installation path to cmake includes spaces, the
`<CMAKE_COMMAND>` is required to have proper quotation of the cmake
call.
Fixes: #21095
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On Linux and macOS, absolute paths start with `/` which may be
interpreted by clang-cl as an option. To avoid this, we separate the
source file path from preceding options with `--` to tell `clang-cl` it
is not an option.
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
During compiler identification, if CMAKE_{C,CXX}_COMPILER_TARGET is
defined, the corresponding clang target flag is used to guaranty proper
target architecture detection.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See https://github.com/codespell-project/codespell#readme
The following command was used:
```
codespell -q6 --skip="\
.git,\
*.json,\
./Copyright.txt,\
./Help/command/foreach.rst,\
./Help/prop_test/REQUIRED_FILES.rst,\
./Help/variable/CTEST_COVERAGE_COMMAND.rst,\
./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\
./Modules/CMakeRCInformation.cmake,\
./Modules/Internal/CPack/NSIS.template.in,\
./Modules/FindMatlab.cmake,\
./Modules/MatlabTestsRedirect.cmake,\
./Modules/Platform/Windows-Clang.cmake,\
./Modules/Platform/Windows-Intel-Fortran.cmake,\
./Modules/Platform/Windows-MSVC.cmake,\
./Source/CMakeVersion.cmake,\
./Source/cmConvertMSBuildXMLToJSON.py,\
./Source/cmCreateTestSourceList.cxx,\
./Source/cmGlobalVisualStudio10Generator.cxx,\
./Source/cmExportBuildFileGenerator.cxx,\
./Source/cmExportInstallAndroidMKGenerator.cxx,\
./Source/cmExportInstallFileGenerator.cxx,\
./Source/cmExportSet.cxx,\
./Source/cmExportTryCompileFileGenerator.cxx,\
./Source/cmFindPackageCommand.cxx,\
./Source/cmInstallCommand.cxx,\
./Source/cmGeneratorExpressionLexer.cxx,\
./Source/cmLocalVisualStudio7Generator.cxx,\
./Source/cmOrderDirectories.cxx,\
./Source/cmTarget.cxx,\
./Source/kwsys/*,\
./Source/QtDialog/CMakeSetupDialog.ui,\
./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\
./Source/CTest/cmParseCoberturaCoverage.h,\
./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\
./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\
./Tests/RunCMake/GoogleTest/xml_output.cpp,\
./Tests/RunCMake/Make/TargetMessages*,\
./Utilities/*,\
" \
-L "\
dependees,\
endwhile,\
fo,\
filetest,\
helpfull,\
nd,\
objext,\
stoll,\
supercedes,\
superceded,\
vas,\
varn,\
"
```
|
| |
| |
| |
| |
| |
| |
| | |
Apple tech note QA1806 recommends always building against the latest
SDK.
Fixes: #20949
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A simple CMakeLists.txt on osx shows that variable "d" is set
(but empty) by the system modules. this pollutes the user's
variable namespace. I noticed this when I created a library
target "d" and got unexpected policy CMP0054 warnings when
trying to find_package(d CONFIG REQUIRED) (triggered from the
generated "d-targets.cmake" ...). Note that non-"_" prefixed
internal variables are ok within functions due to scoping rules.
Fixes: #20898
|
|/ |
|
|
|
|
|
|
|
| |
The libraries in the SDK should be given precedence over the system
libraries. Check for the default library search path (in default order)
of `/usr/lib` and `/usr/local/lib` and use these as system prefix paths
for libraries when performing the link step against a specified SDK.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path
cd9c3c000f Tests: Update QtAutogen codeeditor test only include headers needed
d806bd2e8c Tests: Update test suite to run in an Anaconda environment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4773
|
| | |
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.
To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.
Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4736
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
6b3d8f281e Document which environment variables effect CMAKE_SYSTEM_PREFIX_PATH
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4748
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When crosscompiling we pass the sysroot.
We need to try various architecture flags. Clang doesn't automatically
select one that works. First try the ones that are more likely to work
for modern installations:
* <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for
future compatibility.
* <=sm_20 is removed since CUDA 9.0, try sm_30.
Otherwise fallback to Clang's current default. Currently that's `sm_20`,
the lowest it supports.
Separable compilation isn't supported yet.
Fixes: #16586
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4736
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
VS 2017 15.6 introduced support for this pragma. Older MSVC versions
warn that it is unknown.
Fixes: #20692
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
e3d3b7ddeb Android: Fix binutils selection with NDK r19+ unified toolchain
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4318
|
| | | |
| | | |
| | | |
| | | | |
Add system header files directories for cross-compilation
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix CMAKE_SHARED_LINKER_FLAGS_INIT macro
Fix executable file name for Linux to be without extension
Add system header files directory for cross-compilation
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
OS/2 16-bit and 32-bit target support files for cross-compilation by
OpenWatcom.
It is used if CMAKE_SYSTEM_NAME=OS2 is defined.
If CMAKE_SYSTEM_PROCESSOR=I86 is defined then 16-bit OS/2 target is
used, otherwise 32-bit OS/2 target is used.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
DOS 16-bit and 32-bit target support files for cross-compilation by
OpenWatcom.
It is used if CMAKE_SYSTEM_NAME=DOS is defined.
If CMAKE_SYSTEM_PROCESSOR=I86 is defined then 16-bit DOS target is used,
otherwise 32-bit DOS target is used.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
It is native Linux support for Linux host executable only (only static
library support, no shared library support).
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Restructure OpenWatcom toolchain support files to simplify adding of new
targets DOS, OS/2 and Linux including cross-compilation.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
properties LINK_OPTIONS and INTERFACE_LINK_OPTIONS are propagated
to the device link step.
To control which options are selected for normal link and device link steps,
the $<DEVICE_LINK> and $<HOST_LINK> generator expressions can be used.
Fixes: #18265
|