Commit Graph

10911 Commits

Author SHA1 Message Date
Brad King bdd0e28782 Merge topic 'FindMatlab-r2020b'
4d292aecb6 FindMatlab: add R2020b => 9.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5233
2020-09-18 08:41:08 -04:00
Brad King 5e53b58c4a Merge topic 'finddoxygen-permission-denied'
818c6948da FindDoxygen: build the generated file contents using temporary strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5230
2020-09-17 09:46:42 -04:00
Brad King 4be10a328a Merge topic 'findlibxml2_add_names'
fa258f175d FindLibXml2 : added libxml2_a to find_library()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5232
2020-09-17 09:45:50 -04:00
Brad King 56c80c8c6d Merge topic 'system-includes-for-clang-on-windows'
bb61c2d024 Clang: use -imsvc for system include dirs when running on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Thomas Bernard <thomas@famillebernardgouriou.fr>
Merge-request: !5231
2020-09-17 09:44:55 -04:00
Michael Hirsch 4d292aecb6 FindMatlab: add R2020b => 9.9 2020-09-17 08:58:21 -04:00
Olivier LIESS fa258f175d FindLibXml2 : added libxml2_a to find_library()
This should match the default static library name defined by LibXml2 Makefile.msvc
2020-09-16 21:41:45 +02:00
Ronald Hiemstra 818c6948da FindDoxygen: build the generated file contents using temporary strings
Incrementally writing to a file, could result in write (permission
denied) errors.  Those errors are probably due to file-monitoring
processes having a temporary lock on a generated file.  The implemented
solution builds the content of the generated file as string and in the
end the built string is written to the generated file.

Fixes: #21190
2020-09-16 13:48:04 -04:00
Brad King 62c4c3c7f4 Merge topic 'flexiblas'
68349ae214 Find{BLAS,LAPACK}: Add support for FlexiBLAS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5225
2020-09-16 13:13:49 -04:00
Brad King 360d469395 Merge topic 'CMAKE_LINKER_points_to_lld_link_for_msvc_with_clang_gnu_interface'
013270ef09 Clang: Detect lld-link when using gnu front end with msvc target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5193
2020-09-16 13:12:44 -04:00
Andrew Fuller bb61c2d024 Clang: use -imsvc for system include dirs when running on Windows
Fixes #17808
2020-09-16 10:06:46 -07:00
Brad King b7590b8845 Merge topic 'ExternalProject-steps-refinement'
b4fc4da903 ExternalProject: Add policy CMP0114 to refine step target dependencies
f5791e24c6 Tests: Match RunCMake.ExternalProject NO_DEPENDS output more strictly
b637ef494c ExternalProject: Factor out an internal helper to add a step target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5215
2020-09-15 14:38:45 -04:00
Brad King 2d661d9ddd Merge topic 'cuda_clang_scattered_cross'
2c0d5d01ee CUDA: Support scattered installations when crosscompiling with Clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5222
2020-09-15 07:56:25 -04:00
Thomas Bernard 013270ef09 Clang: Detect lld-link when using gnu front end with msvc target
Fixes: #21137
2020-09-14 22:00:17 +02:00
Mattias Ellert 68349ae214 Find{BLAS,LAPACK}: Add support for FlexiBLAS
http://www.mpi-magdeburg.mpg.de/mpcsc/software/FlexiBLAS/
2020-09-14 21:40:33 +02:00
Brad King b4fc4da903 ExternalProject: Add policy CMP0114 to refine step target dependencies
`ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have
some limitations and lack some sanity checks.  They can cause confusing
build systems to be generated.  The basic problems are:

* The notion of step independence is attached to the step target
  rather than the step itself.

* The custom commands implementing the steps are duplicated in the
  step targets and the primary targets.  This can cause races.
  It is also incompatible with the Xcode "new build system".

Fix this by introducing policy CMP0114 to change the way step target
dependencies are handled.  Define independence from external
dependencies as a property of each individual step regardless of whether
there is a target for it.  Add dependencies among the primary target and
the step targets such that each custom command only appears in one
target.  When some steps are disconnected from the primary target, add
step targets for the steps commonly depended upon so that there is a
place to hold their custom commands uniquely.

Fixes: #18663
2020-09-14 10:48:16 -04:00
Kyle Edwards b8fd97735b Merge topic 'findpython-docs-fixes'
b564ced24f FindPython: fix typo in Python_LIBRARY_DIRS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5220
2020-09-14 10:23:46 -04:00
Brad King ce7e615fe8 Merge topic 'add_COMPILER_TARGET_for_all_clang_variants_on_windows'
cf83758b24 Clang: Implement CMAKE_${LANG}_COMPILER_TARGET for all variants on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5192
2020-09-14 10:20:50 -04:00
Raul Tambre 2c0d5d01ee CUDA: Support scattered installations when crosscompiling with Clang
Previously when CMAKE_CROSSCOMPILING was ON we'd end up not setting the target
directory if the non-scattered one didn't exist.
Fix this by assuming a scattered installation if the target directory isn't set
after the crosscompiling logic.
2020-09-14 14:40:32 +03:00
Philipp Storz b564ced24f FindPython: fix typo in Python_LIBRARY_DIRS
Fixes the wrong spelling of Python_LIBRARY_DIRS as
"Python_LIBRAY_DIRS" which exists in
  - FindPython
  - FindPython2
  - FindPython3
2020-09-11 20:35:34 +02:00
Thomas Bernard cf83758b24 Clang: Implement CMAKE_${LANG}_COMPILER_TARGET for all variants on windows
Fixes: #21097
2020-09-11 09:05:03 -04:00
Brad King 907a3de1c4 Merge topic 'ispc_window_failures'
bf88a94d88 ISPC: CompilerLauncher tests work properly with x86 builds
8de145cae1 ISPC: DynamicLibrary test now passes on windows.
a83521e082 ISPC: Use the `obj` file extension for objects on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5213
2020-09-11 08:31:13 -04:00
Brad King 8924b60f8d Merge topic 'armclang-fixes'
3d1ed986e2 ARMClang: Fix link line generation after addition of armlink support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Osama Moharam <osama.moharam.uw@renesas.com>
Merge-request: !5211
2020-09-11 08:30:33 -04:00
Brad King b637ef494c ExternalProject: Factor out an internal helper to add a step target 2020-09-10 18:14:23 -04:00
Marc Chevrier 3d1ed986e2 ARMClang: Fix link line generation after addition of armlink support
Revise logic added by commit 73fb6ac82b (ARMClang: Add support for
armlink, 2020-06-02, v3.18.0-rc1~27^2).

Fixes: #21154
2020-09-10 16:33:14 -04:00
Brad King 48ed3bae58 Merge topic 'pch-instantiate-templates'
8c8f03422e PCH: Template instantiation support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Tested-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5168
2020-09-10 16:32:39 -04:00
Robert Maynard a83521e082 ISPC: Use the obj file extension for objects on windows 2020-09-10 16:15:55 -04:00
Brad King 802584f0c2 Merge topic 'ios-pch-x-lang-header' into release-3.18
8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5188
2020-09-09 11:23:34 -04:00
Brad King 6d77487eb7 Merge topic 'ios-pch-x-lang-header'
8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5188
2020-09-09 11:23:34 -04:00
Brad King 8ec7edf563 Merge topic 'ExternalData-doc-typo'
1ad991a13e Help: correct typo in ExternalData (duplicate "of")

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5196
2020-09-08 15:45:41 -04:00
Brad King d0ccc7cf2a Merge topic 'ispc_improvements'
a020787a9b ISPC: Support generation for multiple instruction sets
5a1750017e ISPC: Add compiler launcher support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5173
2020-09-08 11:19:28 -04:00
Brad King df226895f5 Merge topic 'FindPython-set-CMP0012-NEW'
0670797d71 FindPython: CMP0012 must be set to NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5198
2020-09-08 11:13:49 -04:00
Marc Chevrier 0670797d71 FindPython: CMP0012 must be set to NEW
Fixes: #21168
2020-09-07 18:19:30 +02:00
Joachim Wuttke (o) 1ad991a13e Help: correct typo in ExternalData (duplicate "of") 2020-09-07 14:27:01 +02:00
Cristian Adam 8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header
Fixes: #21163
2020-09-04 19:23:17 +02:00
Robert Maynard 5a1750017e ISPC: Add compiler launcher support 2020-09-03 11:46:11 -04:00
Brad King 7658d5c52d Merge topic 'FindPython-include-dir-ABI-checks'
6fdfe2428d FindPython: enhance ABI checks against include directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5181
2020-09-03 08:46:36 -04:00
Marc Chevrier 6fdfe2428d FindPython: enhance ABI checks against include directory
Fixes: #21149
2020-09-02 15:41:16 +02:00
Tobias Hieta 8c8f03422e PCH: Template instantiation support
Adds PCH_INSTANTIATE_TEMPLATES target property for enabling template
instantiation in precompiled headers.
Enabled by default. Currently only supported for Clang 11 and newer.

Implements #21133.
2020-09-02 08:30:55 +02:00
Hugues Kamba fa7ba5fbf5 ARMClang: Pass defines to assembler
This is useful when the assembly file(s) is passed to
the pre-processor.
2020-09-01 18:03:49 +01:00
Brad King 2d723e66f1 Merge topic 'cuda_host_compiler_fail'
01428c5560 CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work during detection
9f81aa0f69 CUDA: Fail if compiler detection using the host compiler fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5155
2020-09-01 09:20:23 -04:00
Brad King f10682b796 Merge topic 'ispc_lang_support'
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
2020-09-01 09:15:39 -04:00
Brad King ec0d621e36 Merge topic 'UseSWIG-interface-option'
d264685bee UseSWIG: Update option -interface usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5172
2020-09-01 09:08:06 -04:00
Brad King fc0dfd41eb Merge topic 'llvm_rc_preprocessing_for_all_windows_clang_variants'
0ccd256787 llvm-rc: Enable preprocessing for all Windows usage variants
7e72fe2ec9 llvm-rc: Refactor the preprocessing logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5163
2020-08-31 12:54:50 -04:00
Marc Chevrier d264685bee UseSWIG: Update option -interface usage
Option -interface must not be used if multiple SWIG files are part
of the same library.

Fixes: #21134
2020-08-31 12:33:57 +02:00
Raul Tambre 01428c5560 CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work during detection
Also re-ordered the code to avoid testing flags for other compilers, since
we know the vendor before full detection.
2020-08-29 13:06:45 +03:00
Raul Tambre 9f81aa0f69 CUDA: Fail if compiler detection using the host compiler fails
If an user specified a host compiler we should fail if we are unable to perform
compiler detection with it.
Previously we would try without and likely succeed and continue. Then we'd fail
during ABI detection and compiler testing since we'd still try to use it.

This is particularly problematic when crosscompiling since we extract the host
linker from the compiler detection link line. This would result in the wrong
host linker being used and a linking error due to architecture mismatch during
ABI detection where other necessary flags may already be present to make the
host compiler work. See #21076 for an example.

Fix this by adding CMAKE_<LANG>_COMPILER_ID_REQUIRE_SUCCESS to
CMakeDetermineCompilerId, which throws a fatal error if executing the compiler
results in a non-zero exit code.

Fixes #21120.
2020-08-29 13:06:44 +03:00
Robert Maynard 2368f46ba4 ISPC: Support building with the MSVC toolchain 2020-08-28 11:21:31 -04:00
Robert Maynard e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds 2020-08-28 11:21:31 -04:00
Robert Maynard 34cc6acc81 Add ISPC compiler support to CMake 2020-08-28 11:21:31 -04:00
Thomas Bernard 0ccd256787 llvm-rc: Enable preprocessing for all Windows usage variants
Fixes: #21096
2020-08-27 12:25:59 -04:00