4907 Commits

Author SHA1 Message Date
Brad King
8772fc81c4 Merge topic 'ipo-policy-CMP0069'
dfa8263f Implement interprocedural optimization for GNU compilers
1588a577 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
a7575700 Refactoring: s,GetFeatureAsBool,IsIPOEnabled,
e05835c3 CheckIPOSupported: Visual Studio and Xcode generators do not support IPO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
Merge-request: !568
2017-03-31 10:38:08 -04:00
Gregor Jasny
d1dac1acc5 Xcode: Execute RunCMake.Framework also for Xcode generator 2017-03-30 22:24:54 +02:00
Gregor Jasny
d02709d7f7 Genex: Add TARGET_BUNDLE_[CONTENT_]_DIR generator expressions
Closes #16733
2017-03-30 22:24:54 +02:00
Ruslan Baratov
1588a577d1 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
Previously the `INTERPROCEDURAL_OPTIMIZATION` target property was
honored only for the Intel compiler on Linux and otherwise ignored.  In
order to add support for more compilers incrementally without changing
behavior in the future, add a new policy whose NEW behavior enforces the
`INTERPROCEDURAL_OPTIMIZATION` property.  Add flags for supported
compilers and otherwise produce an error.
2017-03-30 14:56:46 -04:00
Ruslan Baratov
e05835c35b CheckIPOSupported: Visual Studio and Xcode generators do not support IPO 2017-03-30 10:16:10 -04:00
Brad King
1cc918a770 Merge topic 'ctest-disable-tests'
b070947d Add 'DISABLED' test property
42c68aad CTest: Improve 'Completion Status' reported to CDash for 'Not Run' tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !571
2017-03-30 09:01:06 -04:00
Brad King
d66081b546 Merge topic 'iwyu'
48cfb295 cmFortranParser: remove unnecessary typedef
90bb5f64 cmCommandArgumentParserHelper: remove unnecessary include
ab5f4e81 cmFortranParserImpl: remove unnecessary include
f8ed8bef testEncoding: use cmsys::ifstream
8647c6cd testEncoding: include <cmsys/ConsoleBuf.hxx> on Windows only
21a6ed49 cmFileCommand: add <cm_curl.h> include
a2275bdd cmFileCommand: remove unnecessary friend declaration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !626
2017-03-30 08:58:26 -04:00
Brad King
2f359787f6 Merge topic 'cmake-file-install-symlink-on-nonexistng-path'
8e8f1118 handle non-existing symlink creation locations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !642
2017-03-30 08:57:07 -04:00
Brad King
7bb8b38cce Merge topic '16742-swift-3.0'
77139e32 Swift: Simplify mixed test case to make it version agnostic
c03141c0 Swift: Default to Swift 3.0 with Xcode 8.3 and later

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !638
2017-03-30 08:52:37 -04:00
Daniel Pfeifer
f8ed8bef84 testEncoding: use cmsys::ifstream 2017-03-29 18:48:47 +02:00
Daniel Pfeifer
8647c6cd68 testEncoding: include <cmsys/ConsoleBuf.hxx> on Windows only 2017-03-29 18:48:47 +02:00
Brad King
6ca509e7c6 Merge branch '16742-swift-3.0' into release 2017-03-29 10:40:59 -04:00
Betsy McPhail
b070947dff Add 'DISABLED' test property
When this property is set, the test is skipped and its status is
automatically set to 'Not Run'.  A disabled test will not be counted in
the total number of tests and its completion status will be 'Disabled'.
2017-03-29 10:29:57 -04:00
Gregor Jasny
77139e320c Swift: Simplify mixed test case to make it version agnostic
Issue: #16742
2017-03-29 15:36:05 +02:00
Domen Vrankar
8e8f1118b9 handle non-existing symlink creation locations 2017-03-29 00:22:52 +02:00
Gregor Jasny
c03141c04c Swift: Default to Swift 3.0 with Xcode 8.3 and later
Xcode 8.3 has dropped support for Swift 2.3 so that compiler and
feature detection failed.

Closes #16742
2017-03-28 16:06:29 -04:00
Brad King
89e2c92f54 Merge topic 'cpack-rpm-debuginfo-honor-package-filename'
f237f5f8 CPack/RPM: support for debuginfo package renaming
6c09c5d6 CPack/RPM honor package file name on debuginfo enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !620
2017-03-27 09:13:31 -04:00
Brad King
42b7d132a8 Merge topic 'cpack-rpm-tests-handle-build-id-links'
4ba065b2 CPack/RPM tests: handle build-id links

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !628
2017-03-27 09:09:42 -04:00
Domen Vrankar
4ba065b22b CPack/RPM tests: handle build-id links
Build id links generation was introduced
in rpm 4.13.0.1 so files related to them
should be ignored as they are not relevant
for the tests.

Fixes #16710
2017-03-27 09:08:24 -04:00
Brad King
bb27f72d67 Merge topic 'InstallRequiredSystemLibraries-test-openmp'
70d8f0d0 Tests: Activate InstallRequiredSystemLibraries OpenMP libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !623
2017-03-27 09:01:29 -04:00
Domen Vrankar
f237f5f851 CPack/RPM: support for debuginfo package renaming 2017-03-25 15:25:55 +01:00
Domen Vrankar
6c09c5d64c CPack/RPM honor package file name on debuginfo enabled
Packages with debuginfo enabled should
still honor defined package file name
if file name is not set to RPM-DEFAULT.

Fixes #16715
2017-03-24 19:52:02 +01:00
Brad King
70d8f0d0f4 Tests: Activate InstallRequiredSystemLibraries OpenMP libs
The SimpleInstall test performs a smoke test of this module.
Activate the OpenMP code paths.
2017-03-24 10:40:58 -04:00
Brad King
5bded841b4 Merge topic '16680-ios-bundle-resources'
b5189fda Apple: Add test for bundle resource layout
c51c2cfa Apple: Fix Resources location for all generators
060be58c Xcode: Properly handle Bundle Resources with more than one hierarchy level
484ccb0c Xcode: Properly handle non-resource Bundle files on iOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !613
2017-03-24 08:32:41 -04:00
Brad King
0f4420e0a8 Merge topic 'autogen_rcc_test'
35e8a6de Autogen: Tests: More rigorous rcc rebuild tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !618
2017-03-24 08:32:24 -04:00
Brad King
0fe705a2c3 Merge topic 'make_sure_cuda_tests_run'
d40fc885 CUDA: ObjectLibrary test executable now runs on OSX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !615
2017-03-24 08:20:08 -04:00
Gregor Jasny
ede8db109c RunCMake: Ignore xcodebuild bug warnings in tests
Encountered on OS X 10.4 with old Xcode:

  Expected stderr to match:

   expect-err> ^$

  Actual stderr:

   actual-err> Hit xcodebuild bug : ... bad interpreter: Text file busy
2017-03-24 08:15:16 -04:00
Sebastian Holtermann
35e8a6de86 Autogen: Tests: More rigorous rcc rebuild tests
Closes: #16103
2017-03-23 16:51:34 +01:00
Gregor Jasny
b5189fda24 Apple: Add test for bundle resource layout
Closes: #16680
2017-03-23 16:43:55 +01:00
Robert Maynard
d40fc8856d CUDA: ObjectLibrary test executable now runs on OSX 2017-03-23 09:44:30 -04:00
Brad King
5d2f30f5ac Merge topic '14335-duplicate-else'
edac95b9 cmIfCommand: Reject duplicate else() and misplaced elseif()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !594
2017-03-22 09:24:49 -04:00
Brad King
56c39d8836 Merge topic 'add-CheckIPOSupported-module'
6c832674 Tests for 'CheckIPOSupported' module
fdb2ba25 CheckIPOSupported: New module to check for compiler/cmake IPO support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !558
2017-03-22 08:51:59 -04:00
Brad King
989484d51f Merge topic 'module-def-and-WINDOWS_EXPORT_ALL_SYMBOLS'
075f6454 Support WINDOWS_EXPORT_ALL_SYMBOLS with `.def` files
21c4ec4f cmGlobalVisualStudioGenerator: Simplify __create_def command generation
24361a45 bindexplib: Add support for parsing and integrating `.def` files
845c4824 bindexplib: Add method for parsing and integrating `.def` files
4f90e793 bindexplib: Revise coding style of CMake-specific methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !581
2017-03-22 08:49:09 -04:00
Gregor Jasny
edac95b955 cmIfCommand: Reject duplicate else() and misplaced elseif()
Closes: #14335
2017-03-22 08:42:35 -04:00
Ruslan Baratov
6c8326749f Tests for 'CheckIPOSupported' module 2017-03-21 22:38:53 +08:00
Brad King
075f645409 Support WINDOWS_EXPORT_ALL_SYMBOLS with .def files
The `WINDOWS_EXPORT_ALL_SYMBOLS` target property exports all symbols
found in object files explicitly given to the linker.  However, the
linker may also find additional symbols in dependencies and copy them
into the linked binary (e.g. from `msvcrt.lib`).  Provide a way to
export an explicit list of such symbols by adding a `.def` file as a
source file.

Fixes: #16473
2017-03-21 10:02:34 -04:00
Brad King
01bdc2cc43 Merge topic 'geh-visibility-flag'
9eb05b48 GenerateExportHeader: always fill in _EXPORT macros

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !36
2017-03-20 11:52:06 -04:00
Ben Boeckel
9eb05b48cd GenerateExportHeader: always fill in _EXPORT macros
The `_EXPORT` and `_NO_EXPORT` macros should always be made properly
because the `<LANG>_VISIBILITY_PRESET` properties are controlled
independently of this module.

One case where this breaks compatibility is where a project was setting
`USE_COMPILER_HIDDEN_VISIBILITY=OFF` and then marking a symbol used
outside of the library with `_NO_EXPORT` which is a contridiction.
2017-03-16 15:11:03 -04:00
Domen Vrankar
598400a3e7 CPack/RPM: handle extra slashes
Extra slashes in some locations can
cause errors during package generation
and can also be present in generated
rpm packages causing issues for the
package user.

Closes #16619
2017-03-13 23:22:55 +01:00
Brad King
2591e89c14 Merge topic 'x32-abi-tests'
7a2de256 Tests: Fix CMakeOnly.find_library test logic for libx32 case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !573
2017-03-13 09:00:52 -04:00
Brad King
3806e186d1 Merge topic 'BundleUtilities-elf-rpath'
10fcef02 BundleUtilities: Fix bundle verification on Unix by considering rpaths.
ac0786cb BundleUtilities: Teach `get_item_rpaths` to parse ELF binaries
a52faa1f file: Add READ_ELF command to parse ELF binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !551
2017-03-13 08:59:59 -04:00
Brad King
22908e4be8 Merge topic 'xcode-test-schema-generation'
3fd9f4ab Xcode: Add test for schema generation
cf13e495 Xcode: Control schema generation via variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !577
2017-03-13 08:58:50 -04:00
Brad King
b46fa35824 Merge topic 'cuda-vs'
65481a60 CUDA: Work around VS limitation in CudaOnly.WithDefs test
8cae24a1 VS: Add more CUDA flag table entries
6ca4f222 VS: Add support for the CUDA_SEPARABLE_COMPILATION property
94255511 VS: Select CUDA code generation architectures
253594d0 VS: Select the CUDA runtime library
4def02a3 VS: Place CUDA host compiler options in proper project file fields
29f07b08 VS: Do not pass CUDA compile options to C compiler
b966f489 VS: Do not use absolute paths to CUDA sources
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !566
2017-03-13 08:57:57 -04:00
Gregor Jasny
3fd9f4ab05 Xcode: Add test for schema generation
Closes: #15441
2017-03-12 21:27:53 +01:00
Christian Schmidbauer
7a2de256c4 Tests: Fix CMakeOnly.find_library test logic for libx32 case
Teach `test_find_library_subst` how to convert `libx32` to `lib`
so that the test case actually covers what we intend it to.
2017-03-10 15:50:25 -05:00
Florian Apolloner
a52faa1fcb file: Add READ_ELF command to parse ELF binaries
Leave it undocumented for now because we intend to use it internally and
it cannot be made available everywhere.
2017-03-10 10:54:53 -05:00
Brad King
65481a60a0 CUDA: Work around VS limitation in CudaOnly.WithDefs test
CUDA 8.0 MSBuild rules do not pass `-x cu` to nvcc and so cannot support
a custom file extension.  Fix our test for this to use a `.cu` extension
instead.
2017-03-10 10:19:58 -05:00
Brad King
5164e9a651 VS: Provide an option to specify CUDA toolset version
The NVIDIA CUDA Toolkit provides MSBuild toolset files for integration
with Visual Studio.  Multiple versions may be installed so we need a way
to tell our VS generators which CUDA toolset to use.  Extend the
`CMAKE_GENERATOR_TOOLSET` specification to provide a `cuda=...` field
specifying the version number.
2017-03-10 10:19:53 -05:00
Brad King
6b586e2c13 Merge topic 'test-CPackComponents-fix-NSIS-root'
ae0f7dfa Tests: Fix CPackComponents NSIS install root

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !569
2017-03-10 08:40:38 -05:00
Brad King
c4f9d10426 Merge topic 'master'
d9bdcf34 Tests: Add x32 tests to test suite
5b6d354f Help: Add notes for topic 'x32-abi'
bed9c73d Modules: Add x32-abi support to hard-coded paths
462cf254 Add support for x32-abi

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !532
2017-03-09 11:08:11 -05:00