Commit Graph

34481 Commits

Author SHA1 Message Date
Daniele E. Domenichelli
3cfde81835 FeatureSummary: Refactor to use global properties for package types
These new global properties were added:

* FeatureSummary_PKG_TYPES: Package types accepted by FeatureSummary
  (default REQUIRED RECOMMENDED OPTIONAL RUNTIME).
* FeatureSummary_REQUIRED_PKG_TYPES: Package types that will cause
  FeatureSummary to abort when called with
  FATAL_ON_MISSING_REQUIRED_PACKAGES and a package in these categories
  is missing (default REQUIRED).
* FeatureSummary_DEFAULT_PKG_TYPE: Default package type assigned when
  not explicitly assigned by the user (default OPTIONAL).

This allows to add and remove new package types that can be printed
selectively using the "WHAT" argument.
2017-01-26 12:28:12 +01:00
Daniele E. Domenichelli
f0165eb624 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO 2017-01-26 10:52:37 +01:00
Daniele E. Domenichelli
9da7bf0825 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
This option suppresses the output when the list of packages that belong
to the selected category is empty.
2017-01-26 10:52:35 +01:00
Daniele E. Domenichelli
4cf4acebe3 FeatureSummary: Add unit tests 2017-01-26 10:52:09 +01:00
Daniele E. Domenichelli
614a97a57b FeatureSummary: Do not force OPTIONAL type in SET_PACKAGE_PROPERTIES
The OPTIONAL type is used anyway as default when the type is not set

Since RUNTIME < OPTIONAL, forcing it here forces the user to set
"RUNTIME" at the first SET_PACKAGE_PROPERTIES, otherwise it is
impossible to set it later.
Without this it is impossible, for example, to add package information
(URL and DESCRIPTION) in the FindPackage file, but allow the package
to be RUNTIME.
2017-01-26 10:50:47 +01:00
Daniele E. Domenichelli
65a0bfd83c FeatureSummary: Add deprecation warnings to deprecated commands 2017-01-26 10:50:47 +01:00
Daniele E. Domenichelli
4da3cae9ff FeatureSummary: Clean printed output
* Remove space before commas
* Do not add an empty line before the first type of packages

Also fix a typo in unit test.
2017-01-26 10:50:08 +01:00
Kitware Robot
a007f15344 CMake Nightly Date Stamp 2017-01-25 00:01:05 -05:00
Brad King
3270f763b2 Merge topic 'dl-libs-typo'
114ac7d0 Help: Fix typo in CMAKE_DL_LIBS docs
2017-01-24 14:45:37 -05:00
Brad King
c59d381065 Merge topic 'cpack-stgz-minimal-test'
624709c8 CPack/STGZ: minimalistic packages test
1c93eb68 CPack/STGZ prefer pax for extraction
2017-01-24 14:45:35 -05:00
Brad King
38bb96386c Merge topic 'android-include-api'
1ee0ffab Android: Pass sysroot include directory explicitly
1806e011 Android: Fix c++_{static,shared} support include directory order
2017-01-24 14:45:32 -05:00
Brad King
6122fc54a9 Merge topic '16253-xcode-effective-platform-name'
10c9c73d Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
2017-01-24 14:45:24 -05:00
Brad King
6c99ec5bfd Merge topic 'qtdialog-trim-new-varname'
8f1bce12 cmake-gui: trim spaces from user-created variable names
2017-01-24 14:45:22 -05:00
Brad King
0e990a01f1 Merge topic 'qt4-lupdate-cmp0058'
1c2ac0b8 Qt4: Only change timestamp on generated .pro files if content changes
2017-01-24 14:45:19 -05:00
Brad King
f6e4602fe7 Merge topic 'csproj-improvements'
4bfb1249 VS: removed usage of relative paths for C# targets in in-source builds
90cb4083 VS: improve handling of source files with special extensions in .csproj
2017-01-24 14:45:15 -05:00
Thiago Perrotta
114ac7d005 Help: Fix typo in CMAKE_DL_LIBS docs 2017-01-24 14:37:07 -05:00
Kitware Robot
269b1db914 CMake Nightly Date Stamp 2017-01-24 00:01:05 -05:00
Kitware Robot
7b4514fb33 CMake Nightly Date Stamp 2017-01-23 00:01:04 -05:00
Domen Vrankar
624709c824 CPack/STGZ: minimalistic packages test 2017-01-22 22:07:16 +01:00
Domen Vrankar
1c93eb683b CPack/STGZ prefer pax for extraction
pax is part of POSIX while tar requires
GNU extensions that are not part of some
UNIX distros
2017-01-22 22:06:59 +01:00
Kitware Robot
8ea12a8b80 CMake Nightly Date Stamp 2017-01-22 00:01:07 -05:00
Kitware Robot
ae629a0dc9 CMake Nightly Date Stamp 2017-01-21 00:01:05 -05:00
Brad King
1ee0ffab81 Android: Pass sysroot include directory explicitly
The NDK's `build/core/definitions.mk` file adds compiler flags:

    -isystem $$(call host-path,$$(SYSROOT_INC)/usr/include)

This passes the system include directory explicitly even though it is
implied by `--sysroot=`.  The explicit flag places the directory
earlier in the include path than the sysroot-default one would be.

Teach CMake to add this include directory at the end of the standard
include path for Android.  Otherwise the toolchain's `include-fixed/`
directory may replace system headers with "fixed" copies that are not
from the same API version.

Closes: #16536
2017-01-20 15:45:09 -05:00
Brad King
1806e011cb Android: Fix c++_{static,shared} support include directory order
The NDK's own build files:

    <ndk>/build/tools/build-cxx-stl.sh
    <ndk>/build/cmake/android.toolchain.cmake

for the `c++_static` and `c++_shared` build types add the
`<ndk>/sources/android/support/include` include directory
between the two `<ndk>/sources/cxx-stl/llvm-libc++*` directories.
Re-order our own include directory generation to match.

Issue: #16536
2017-01-20 15:39:27 -05:00
Gregor Jasny
10c9c73d58 Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
When building with multiple SDKs within one project Xcode requires
the usage of ${EFFECTIVE_PLATFORM_NAME} to put temporary and build
outout into separate directories. For example an iOS device and
simulator build use two different SDKs (iphoneos and iphonesimulator).

In the past cmake tries to detect embedded toolchains that could
possibly use simulators and emitted EFFECTIVE_PLATFORM_NAME (EPN)
at the proper locations. In #16253 Mark noticed that if he
uses macosx and iphoneos in combination the necessary EPN is not
emitted. This is because CMake by default assumes macosx SDK which
does not trigger EPN emission.

The fist naive approach - enabling EPN unconditionally revealed that
then the EPN leaks into generator expressions like $<TARGET_FILE:xxx>
which might be a regression and thus is unacceptable.

The next approach was to add an CMake property to enable EPN emission
unconditionally. This solved the reported problem.

But the EPN leakage also happened for the embedded toolchains already
without anyone noticing. So the control property was turned into a
tri-state one:

 * No definition: EPN is activated for embedded toolchains like before
 * ON: EPN is always emitted
 * OFF: EPN is never emitted

That approach gives the user the chance to disable EPN for embedded
toolchains and restores generator expression functionality for those.

Closes: #16253
2017-01-20 13:51:48 -05:00
Clinton Stimpson
8f1bce12d2 cmake-gui: trim spaces from user-created variable names
Fixes: #15955
2017-01-20 13:31:09 -05:00
Clinton Stimpson
1c2ac0b8ba Qt4: Only change timestamp on generated .pro files if content changes
In qt4_create_translation() use file(GENERATE ...) instead of
file(WRITE ...).  This also removes a possible CMP0058 warning
because file(GENERATE) tells the Ninja generator about the files
it provides.

Fixes: #16518
2017-01-20 13:28:48 -05:00
Brad King
6b4b8e6a60 Merge topic 'add-dl-to-lua-static-linking'
adc04afe FindLua: Add dl library to Lua static library linking
2017-01-20 11:54:41 -05:00
Brad King
d9d41d332d Merge topic 'ExternalProject-restore-case-insensitive-hash'
0ed885f7 ExternalProject: Restore case-insensitive download hash check
2017-01-20 11:54:39 -05:00
Brad King
0f891007a9 Merge topic 'case-insensitive-bindir-detection'
7f0a21a5 cmSystemTools: use the actual case for root detection
2017-01-20 11:54:37 -05:00
Brad King
395f01ef72 Merge topic 'cpack-ifw-new-installer-options'
3fc4a2b7 QtIFW: Added new options to QtIFW cpack generator for modifying wizard style
2017-01-20 11:54:34 -05:00
Brad King
910ef6d0a3 Merge topic '16165-manually-added-dependencies'
d9f836e9 Add a getter for manually added target dependencies
2017-01-20 11:54:31 -05:00
Brad King
22d240184c Merge topic 'cdash_upload_retry'
05ed82b1 ctest_submit: Update documentation for CDash upload retries
0ce7643a ctest_submit: improve handling of QUIET option
5614a5cd ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD
2017-01-20 11:54:28 -05:00
Michael Krasnyk
adc04afe34 FindLua: Add dl library to Lua static library linking
If a Lua library is compiled from source as `liblua.a` its link
dependency on `dl` must be satisfied explicitly.
2017-01-20 11:49:51 -05:00
Zack Galbreath
05ed82b1d2 ctest_submit: Update documentation for CDash upload retries 2017-01-20 11:37:27 -05:00
Zack Galbreath
0ce7643a84 ctest_submit: improve handling of QUIET option
Teach the CDASH_UPLOAD signature of ctest_submit() to more thoroughly
respect the QUIET option.
2017-01-20 11:37:27 -05:00
Zack Galbreath
5614a5cd1f ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD
Teach the CDASH_UPLOAD signature of ctest_submit() to honor the
RETRY_COUNT and RETRY_DELAY options.

Also teach HttpRequest() to honor the default 120 second timeout
for curl connections.
2017-01-20 11:37:27 -05:00
Kitware Robot
45dea920ab CMake Nightly Date Stamp 2017-01-20 00:01:04 -05:00
Kitware Robot
f5fae345e4 CMake Nightly Date Stamp 2017-01-19 00:01:05 -05:00
Ben Boeckel
7f0a21a51e cmSystemTools: use the actual case for root detection
On Windows, calling a binary installed with the default `bin` binary
directory will fail to be detected when called as `BIN\cmake.exe` due to
the string compare. Get the actual case of the path before checking that
the path ends with `CMAKE_BIN_DIR`.

Fixes #16574.
2017-01-18 10:08:40 -05:00
Michael Stürmer
4bfb1249ed VS: removed usage of relative paths for C# targets in in-source builds 2017-01-18 15:53:40 +01:00
Michael Stürmer
90cb408323 VS: improve handling of source files with special extensions in .csproj
Mainly <Link> and <DependentUpon> tags are added to connect generated
and manually edited files. Special file extensions that are take care
of are:

 - .Designer.cs
 - .xaml.cs
 - .settings
 - .resx
 - .xaml
2017-01-18 15:51:22 +01:00
Kitware Robot
fe8e00f6b9 CMake Nightly Date Stamp 2017-01-18 00:01:05 -05:00
Brad King
0ed885f742 ExternalProject: Restore case-insensitive download hash check
Refactoring in commit v3.6.0-rc1~47^2 (ExternalProject: Re-implement
download logic as a dedicated script, 2016-05-19) accidentally made the
download hash check case-sensitive.  The hash comparison is done in hex
strings, so restore case-insensitive comparison since the case of the
hex digits does not matter.

Fixes: #16568
2017-01-17 11:45:18 -05:00
Brad King
cab8f26211 Merge topic 'cmCTestBuildHandler-fix-warning'
f3864452 cmCTestBuildHandler: Fix warning in FragmentCompare signature
2017-01-17 09:05:08 -05:00
Brad King
c9e76c3e04 Merge topic 'update-kwsys'
ee77941a Merge branch 'upstream-KWSys' into update-kwsys
219c7bdc KWSys 2017-01-16 (a423d829)
2017-01-17 09:05:05 -05:00
Brad King
524c564318 Merge topic 'FindICU-include-dirs'
cdf7e5d8 FindICU: Add 'include' to the path suffixes
2017-01-17 09:05:02 -05:00
Brad King
f63096a68c Merge topic 'findhdf5-libraries-targets'
5201a306 FindHDF5: use the target rather than the path
2017-01-17 09:05:00 -05:00
Brad King
6e4eb083d6 Merge topic 'fixtureUnusedOrdering'
298b5b31 CTest: Ensure setup/cleanup ordering even when fixture not required
2017-01-17 09:04:57 -05:00
Brad King
65124233da Merge topic 'file-GLOB-empty-no-crash'
2bba0bfc file: Fix crash on GLOB with no expressions after LIST_DIRECTORIES
2017-01-17 09:04:53 -05:00