Commit Graph

7651 Commits

Author SHA1 Message Date
Robert Maynard
a3e442bbfc FindCUDA: Fix CUDA_NVCC_FLAGS_<CONFIG> for separable compilation
Since commit v3.0.0-rc6~3^2 (FindCUDA: Use CUDA_NVCC_FLAGS* for
separable compilation, 2014-05-18), using the feature for one
configuration results in empty-string ("") arguments on the command line
for other configurations.  This is because the generator expression for
a non-matching configuration evaluates to an empty string but does not
remove the argument.  Use `COMMAND_EXPAND_LISTS` to remove the empty
arguments from the custom command after genex evaluation.

Fixes: #16411
2017-06-26 14:59:05 -04:00
Brad King
751f0e0adc Merge topic 'android-unified-headers'
5d317930 Android: Fix include path for unified headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !997
2017-06-22 10:12:59 -04:00
Brad King
5d31793023 Android: Fix include path for unified headers
In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers,
2017-06-12) we accidentally constructed the unified header include
directories from the linking sysroot.  Construct them from the
compiling sysroot instead.

Fixes: #16584
2017-06-22 08:28:44 -04:00
Brad King
1ac07c71d8 Merge topic 'CheckTypeSize-arm-archs'
72ccb9f4 CheckTypeSize: Add support for arm architectures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !989
2017-06-21 08:37:17 -04:00
Douglas McKenzie
72ccb9f499 CheckTypeSize: Add support for arm architectures
This adds detection for `armv7`, `armv7s` and `arm64` when performing
type size checks on universal binaries for iOS.

Fixes: #16992
2017-06-20 10:04:05 -04:00
Brad King
8308803167 Merge topic 'FindICU-data-vars'
3566af83 FindICU: Search for packaged data files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !981
2017-06-20 09:00:32 -04:00
Brad King
c2f119310f Merge topic 'FindwxWidgets-fix-flag-parse'
a7a0bf86 FindwxWidgets: Fix parsing of cxxflags when paths contain -D or -I

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !975
2017-06-20 08:59:40 -04:00
Brad King
7d83b8010e Merge topic 'curses-form-advanced'
8b53dee2 FindCurses: mark CURSES_FORM_LIBRARY as advanced

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !978
2017-06-20 08:58:39 -04:00
Thierry Crozat
a7a0bf861a FindwxWidgets: Fix parsing of cxxflags when paths contain -D or -I
Use proper command-line parsing rather than accidentally matching
content in the middle of paths that looks like flags.

Fixes: #16986
2017-06-19 13:56:09 -04:00
Brad King
622b4dd785 Merge topic 'vs_csharp_fix_win32manifest_param'
ec7b3af7 Vs: remove /nowin32manifest from C# flags to enable default VS behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !969
2017-06-19 11:27:30 -04:00
Brad King
7c369ebf03 Merge topic 'FindHDF5-parallel-from-wrapper'
8b9d8c4d FindHDF5: Fix parallel detection when primary compiler is an HDF5 wrapper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !974
2017-06-19 11:27:10 -04:00
Roger Leigh
3566af83f9 FindICU: Search for packaged data files
The files Makefile.inc and pkgdata.inc are installed by ICU to
<libdir>/icu and on some distributions to <libdir>/<arch>/icu.
These are required by ICU tools like pkgdata, and so are needed
by other package build systems at build time, in addition to the
libraries and executables already searched for.

Search for the files and create cache entries for them, as done
for executables.
2017-06-17 23:07:44 +01:00
Daniel Pfeifer
8b53dee296 FindCurses: mark CURSES_FORM_LIBRARY as advanced 2017-06-17 15:13:50 +02:00
Chuck Atkins
8b9d8c4ddc FindHDF5: Fix parallel detection when primary compiler is an HDF5 wrapper
This is covering a different use case where your primary compilers are
HDF5 wrappers, as is the case when using the Cray Programming
Environment. The existing code tries to query the compiler using options
only available to h5cc and friends, which doesn't work when your wrapper
is not h5cc, as is the case with the CrayPE. This change instead pulls
strings out of a test binary when testing for "is your regular compiler
an HDF5 wrapper" while the "query wrapper for options" is reserved for
the "I found the hdf5 wrappers but they're not your main compiler" mode.
2017-06-16 11:40:02 -04:00
Michael Stürmer
ec7b3af7e7 Vs: remove /nowin32manifest from C# flags to enable default VS behavior
if /nowin32manifest is specified, it will be preferred over any occurring
/win32manifest:<file> parameter

Fixes: #16969, #16970
2017-06-16 09:33:06 +02:00
Brad King
aa944c88e3 Check*CompilerFlag: Rewrite documentation of these modules
Format with modern markup.  Clarify that the setting of
`CMAKE_REQUIRED_DEFINITIONS` is temporary.  Add a note warning
about contamination of the checks by `CMAKE_<LANG>_FLAGS`.

Issue: #16973
2017-06-15 13:49:35 -04:00
Brad King
2afc4bf608 Merge topic 'UseSWIG-avoid-dllimport-repeat'
76a0286b UseSWIG: Add `-dllimport` only if not already specified

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !958
2017-06-15 10:20:08 -04:00
Brad King
d3b981ab3e Merge topic 'ipo-per-lang'
ba247cca IPO: Consider support for each language separately

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !964
2017-06-15 10:05:02 -04:00
Brad King
ba247ccaba IPO: Consider support for each language separately
We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
Fortran languages.  Do not try to enable support for other languages.
Furthermore, each language builds with a different compiler, so check
for support by CMake and the compiler for each language independently.

Fixes: #16944
2017-06-14 10:36:57 -04:00
Robert Langlois
76a0286b1d UseSWIG: Add -dllimport only if not already specified
SWIG fails with a redefined macro error when `-dllimport` is specified
more than once.  One case where you would want to specify your own
dllimport is when using SWIG with netstandard2.0.  .NET Core does not
search for shared library like Mono or .NET, so you need a fully
qualified shared library name.
2017-06-13 18:07:32 -07:00
Brad King
9203aff851 Merge topic 'android-unified-headers'
3d00be13 Android: Add support for unified headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !956
2017-06-13 09:27:17 -04:00
Brad King
5f704d992d Merge topic 'doc-pkgconfig-list'
70a6cb70 FindPkgConfig: mention that variables will be ;-lists
6610fdbe FindPkgConfig: fix confusing indentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !957
2017-06-13 09:20:34 -04:00
Brad King
087b8ccda9 Merge topic 'cuda-dlink-no-deprecated-gpu'
7368ade2 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !951
2017-06-13 09:18:19 -04:00
Brad King
fb99b0b87b Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9 2017-06-13 09:17:06 -04:00
Robert Maynard
7368ade250 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings
The CUDA compiler automatic deprecation warnings are pure noise when
doing device linking, and should be suppressed to reduce the amount of
confusion from users.
2017-06-13 09:15:19 -04:00
Brad King
70ec0f2ad1 Merge branch 'doc-pkgconfig-list' into release-3.9 2017-06-12 16:24:50 -04:00
Rolf Eike Beer
70a6cb70f6 FindPkgConfig: mention that variables will be ;-lists 2017-06-12 22:03:20 +02:00
Rolf Eike Beer
6610fdbed2 FindPkgConfig: fix confusing indentation 2017-06-12 22:03:20 +02:00
Brad King
3d00be13ee Android: Add support for unified headers
The unified headers are preferred as of NDK r15, so use them by default
if available and provide an option to use the deprecated headers.

Inspired-by: Florent Castelli <florent.castelli@gmail.com>
Fixes: #16584
2017-06-12 11:47:30 -04:00
Brad King
f6ed92280c Merge topic 'android-standalone-no-sysroot-include'
22f8a465 Android: Do not pass sysroot include for standalone toolchain

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !952
2017-06-12 10:23:22 -04:00
Brad King
637ff39d45 Merge topic 'android-standalone-unified-api-level'
5f93bf78 Android: Detect API version of standalone toolchain with unified headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !950
2017-06-12 10:23:06 -04:00
Brad King
0cb8730c0b Merge topic 'cpack-freebsd-pkg'
2042cae9 CPack-FreeBSD: add a generator for FreeBSD pkg(8)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !693
2017-06-12 10:21:42 -04:00
Adriaan de Groot
2042cae9a5 CPack-FreeBSD: add a generator for FreeBSD pkg(8)
Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look
for FreeBSD's libpkg / pkg(8). If this is set and the libpkg
headers and library are found (which they will be, by default,
on any FreeBSD system), then add a FreeBSD pkg(8) generator.

The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two
metadata files embedded (+MANIFEST and +COMPACT_MANIFEST).
This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_*
variables for filling in the metadata; the Debian generator does
something similar. Documentation for the CPack CMake-script is styled
after the Debian generator.

Implementation notes:
 - Checks for libpkg -- the underlying implementation for pkg(8) --
   and includes FreeBSD package-generation if building CMake on
   a UNIX host. Since libpkg can be used on BSDs, Linux and OSX,
   this potentially adds one more packaging format. In practice,
   this will only happen on FreeBSD and DragonflyBSD.
 - Copy-paste from cmCPackArchiveGenerator to special-case
   the metadata generation and to run around the internal
   archive generation: use libpkg instead.
 - Generating the metadata files is a little contrived.
 - Most of the validation logic for package settings is in
   CPackFreeBSD.cmake, as well as the code that tries to re-use
   packaging settings that may already be set up for Debian.
 - libpkg has its own notion of output filename, so we have
   another contrived bit of code that munges the output file
   list so that CPack can find the output.
 - Stick with C++98.
2017-06-10 07:53:59 -04:00
Brad King
a131316a95 Merge branch 'android-standalone-no-sysroot-include' into release-3.9 2017-06-09 16:42:13 -04:00
Brad King
22f8a465d7 Android: Do not pass sysroot include for standalone toolchain
The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include
directory explicitly, 2017-01-20) does not make sense when compiling
with a standalone toolchain which is tied to a single API version.
Drop the explicit include directory so that the compiler uses its
default system include order.

Fixes: #16954
2017-06-09 16:28:32 -04:00
Brad King
f83d3e3f2c Merge branch 'android-standalone-unified-api-level' into release-3.9 2017-06-09 14:20:09 -04:00
Brad King
5f93bf787d Android: Detect API version of standalone toolchain with unified headers
A standalone toolchain with unified headers keeps the `__ANDROID_API__`
macro in the `bin/clang` launcher instead of in `api-level.h`.

Issue: #16954
2017-06-09 14:19:52 -04:00
Brad King
fcbecbd2af FindHTMLHelp: Use PATH_SUFFIXES to search under Program Files
The find commands already know how to search in variants of the
Program Files folders on Windows.  Use PATH_SUFFIXES to tell them
under what directory within Program Files to find htmlhelp.

Fixes: #16950
2017-06-09 11:13:32 -04:00
Brad King
20df0bcd70 Merge topic 'sdcc-simplify-link-flags'
a0436a2f SDCC: Remove superfluous whitespace from link line
dcf559d0 SDCC: Do not explicitly ask linker to generate Intel Hex files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !942
2017-06-09 10:34:42 -04:00
Brad King
522c92d752 FindDoxygen: Create imported targets at most once in a given scope
The imported targets added by commit v3.9.0-rc1~55^2 (Improve Doxygen
support, 2017-04-10) need to be guarded against duplicate creation on
multiple inclusion.
2017-06-09 10:03:26 -04:00
Reto Schneider
a0436a2f61 SDCC: Remove superfluous whitespace from link line 2017-06-08 13:19:49 -04:00
Reto Schneider
dcf559d060 SDCC: Do not explicitly ask linker to generate Intel Hex files
The `--out-fmt-ihx` option added by commit v2.6.0~1253 (...use
--out-fmt-ihx to enforce .ihx files, 2007-08-15) may interfere with
options requested by the user.  Also, when no linker output is
specified, SDCC outputs Intel Hex by default anyway.
2017-06-08 13:18:28 -04:00
Konstantin Podsvirov
893ee1b17c FindDoxygen: Restore DOXYGEN_DOT_FOUND variable
The changes in commit v3.9.0-rc1~55^2 (Improve Doxygen support,
2017-04-10) accidentally dropped this variable from its compatibility
mode.
2017-06-07 12:51:06 -04:00
Brad King
2d3d88f3bb Merge topic 'GoogleTest-disabled-tests'
92bbb706 GoogleTest: Add support for disabled tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !920
2017-06-05 10:16:39 -04:00
Chuck Atkins
92bbb70695 GoogleTest: Add support for disabled tests
Fixes: #10612
2017-06-05 10:11:08 -04:00
Brad King
860db083ca Merge topic 'add-common-record-features-macros'
3c1ecb52 Intel: Fix missing C std default for 12.0 <= ver < 12.1
f70b0bb3 SunPro: Make sure all known versions get CXX98 defaults
220ede74 GNU: Fix language defaults for 3.4
a40e6ba8 Clang: Fix language defaults for 2.1
9b112a84 Compilers: Port to use default cmake_record_lang_compile_features macros
37221529 MSVC: Add empty definitions for std compile options
e556f1b9 CompileFeatures: Makes tests work with meta-feature only
20ffa147 Tests: Allow test macro to take no executable arguments
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !833
2017-06-01 13:40:47 -04:00
Chuck Atkins
3c1ecb5214 Intel: Fix missing C std default for 12.0 <= ver < 12.1 2017-05-31 13:09:49 -04:00
Chuck Atkins
f70b0bb365 SunPro: Make sure all known versions get CXX98 defaults 2017-05-31 13:09:42 -04:00
Silvio Traversaro
78841f27e3 FindGSL: recognize libraries name with debug postfix as debug libraries
This modification is necessary if the GSL libraries are installed
in an installation layout without Release and Debug subdirectories,
for example when installed by vcpkg .
2017-05-31 15:01:49 +02:00
Chuck Atkins
220ede74ff GNU: Fix language defaults for 3.4 2017-05-30 09:35:06 -04:00