Commit Graph

36362 Commits

Author SHA1 Message Date
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
Kitware Robot
c3868cf90c CMake Nightly Date Stamp 2017-06-10 00:01:10 -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
414438b2fb CUDA: Add option to run the compiler through launcher tools
Add a `CUDA_COMPILER_LAUNCHER` target property like those added for C
and CXX by commit v3.4.0-rc1~450^2 (Add options to launch the compiler
through tools like ccache or distcc, 2015-06-04).

Fixes: #16953
2017-06-09 12:34:39 -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
3d1c3e0dcf Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-06-09 (a700e2ab)
2017-06-09 11:03:34 -04:00
KWSys Upstream
a32758782c KWSys 2017-06-09 (a700e2ab)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit a700e2ab06e2741e4955a1aa120293bf78b8fcac (master).

Upstream Shortlog
-----------------

Brad King (1):
      7e04a3d2 SystemTools: Remove RemoveEmptyPathElements method
2017-06-09 11:03:33 -04:00
Brad King
82be694c7a file(GENERATE): Add policy CMP0070 to define relative path behavior
Previously `file(GENERATE)` did not define any behavior for relative
paths given to the `OUTPUT` or `INPUT` arguments.  Define behavior
consistent with CMake conventions and add a policy to provide
compatibility for projects that relied on the old accidental behavior.

Fixes: #16786
2017-06-09 10:38:43 -04:00
Brad King
591557ba45 Merge topic 'file-generate-path-cleanup'
c41a7c7d file: Normalize GENERATE command input and output file paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !940
2017-06-09 10:36:30 -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
b90330f574 Merge topic 'qt-pass-point-by-value'
994beddb CMakeSetupDialog: Pass QPoint by value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !946
2017-06-09 10:34:06 -04:00
Brad King
7e6e37fdf1 Merge topic 'no-return-void-expression'
5b02bcf6 QtDialog/FirstConfigure: remove 'return' from void expression
2d1c05c1 cmGlobalGenerator: remove 'return' from void expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !941
2017-06-09 10:33:47 -04:00
Brad King
d4d24c30f0 Merge topic 'cpack-destructor-overrides'
62eec34c Add CM_OVERRIDE to CPack generator destructors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !939
2017-06-09 10:33:18 -04:00
Brad King
9dd1d351fe Merge branch 'release-3.9' 2017-06-09 10:09:22 -04:00
Brad King
7150082aa8 Merge topic 'bootstrap-cleanup'
83784ed1 bootstrap: remove leftover empty variable dereference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !944
2017-06-09 10:08:26 -04:00
Brad King
c8a866b8c4 Merge topic 'FindDoxygen-imported-target-once'
522c92d7 FindDoxygen: Create imported targets at most once in a given scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !945
2017-06-09 10:07:16 -04:00
Brad King
ae22079808 Merge branch 'FindDoxygen-imported-target-once' into release-3.9 2017-06-09 10:04:13 -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
Brad King
55d752b108 Merge topic 'improve-msvc-feature-checks'
f44d9bcc C++ feature checks: Improve exclusion of "0 Warning(s)"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !938
2017-06-09 10:00:57 -04:00
Kitware Robot
51e1e23cf4 CMake Nightly Date Stamp 2017-06-09 00:01:04 -04:00
Daniel Pfeifer
994beddb93 CMakeSetupDialog: Pass QPoint by value 2017-06-08 22:15:21 +02:00
Rolf Eike Beer
83784ed18b bootstrap: remove leftover empty variable dereference
This was missed in 9c0d1e7531 when the for loop
that used this as loop variable was removed.
2017-06-08 21:19:25 +02:00
Brad King
69050f4d16 Tests: Use full output paths in file(GENERATE) calls
We don't define behavior for relative paths to the OUTPUT argument.
Fix our tests to use full paths.
2017-06-08 13:31:33 -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
Brad King
c41a7c7d90 file: Normalize GENERATE command input and output file paths
Normalize absolute paths so that no extra components like `../` or
`...//...` appear that later confuse relative path computation.
In particular, we expect paths sent to AddCMakeDependFile and
AddCMakeOutputFile to be normalized.

Do this only for paths that are already absolute because
we can't handle relative paths yet (see #16786).

Fixes: #16892
2017-06-08 10:41:28 -04:00
Daniel Pfeifer
5b02bcf682 QtDialog/FirstConfigure: remove 'return' from void expression 2017-06-08 16:40:57 +02:00
Daniel Pfeifer
2d1c05c166 cmGlobalGenerator: remove 'return' from void expression 2017-06-08 16:40:11 +02:00
Brad King
62eec34c29 Add CM_OVERRIDE to CPack generator destructors 2017-06-08 09:38:07 -04:00
Brad King
cab94b7c4f Merge topic 'bootstrap-cleanup'
9c0d1e75 bootstrap: implement cmake_extract_standard_flags() without loop
567bac89 bootstrap: use "grep -q" instead of output redirection
380bd70c bootstrap: implement cmake_toupper() using tr
e61979a7 bootstrap: don't use 'cat x | sed', let sed open the file instead

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !937
2017-06-08 09:25:52 -04:00
Brad King
43dae64597 Merge branch 'improve-msvc-feature-checks' into release-3.9 2017-06-08 09:23:05 -04:00
Brad King
f44d9bcc8f C++ feature checks: Improve exclusion of "0 Warning(s)"
Simply matching "0 Warning" may match "10 Warning(s)".  Instead remove
the entire `    0 Warning(s)` content from the MSBuild output before
searching it for warnings.

Issue: #16942
2017-06-08 09:22:09 -04:00
Brad King
2a83bffdb9 Merge topic 'suppress-false-positive-warning'
488ffbef CTestCustom: Suppress warning matched on source file name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !934
2017-06-08 08:56:03 -04:00
Kitware Robot
bf06d72f39 CMake Nightly Date Stamp 2017-06-08 00:01:06 -04:00
Brad King
f203669bcc Merge branch 'release-3.9' 2017-06-07 14:31:54 -04:00
Rolf Eike Beer
9c0d1e7531 bootstrap: implement cmake_extract_standard_flags() without loop
Pass all files to sed at once, and don't even change the directory for this.
2017-06-07 19:52:40 +02:00
Rolf Eike Beer
567bac890c bootstrap: use "grep -q" instead of output redirection 2017-06-07 19:52:40 +02:00
Rolf Eike Beer
380bd70cc2 bootstrap: implement cmake_toupper() using tr 2017-06-07 19:52:40 +02:00
Rolf Eike Beer
e61979a71c bootstrap: don't use 'cat x | sed', let sed open the file instead 2017-06-07 19:52:40 +02:00
Brad King
b6e35578b6 Merge branch 'release-3.9' 2017-06-07 13:26:44 -04:00
Brad King
b8b8f0c0fd Merge topic 'FindDoxygen-compat'
893ee1b1 FindDoxygen: Restore DOXYGEN_DOT_FOUND variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !935
2017-06-07 13:25:21 -04:00
Brad King
010b50fda7 CMake 3.9.0-rc2 2017-06-07 13:05:16 -04:00
Brad King
1c6d03729a Merge branch 'FindDoxygen-compat' into release-3.9 2017-06-07 12:54:57 -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
c8a8687bcb Merge topic 'revert-FindGTest-main-debug'
ab2954c4 Revert "FindGTest: Add gtestd_main variant of debug library"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !936
2017-06-07 12:42:04 -04:00
Brad King
bc5a252a7b Merge branch 'revert-FindGTest-main-debug' into release-3.9 2017-06-07 12:39:57 -04:00
Brad King
ab2954c471 Revert "FindGTest: Add gtestd_main variant of debug library"
The reported variant turned out to be due to a local configuration
problem.

Issue: #16940
2017-06-07 12:38:25 -04:00