Commit Graph

4578 Commits

Author SHA1 Message Date
Brad King b5c7835e27 Merge topic 'cuda_tests_now_explain_why_they_fail'
c59811a2 CUDA: Tests now state why they are failing when no CUDA card is found.
2016-12-16 08:26:20 -05:00
Brad King 4a06479874 Merge topic 'csharp_support_compiler_detection'
5c6c0344 C# support: add compiler detection for MSVC
2016-12-16 08:26:06 -05:00
Robert Maynard c59811a233 CUDA: Tests now state why they are failing when no CUDA card is found. 2016-12-15 15:57:01 -05:00
Michael Stürmer 5c6c0344d3 C# support: add compiler detection for MSVC 2016-12-15 09:16:30 -05:00
Robert Maynard 1371eec4c3 try_compile: extend CMP0067 to honor language standards for CUDA. 2016-12-12 14:39:32 -05:00
Brad King c1a5507917 CUDA: Fix Cuda.Complex test case extern function signatures
Make the return types of the extern function declared in `main.cpp`
match those in the method implementations.
2016-12-09 14:19:22 -05:00
Brad King a0d64ecf8b Merge topic 'try_compile-lang-std'
f72ba42b try_compile: Add policy CMP0067 to honor language standards
45aa03b9 try_compile: Add options to specify language standards
3bb2051e try_compile: Stop processing when test build system fails to generate
2016-12-07 09:22:22 -05:00
Sebastian Holtermann c2211703d3 QtAutogen: Tests: Don't use std::auto_ptr 2016-12-07 08:24:06 -05:00
Sebastian Holtermann 2da0875f3a QtAutogen: Tests: Update ui_ include lookup directory 2016-12-07 08:24:06 -05:00
Sebastian Holtermann 5961db4143 QtAutogen: Tests: Increase minimum required CMake version 2016-12-07 08:24:05 -05:00
Sebastian Holtermann 6d0a8af368 QtAutogen: Tests: Don't use std::auto_ptr 2016-12-07 08:24:05 -05:00
Sebastian Holtermann 6731025211 QtAutogen: Tests: Don't include CMAKE_CURRENT_BINARY_DIR 2016-12-07 08:24:05 -05:00
Brad King 0f37cd228e Merge topic 'FindOpenGL-imported-targets'
027ce359 FindOpenGL: Provide imported targets for GL and GLU
2016-12-06 09:26:25 -05:00
Brad King f72ba42b7c try_compile: Add policy CMP0067 to honor language standards
Projects use `try_compile` to check if they will be able to compile some
particular source code.  When a language standard variable like
`CMAKE_CXX_STANDARD` is set, then the project intends to compile source
code using a compiler mode for that standard.  Therefore it makes sense
for `try_compile` to use that standard in the test project too.

Unfortunately this was not done when support for the
`CMAKE_CXX_STANDARD` variable was first implemented.  Add a policy to
introduce the improved behavior in a compatible way.

Closes: #16456
2016-12-06 08:58:42 -05:00
Brad King 45aa03b97a try_compile: Add options to specify language standards
Give `try_compile` callers a way to control the `CXX_STANDARD`,
`CXX_STANDARD_REQUIRED`, and `CXX_EXTENSIONS` properties of the
generated test target (or the `C` equivalents) in order to compile a
test source for a particular language standard.

Issue: #16456
2016-12-06 08:58:41 -05:00
Brad King 41f1125931 Merge topic 'features-c++17'
97c1e569 Help: Add release note for C++ 17 support
85c8e652 Features: Activate C++ 17 support for AppleClang 6.1+
8084f7a6 Features: Activate C++ 17 support for Clang 3.5+
24e29d41 Features: Activate C++ 17 support for GNU 5.1+
ae1a6815 Features: Add infrastructure for C++ 17 language standard
684e4d20 Features: Make feature recording conditions more consistent
2016-12-05 10:56:32 -05:00
Harry Mallon a5a6f61be3 CPackRPM now supports multiple directives in CPACK_RPM_USER_FILELIST
* In older version "%dir %attr(-, root, root) foo" would put "%dir foo"
  in the final spec file.
* Also added comment to describe this and advise not not to add trailing
  slashes to directories in USER_FILELIST.
* Includes test in RunCMake CPack which now passes.
2016-12-03 20:39:05 +01:00
Brad King 027ce359ff FindOpenGL: Provide imported targets for GL and GLU
Create OpenGL::GL and OpenGL::GLU imported targets using the locations
found.

This feature was originally added by commit v3.1.0-rc1~420^2~2
(FindOpenGL: Provide imported targets for GL and GLU, 2014-05-31) but
had to be reverted by commit v3.1.0-rc3~10^2 (FindOpenGL: Revert support
for imported targets, 2014-12-01) due to issue #15267.  Since then we
added support for `IMPORTED_LIBNAME` to interface libraries, so use it
to handle the case where we have only the library name without an
absolute path.

Inspired-by: Philipp Möller <bootsarehax@googlemail.com>
Closes: #15267
2016-12-02 15:11:49 -05:00
Brad King ae1a6815b6 Features: Add infrastructure for C++ 17 language standard
Issue: #16468
2016-12-02 11:22:46 -05:00
Brad King f7425c2177 Merge topic 'execute_process-encoding'
2ed473b3 execute_process: Add ENCODING option for Windows child process output
2016-12-02 09:54:09 -05:00
Michael Stürmer 163e801809 VS: Add target property VS_DEBUGGER_WORKING_DIRECTORY 2016-11-30 11:45:11 -05:00
Dāvis Mosāns 2ed473b3b8 execute_process: Add ENCODING option for Windows child process output
Different applications can use different output encodings.
2016-11-30 09:06:51 -05:00
Brad King 29b37dd975 Merge topic 'msbuild-customization'
e3909918 VS: Add option to customize vcxproj user props file
2016-11-30 08:37:37 -05:00
Brad King 8cdf566bc0 Merge topic 'QtAutogen_tests_update_v2'
6938772a QtAutogen tests: Pass Qt compiler features to library targets
c4d4becf QtAutogen tests: Move the complex test case to a subdirectory
2599f5d6 QtAutogen tests: Extend test description in CMakeLists.txt
7052af9d QtAutogen tests: Move independent sameName test to top list of CMakeLists.txt
d675004d QtAutogen tests: Rename uiconly target to camel case uicOnly
cb4bc19a QtAutogen tests: Rename rcc_empty target to camel case rccEmpty
59dbd3f8 QtAutogen tests: Rename rcconly target to camel case rccOnly.
2016-11-30 08:37:26 -05:00
Daniel Pfeifer 1afbe7d2cc Make error message of standalone endwhile command consistent
with the error messages of endforeach, endmacro, endfunction, etc.
2016-11-29 13:53:29 -05:00
Sebastian Holtermann 6938772a11 QtAutogen tests: Pass Qt compiler features to library targets 2016-11-29 18:46:39 +01:00
Sebastian Holtermann c4d4becf8b QtAutogen tests: Move the complex test case to a subdirectory 2016-11-29 17:16:33 +01:00
Sebastian Holtermann 2599f5d64b QtAutogen tests: Extend test description in CMakeLists.txt 2016-11-29 17:16:33 +01:00
Sebastian Holtermann 7052af9d4a QtAutogen tests: Move independent sameName test to top list of CMakeLists.txt 2016-11-29 17:16:33 +01:00
Sebastian Holtermann d675004dba QtAutogen tests: Rename uiconly target to camel case uicOnly
Also move uicOnly sources to dedicated uicOnlySource directory.
2016-11-29 17:16:33 +01:00
Sebastian Holtermann cb4bc19ae1 QtAutogen tests: Rename rcc_empty target to camel case rccEmpty 2016-11-29 17:16:33 +01:00
Sebastian Holtermann 59dbd3f891 QtAutogen tests: Rename rcconly target to camel case rccOnly.
Also add dedicated rccOnlyRes.qrc file for the rccOnly target.
2016-11-29 17:16:33 +01:00
Michael Stürmer e390991846 VS: Add option to customize vcxproj user props file
Add a `VS_USER_PROPS_CXX` target property to set the user props file of
the generated `.vcxproj` file to be something other than the default
`$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props`.
2016-11-29 09:31:30 -05:00
Brad King 839cd16396 Merge topic 'vs-default-build-package'
9e3164df VS: Add option to place `PACKAGE` target in solution default build
2016-11-29 08:59:11 -05:00
Brad King 2f7bafd6da Merge topic 'try_compile-honor-CMAKE_WARN_DEPRECATED'
6d604c49 try_compile: Honor CMAKE_WARN_DEPRECATED in test project
2016-11-29 08:59:07 -05:00
Brad King 4838ca14df Merge topic 'initial_cuda_language_support'
4cc601f2 Help: Add release note for CUDA support
7b9131da CUDA: Add tests to verify CUDA compiler works properly.
9cf5b98d CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX.
a5e806b3 CUDA: Add support for CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY
d038559e CUDA: Add separable compilation support to the makefile generator.
43ce4414 CUDA: Add separable compilation support to the ninja generator.
4b316097 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property
ae05fcc6 CUDA: Add LinkLineComputer that computes cuda dlink lines.
115269a8 CUDA: Refactor cmLinkLineComputer to allow for better derived children.
5dec4031 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation.
5b20d0ab CUDA: C++ compile features now enable cuda c++11 support.
489c52ce CUDA: Use the host compiler for linking CUDA executables and shared libs.
bbaf2434 CUDA: add support for specifying an explicit host compiler.
a92f8d96 CUDA: Enable header dependency scanning.
ec6ce623 CUDA: State that cuda has preprocessor output and can generate assembly.
4f5155f6 CUDA: We now properly perform CUDA compiler identification.
...
2016-11-29 08:59:03 -05:00
Michael Stürmer 9e3164dfa2 VS: Add option to place PACKAGE target in solution default build
Add a `CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD` variable to control
this behavior.
2016-11-29 08:46:27 -05:00
Brad King 4093bd4025 Merge topic 'include-what-you-use'
d0c14dfb avoid including cmStandardIncludes.h
66a70999 iwyu: Fix VisualStudio specific issues
7b4244ac iwyu: Fix more findings
aeff60e4 iwyu: Fix OSX specific issues
2016-11-28 14:24:07 -05:00
Brad King 56c5c8e17a Merge topic 'cpack-tests-framework-updates'
50c3ebb9 Tests: CPack test documentation facelift
a8a47098 Tests: CPack/DEB test change prerequirements check
48456535 Tests: source CPack tests don't require build stage
d040d164 Tests: CPack test set packaging type
2cc479bd Tests: remove generator prefix from CPack test name
181e9bb6 Tests: CPack test long_filenames prerequirements
b687d2ba Tests: CPack test use same content list
ed8858ed Tests: CPack test unify expected file naming
8575affa Tests: CPack test move and merge VerifyResult
79443e1b Tests: CPack test move per test prerequirements
6d51bea4 Tests: CPack test merge generator specifics
0f15aee7 Tests: CPack test move ExpectedFiles script
a0ad6fc4 Tests: CPack test should always check test output
46b6a25a Tests: CPack test move std error files to test files
53a69c7d Tests: CPack move tests to separate dir
70b52a71 Tests: CPack test should use default package name
...
2016-11-28 14:23:29 -05:00
Brad King 8a975efc94 Merge topic '16449-revert-xcode-system-includes'
543dcb0a Revert "Xcode: Obey SYSTEM keyword for includes (#15687)"
2016-11-28 14:23:21 -05:00
Daniel Pfeifer 7b4244aceb iwyu: Fix more findings 2016-11-28 14:06:40 -05:00
Gregor Jasny 543dcb0ada Revert "Xcode: Obey SYSTEM keyword for includes (#15687)"
Revert commit v3.7.0-rc1~266^2 (Xcode: Obey SYSTEM keyword for includes,
2015-08-31).  It worked for C, C++, and Swift but not for GNU Assembly
files for which Xcode has no property to set flags.

Closes: #16449
2016-11-28 13:42:46 -05:00
Domen Vrankar 50c3ebb903 Tests: CPack test documentation facelift 2016-11-27 23:20:35 +01:00
Domen Vrankar a8a4709808 Tests: CPack/DEB test change prerequirements check
Prerequirements should be searched for in
generator prerequirements function and only
checked for presence in configure file in
per test prerequirements function.
2016-11-27 23:20:35 +01:00
Domen Vrankar 48456535f3 Tests: source CPack tests don't require build stage 2016-11-27 23:20:35 +01:00
Domen Vrankar d040d1647d Tests: CPack test set packaging type
CPack tests can now define one or more
packaging types and that test will be
executed once per generator per packaging
type. This also enables us to set default
values per packaging type for each generator
which makes tests shorter.
2016-11-27 23:20:35 +01:00
Domen Vrankar 2cc479bdac Tests: remove generator prefix from CPack test name 2016-11-27 23:20:35 +01:00
Domen Vrankar 181e9bb612 Tests: CPack test long_filenames prerequirements
Fakeroot executable is already searched
for in DEB packager tests prerequirements
so the test prerequirement just has to
check that it is present in config file
and not search for it once more.
2016-11-27 23:20:35 +01:00
Domen Vrankar b687d2ba09 Tests: CPack test use same content list
Content list for a certain test
should be the same between different
generators so whenever possible use
a single expected files list per
file for all generators.
2016-11-27 23:20:35 +01:00
Domen Vrankar ed8858edb7 Tests: CPack test unify expected file naming
Each generator generates its own file
format with different extensions but
they all create those file names by
a certain pattern and all of them
require the same pieces for that pattern
to work. Now we can only provide pieces
once and and each generator will use those
pieces to generate an expected file name.
2016-11-27 23:20:35 +01:00