Commit Graph

4699 Commits

Author SHA1 Message Date
Brad King
f3e8a89a9b Merge topic 'install_name_policy'
1ba91291 Add policy CMP0068 separate install_name and RPATH settings on macOS
f7b9bf41 Apple: Add BUILD_WITH_INSTALL_NAME_DIR target property
4bff2d14 Apple: Refactor support for using INSTALL_NAME_DIR.
624fb9d7 Help: Format BUILD_WITH_INSTALL_RPATH documentation
2017-02-17 08:46:14 -05:00
Brad King
160083b04d Merge topic 'vs-refactor-toolset-parsing'
f773933f VS: Refactor generator toolset parsing
d9e2b9a9 Tests: Split out RunCMake.GeneratorToolset Xcode checks
2017-02-16 13:15:49 -05:00
Brad King
d1530cc9a5 Merge topic 'cuda-msvc-flags'
55fb46d2 CUDA: Fix default compiler flags on Windows
d7c80f60 CUDA: Fix test cases to not override CUDA flags
2017-02-16 13:15:35 -05:00
Brad King
d7c80f6036 CUDA: Fix test cases to not override CUDA flags
Append to `CMAKE_CUDA_FLAGS` instead of overwriting it.
2017-02-15 11:12:09 -05:00
Brad King
e853dfed6a Merge topic 'cuda-with-c'
1c60231c CUDA: Link to standard system libraries when linking as CUDA
8d75d8dc Tests: Add case for CUDA with C but not C++
2017-02-15 08:24:05 -05:00
Brad King
f773933f26 VS: Refactor generator toolset parsing
We parse `CMAKE_GENERATOR_TOOLSET` values of the forms:

* `toolset`
* `toolset,host=x64`
* `host=x64`

Generalize the parsing to support the forms:

* `toolset`
* `toolset[,key=value]*`
* `key=value[,key=value]*`

Disallow duplicate keys.  Require all but the first field to
be of `key=value` form.
2017-02-15 08:15:37 -05:00
Brad King
d9e2b9a909 Tests: Split out RunCMake.GeneratorToolset Xcode checks
This will allow the behavior of VS and Xcode generators to differ.
2017-02-15 08:15:00 -05:00
Clinton Stimpson
1ba91291e3 Add policy CMP0068 separate install_name and RPATH settings on macOS
BUILD_WITH_INSTALL_RPATH, SKIP_BUILD_RPATH, CMAKE_SKIP_RPATH and
CMAKE_SKIP_INSTALL_RPATH no longer any effect on the install name
of a target on macOS.

Fixes: #16589
2017-02-14 14:28:07 -07:00
Brad King
1c60231ca5 CUDA: Link to standard system libraries when linking as CUDA
On Windows with MSVC-like host compilers we must honor the standard
libraries chosen by the `Platform/Windows-MSVC` module.  Otherwise C
code linked into the CUDA binary that expects to have these libraries
available may not link.
2017-02-14 10:34:15 -05:00
Brad King
8d75d8dc72 Tests: Add case for CUDA with C but not C++
An executable using CUDA and C should link as CUDA.
2017-02-14 10:34:06 -05:00
Brad King
33a65941fa Tests: Run clang-format on CUDA code 2017-02-14 10:21:48 -05:00
Brad King
fa5188d0ed Merge branch 'backport-clang-format-cuda' into clang-format-cuda 2017-02-14 10:21:22 -05:00
Brad King
c4a6135039 Tests: Run clang-format on CUDA code 2017-02-14 10:20:50 -05:00
Brad King
592e3d2f96 clang-format.bash: Format CUDA source files too
Add `.clang-format` configuration files for Cuda test directories that
use `Standard: Cpp11`.  Otherwise clang-format splits the triple angle
brackets used for CUDA kernels.
2017-02-14 10:20:23 -05:00
Brad King
b7d8d80a62 Merge topic 'cmake_provide_include_dir_for_toolkit'
44f3acb2 CUDA: Detect the toolkit include directories
2017-02-14 08:30:30 -05:00
Robert Maynard
44f3acb202 CUDA: Detect the toolkit include directories
The `nvcc -v` output provides what include directories need to be added
to use the CUDA toolkit from other languages ( C/C++ ).
2017-02-10 16:08:06 -05:00
Pierre Moreau
166b339387 Tests/Cuda: Select a CUDA device supporting compute 3.0 2017-02-10 13:47:05 -05:00
Pierre Moreau
cbe4d5957b Tests/Cuda: Return a non-zero code if errors occurred 2017-02-10 13:46:42 -05:00
Pierre Moreau
8731701cb6 Tests/Cuda: Use memory allocated on the GPU in the kernels 2017-02-10 13:46:08 -05:00
Pierre Moreau
0ae5386aa9 Tests/Cuda: Add missing separable compilation property
This resulted in `mixed_kernel()` returning an "invalid device function"
at runtime for `file1_func()`.

Suggested-by: Robert Maynard
2017-02-10 13:46:08 -05:00
Pierre Moreau
ce19607fed Tests/Cuda: Fix missing CUDA static library at runtime on macOS
Suggested-by: Robert Maynard
2017-02-10 13:46:07 -05:00
Pierre Moreau
008ed80dcf Tests/Cuda: Output error messages to std::cerr instead of std::cout 2017-02-10 13:46:07 -05:00
Pierre Moreau
c0d7bb8368 Tests/Cuda: Print asynchronous error messages, if any
As kernel launches are asynchronous, a `cudaGetLastError()` right after
the kernel launch might be executed while the kernel is still running.
Synchronizing the device will ensure that all the work is completed
before progressing further on, and allows to catch errors that were
previously missed.
The `cudaGetLastError()` after the `cudaDeviceSynchronize()` is there
to reset the error variable to `cudaSuccess`.
2017-02-10 13:46:07 -05:00
Pierre Moreau
21a125cdbf Tests/Cuda: Print error message if mixed_kernel failed 2017-02-10 13:46:06 -05:00
Pierre Moreau
eebb2be8b0 Tests/Cuda: Add identifiers to error messages 2017-02-10 13:46:06 -05:00
Pierre Moreau
84f3c87b03 Tests/Cuda: Print error message if an error occurred
Fixes c59811a2 "CUDA: Tests now state why they are failing when no CUDA card is found."
2017-02-10 13:46:06 -05:00
Brad King
ee3295e917 Merge topic 'vs-nasm'
5ba2c9e5 VS: Add support for ASM_NASM language
2017-02-10 13:36:18 -05:00
Brad King
14c771530a Tests: Fix file:// URLs given to curl
Since upstream curl commit curl-7_52_0~131 (URL-parser: for
file://[host]/ URLs, the [host] must be localhost, 2016-11-11) we can no
longer use URLs of the form `file://c:/...` on Windows.  These worked
only accidentally before.  Use `file:///c:/...` instead.
2017-02-10 13:10:07 -05:00
Evgeny Fimochkin
5ba2c9e5e0 VS: Add support for ASM_NASM language
Fixes: #16469
2017-02-07 13:20:52 -05:00
Brad King
9bd017d20e Merge topic 'determine_id_without_user_specified_flags'
72ed051b CMakeDetermineCompilerId: check with and without user-specified flags
2017-02-07 09:59:47 -05:00
Daniele E. Domenichelli
6f62c66b2c FeatureSummary: Add FeatureSummary_<TYPE>_DESCRIPTION global properties
The global property FeatureSummary_<TYPE>_DESCRIPTION can be defined for
each type to replace the type name with the specified string whenever
the package type is used in an output string.
2017-02-06 14:44:24 -05:00
Daniele E. Domenichelli
f9bc8cfeeb FeatureSummary: Add DEFAULT_DESCRIPTION option to feature_summary
If enabled and only one package type is selected, it will print the
default title for the selected package type.
2017-02-06 14:44:23 -05:00
Michael Maltese
72ed051b12 CMakeDetermineCompilerId: check with and without user-specified flags
Clang may raise an error when passed a `-march=` option that doesn't
correspond to the current target triple.  CMake cannot pass the target
triple when determining the compiler id because it doesn't know how yet,
but it does pass along user-specified flags.  This breaks when those
user-specified flags include `-march=`.  Fix this use case by also
trying to find the compiler id without the user-specified flags.

Fixes: #16587
2017-02-06 13:12:06 -05:00
Zack Galbreath
8a5cb84b0e AndroidTestUtilities: do not require ExternalData unconditionally
Attempting to use AndroidTestUtilities to simply install some local
files on device can result in the following error:

    Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set

We no longer require these ExternalData-specific variables to be set if
no such remote data files are requested.

Fixes: #16529
2017-02-04 08:16:24 -05:00
Rolf Eike Beer
940bf6a4a4 Tests/Module/WCDH: only use -Werror=undef compiler flag if actually supported 2017-02-02 18:28:56 +01:00
Rolf Eike Beer
f26ca5a195 Tests/Module/WCDH: write multi_file_compiler_detection.h before using it
This was broken in commit 98e6d1e5e4
(Tests/Module/WCDH: make it work with only C features defined) when all C tests
were made accessible even if no C++ features are available, but the header was
only created if C++ features are available. Fix it by creating the header
unconditionally before any checks on the available features.
2017-02-02 18:25:28 +01:00
Brad King
6f2e2c74ba Merge topic 'WCDH_allow_unsupported'
1679fecb CompileFeatures Test: make sure the target "CompileFeatures" is always defined
98e6d1e5 Tests/Module/WCDH: make it work with only C features defined
c8703e9d WCDH: optionally omit error code for unknown compilers or compiler versions
0de9c398 WCDH: add macro to write simple replacement defines
2017-02-01 09:21:44 -05:00
Brad King
6ec0c09a7a Merge topic 'topic-reproducible-build'
5181f1f8 Tests: make tests pass with SOURCE_DATE_EPOCH set
2017-01-31 09:04:21 -05:00
Brad King
f012a95836 Merge topic '16432-static-frameworks'
071f8e78 Apple: Add support for static frameworks
d525754e Xcode: Refactor RunCMake.Framework test to prepare for static frameworks
45405f00 Xcode: Ignore Xcode project warning until issue is fixed
50e1c105 Makefile: For static libraries remove only the "real" lib before creating
8643ca75 Makefile: Re-order list of files to clean
2017-01-31 09:04:16 -05:00
Gregor Jasny
071f8e78dd Apple: Add support for static frameworks
Closes: #16432
2017-01-31 08:59:15 -05:00
Rolf Eike Beer
1679fecb74 CompileFeatures Test: make sure the target "CompileFeatures" is always defined
Everything in there guards against unsupported compilers already, so no need to
skip the whole file if no features are defined. This in turn allows to have a
simpler fallback in case there is no C++ auto_type feature available.
2017-01-30 19:19:44 +01:00
Rolf Eike Beer
98e6d1e5e4 Tests/Module/WCDH: make it work with only C features defined 2017-01-30 19:19:44 +01:00
Rolf Eike Beer
c8703e9d7b WCDH: optionally omit error code for unknown compilers or compiler versions
This allows one to generate a header that will basically always work. In case
an unknown compiler or compiler version is encountered it simply falls back to
the unsupported case.
2017-01-30 19:19:44 +01:00
Bernhard M. Wiedemann
5181f1f86a Tests: make tests pass with SOURCE_DATE_EPOCH set
Fix tests to account for commit 243aed52 (cmTimestamp: Support
SOURCE_DATE_EPOCH to override current time, 2017-01-25).

In openSUSE we are running the test-suite as part of the build and that
failed in these two places when building everything with
`SOURCE_DATE_EPOCH` set.
2017-01-30 09:25:44 -05:00
Brad King
8df12fc9d4 Merge topic 'FeatureSummary_enhancement'
560574b0 FeatureSummary: Update release notes
3cfde818 FeatureSummary: Refactor to use global properties for package types
f0165eb6 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO
9da7bf08 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
4cf4aceb FeatureSummary: Add unit tests
614a97a5 FeatureSummary: Do not force OPTIONAL type in SET_PACKAGE_PROPERTIES
65a0bfd8 FeatureSummary: Add deprecation warnings to deprecated commands
4da3cae9 FeatureSummary: Clean printed output
2017-01-30 08:43:23 -05:00
Brad King
5c6c766da1 Merge topic 'timestamp-percent'
6c54f7b3 string: Teach TIMESTAMP to treat %% as %
2017-01-30 08:43:21 -05:00
Brad King
e6659f6323 Merge topic 'test-preprocess-configs'
f01045ea Tests: Make Preprocess test work in RelWithDebInfo and MinSizeRel
2017-01-30 08:43:17 -05:00
Bernhard M. Wiedemann
6c54f7b365 string: Teach TIMESTAMP to treat %% as %
This encoding is documented by `strptime`.
2017-01-27 09:25:37 -05:00
Gilles Khouzam
f01045ea36 Tests: Make Preprocess test work in RelWithDebInfo and MinSizeRel 2017-01-27 09:09:15 -05:00
Brad King
325c615308 Merge topic 'genex-if'
895f7f16 Genex: Add `IF` generator expression
2017-01-27 09:04:58 -05:00