Commit Graph

4977 Commits

Author SHA1 Message Date
Brad King 09498984b1 Merge topic 'UseSWIG-NO_SONAME'
f26147b8 UseSWIG: Enable NO_SONAME on swig modules (#14815)
2014-04-01 11:06:06 -04:00
Daniele E. Domenichelli f2128d4c28 ExternalProject: Improve handling of git remote branches
ExternalProject handles git remote branches by commit hash. Due to
this, the git repository ends in detached states, and local commits
are discarded.

Use "git rebase" for remote branches instead of "git checkout".  If
there are uncommitted changes, use "git stash save/pop" to save changes
and restore them after the rebase.  If any of these operations fails,
try to restore the original status and exit with a fatal error, asking
the user to resolve the conflicts manually.

This also makes the behaviour of ExternalProject using git more similar
to the svn version, and probably more likely to what the user expects
by setting GIT_TAG to a branch.
2014-04-01 10:51:58 -04:00
Daniele E. Domenichelli ff2451dc24 ExternalProject: Strip trailing space from git hash 2014-04-01 10:51:53 -04:00
Julien Schueller f26147b871 UseSWIG: Enable NO_SONAME on swig modules (#14815)
Swig modules are plugins and do not need the SONAME field set.
2014-04-01 10:48:13 -04:00
Jack Morrison 2e2939c365 FindGTest: Teach GTEST_ADD_TESTS about TEST_P
Previously the GTEST_ADD_TESTS function would miss parameterized tests
because it only considered TEST and TEST_F.  Add TEST_P to the list of
considered tests and will run all instantiations of this parameterized
test together.

This is perhaps not as correct as searching for all instantiations of
this parameterized test and separating those into separate runs, but
this will at least run tests that were previously missing.

For reference: https://code.google.com/p/googletest/wiki/Documentation
2014-04-01 09:48:20 -04:00
Clinton Stimpson 83934757c9 Find*: Make find_package(.. QUIET) affect Check* modules.
Fixes issues #14812 and #14813 where find_package(OpenMP QUIET) and
find_package(Qt4 QUIET) would still print out messages when calling
check*() functions.

Also a partial fix for  #14445 where building CMake
(without cmake-gui) when Qt5 is installed and Qt4 is not installed
and warnings come out of FindQt4.cmake.
2014-03-29 20:22:54 -06:00
Clinton Stimpson 4c0cc9ab91 Check*.cmake : Add CMAKE_REQUIRED_QUIET flag.
Setting this flag can silence messages from the Check*.cmake modules.
This can be used by Find*.cmake modules when they are in silent mode.
2014-03-29 20:14:23 -06:00
Rolf Eike Beer c3e238dd53 ProcessorCount: use mpsched on HPUX if machinfo is not present
Co-Author: Gerhard Grimm <gerhard.grimm@detec.com>
2014-03-28 18:02:49 +01:00
Jiri Malak 423009c17f Makefile: Generate single-quoted object lists for Watcom
Drop the CMAKE_NO_QUOTED_OBJECTS internal variable from the Makefile
generators.  The underlying problem is with the Watcom linker, not with
WMake.  The Watcom linker wants object files to be single-quoted.  Add
<LINK-RULE>_USE_WATCOM_QUOTE platform information variables to tell the
generators to use Watcom-style single quotes for object files on link
lines.

On Windows, Watcom uses the GetCommandLine API to get the original
command-line string and do custom parsing that expects single quotes.
On POSIX systems, Watcom approximates the original command line by
joining all argv[] entries separated by a single space.  Therefore we
need to double-quote the single-quoted arguments so that the shell does
not consume them and they are available for the parser to see.
2014-03-27 13:45:29 -04:00
Brad King e8451d6426 Merge topic 'threads-cleanup'
693f8bf3 FindThreads: simplify checking for SunOS
858ce31f FindThreads: avoid useless checks if a thread library is already found
fdf7bd27 FindThreads: replace MATCHES with STREQUAL
2014-03-27 11:12:08 -04:00
Brad King 6ae3fbfeda Merge topic 'dev/find-boost-graph_parallel'
f284b003 FindBoost: Search next to MPI libs for graph_parallel (#14832)
2014-03-26 13:24:45 -04:00
Brad King 098a39f21c Merge topic 'simplify-empty-LDFLAGS'
1b18f442 Avoid trailing space in CMAKE_*_LINKER_FLAGS when LDFLAGS is empty
2014-03-26 13:24:42 -04:00
Brad King 2cb8417584 Merge topic 'FindPkgConfig-stop-on-missing'
63a4c0af FindPkgConfig: Stop processing when REQUIRED package not found (#14381)
2014-03-26 13:24:40 -04:00
Brad King 06c9f55449 Merge topic 'haiku-updates'
0cc42b87 Haiku: Fix compiler detection when using distcc
84603d80 Haiku: Enable CMake builtin ELF editor
2014-03-26 13:24:36 -04:00
Brad King ab07d383a9 Merge topic 'fix-Qt4-moc-commands-depends'
734df96f Qt4: Fix moc command dependencies for incremental build.
2014-03-26 13:24:34 -04:00
Brad King bcd4d0ced8 Merge topic 'UseJava-fix-resource-copy'
2abd8efe UseJava: Copy resource files before compiling the jar (#13360)
2014-03-26 13:24:31 -04:00
Brad King 046c1a1f65 Merge topic 'compile-m-as-c'
95cdf132 Treat .m files consistently as C across all generators
2014-03-26 13:24:28 -04:00
Brad King 74a45ce647 Merge topic 'UseSWIG-revert-bad-fix-0010080'
d9760647 Revert "UseSWIG: Name extra generated files after module name (#10080)"
2014-03-26 13:24:26 -04:00
Rolf Eike Beer 693f8bf34d FindThreads: simplify checking for SunOS 2014-03-25 23:49:54 +01:00
Rolf Eike Beer 858ce31f4c FindThreads: avoid useless checks if a thread library is already found 2014-03-25 23:47:49 +01:00
Rolf Eike Beer fdf7bd27a3 FindThreads: replace MATCHES with STREQUAL 2014-03-25 22:46:11 +01:00
Ben Boeckel f284b003d7 FindBoost: Search next to MPI libs for graph_parallel (#14832)
In addition to the MPI libraries, graph_parallel lives in the MPI libdir
as well.
2014-03-25 16:26:11 -04:00
Jiri Malak 1b18f442f4 Avoid trailing space in CMAKE_*_LINKER_FLAGS when LDFLAGS is empty 2014-03-24 09:11:48 -04:00
Christoph Grüninger 63a4c0af31 FindPkgConfig: Stop processing when REQUIRED package not found (#14381)
Make the behavior similar to find_package.
2014-03-24 08:57:31 -04:00
Adrien Destugues 0cc42b871a Haiku: Fix compiler detection when using distcc
Also remove outdated include directories.
2014-03-21 08:19:10 -04:00
Stephen Kelly 734df96f5a Qt4: Fix moc command dependencies for incremental build.
Since commit v2.8.12~327^2 (Qt4Macros: Allow specifying a TARGET
in invokations of macros., 2013-02-26), a parameters file is
populated with moc arguments at generate-time.

When the compile definitions or include directories change, the
parameters file is updated but moc is not re-run in response.

Fix that by making the moc invocation depend on the parameters file.

Reported-At: https://bugreports.qt-project.org/browse/QTBUG-36970
2014-03-21 11:14:41 +01:00
Bruno Nova 2abd8efecb UseJava: Copy resource files before compiling the jar (#13360)
Co-Author: Mary Ellen Foster <mefoster@gmail.com>
2014-03-20 09:50:47 -04:00
Tim Blechmann 95cdf13248 Treat .m files consistently as C across all generators
Objective C sources should be compiled with the C compiler, not C++.

The Xcode generator correctly classifies ".m" sources already.  The
cmSystemTools::GetFileFormat method was fixed by commit v2.8.0~1782 (fix
for 7045, use gcc for .m, 2008-08-19) but it is not used by any of the
generator since commit v2.4.0~2819 (major changes to support addition of
languages, 2004-09-22).

Fix the CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS table entries so that
cmGlobalGenerator::GetLanguageFromExtension tells the Makefile, Ninja,
and VS IDE generators to compile ".m" sources as C.  This makes behavior
consistent on all generators.

Signed-off-by: Tim Blechmann <tim@klingt.org>
2014-03-20 09:40:41 -04:00
Brad King d8fb08a391 Merge topic 'watcom-updates'
64c2342a Watcom: Enable 'WMake Makefiles' generator on Linux
5d9aa66c Watcom: Introduce OpenWatcom compiler id and fix compiler version
9292d3b8 Watcom: Detect compiler target architecture and platform
fbc883c9 Watcom: Add one blank line to Makefile for better readability
2014-03-20 09:22:30 -04:00
Brad King df136e6c27 Merge topic 'ExternalProject-no-download-progress'
f1b953ec Help: Add notes for topic 'ExternalProject-no-download-progress'
7d35b550 ExternalProject: Add option to disable download progress (#14807)
2014-03-20 09:22:26 -04:00
Brad King b048a3edd0 Merge topic 'FindPkgConfig_Extend-PKG_CONFIG_PATH_2'
cc5a0d8f FindPkgConfig: More unit tests
453d2b24 FindPkgConfig: small refactoring
2014-03-20 09:22:25 -04:00
Brad King 82c590b12e Merge topic 'CheckTypeSize_#14056'
7f857775 CheckTypeSize: Add unit test to cover the no-C case
7d6d45f2 CheckTypeSize: Support for CXX when C language is not enabled
2014-03-20 09:22:23 -04:00
Brad King deb981c052 Merge topic 'Android-platform'
77f06b14 Modules: Add an Andriod platform file
2014-03-20 09:22:15 -04:00
Stephen Kelly 77f06b145d Modules: Add an Andriod platform file
It is much like Linux but has no SONAME or RPATH.
2014-03-20 09:04:31 -04:00
Julien Schueller d976064771 Revert "UseSWIG: Name extra generated files after module name (#10080)"
This reverts commit f0111deb1e.
2014-03-20 08:57:34 -04:00
Jiri Malak 5d9aa66c91 Watcom: Introduce OpenWatcom compiler id and fix compiler version
Distinguish "Open Watcom" from old "Watcom" by introducing a new
"OpenWatcom" compiler id.  The __WATCOMC__ format is "VVRP" for Watcom
and "VVRP + 1100" for Open Watcom.
2014-03-17 15:00:59 -04:00
Jiri Malak 9292d3b8a0 Watcom: Detect compiler target architecture and platform
In CMakePlatformId.h.in, fill ARCHITECTURE_ID and PLATFORM_ID for Open
Watcom.
2014-03-17 14:54:43 -04:00
Daniele E. Domenichelli 453d2b2438 FindPkgConfig: small refactoring 2014-03-17 17:50:35 +01:00
Brad King 7d35b55060 ExternalProject: Add option to disable download progress (#14807)
Add a DOWNLOAD_NO_PROGRESS option to disable progress reports while
downloading source tarballs.
2014-03-17 11:28:05 -04:00
Brad King 41b82db685 Merge topic 'FindPkgConfig_Extend-PKG_CONFIG_PATH'
3df51470 FindPkgConfig: Extend PKG_CONFIG_PATH using CMake variables (#12926)
2014-03-17 09:49:58 -04:00
Brad King 4807c63948 Merge topic 'intel-14-version'
eddabf9f CMake*CompilerId: Fix patch level for Intel >= 14.0 (#14806)
2014-03-17 09:49:50 -04:00
Daniele E. Domenichelli 3df5147043 FindPkgConfig: Extend PKG_CONFIG_PATH using CMake variables (#12926)
Use CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, and CMAKE_APPBUNDLE_PATH
cache and environment variables to extend PKG_CONFIG_PATH before calling
pkg-config.

In each of the path in these variables it searches for lib/pkgconfig.
Then, depending on the system, it searches for
lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig (debian) or for
lib64/pkgconfig (other 64 bit unixes). If any of these path is found,
it is appended to the PKG_CONFIG_PATH enviromnent variable.

Add two new arguments to the pkg_check_module and pkg_search_module
macro, NO_CMAKE_PATH and NO_CMAKE_ENVIRONMENT_PATH. The new signature
are therefore:

   pkg_check_modules(<PREFIX> [REQUIRED] [QUIET]
                     [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
                     <MODULE> [<MODULE>]*)
   pkg_search_module(<PREFIX> [REQUIRED] [QUIET]
                     [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
                     <MODULE> [<MODULE>]*)

By default, if CMAKE_MINIMUM_REQUIRED_VERSION is 3.1 or later (in
order to keep compatibility with the previous behavior), or if
PKG_CONFIG_USE_CMAKE_PREFIX_PATH is set, the CMAKE_PREFIX_PATH,
CMAKE_FRAMEWORK_PATH, and CMAKE_APPBUNDLE_PATH cache and environment
variables will be added to pkgconfig search path.

The NO_CMAKE_PATH and NO_CMAKE_ENVIRONMENT_PATH arguments disable this
behavior for the cache variables and the environment variables,
respectively, similarly to the find_package() command.
2014-03-17 09:43:08 -04:00
Daniele E. Domenichelli 7d6d45f23c CheckTypeSize: Support for CXX when C language is not enabled
This example now works without need to enable C language:

  cmake_minimum_required(VERSION x.x.x)
  project(foo CXX)
  include(CheckTypeSize)
  check_type_size("short" SIZEOF_SHORT LANGUAGE CXX)

Fixes #14056
2014-03-15 23:23:53 +01:00
Brad King aa195cdcbe Merge branch 'intel-14-version' into release 2014-03-14 10:00:16 -04:00
Brad King dafa80ecc0 Merge topic 'cpack-deb-compression-types'
13778cd3 CPackDeb: Add option to set compression type
2014-03-14 09:30:29 -04:00
Brad King 76845bdbf4 Merge topic 'FeatureSummary_missing_titles'
1af77f3f FeatureSummary: Add missing titles for PACKAGES_FOUND and PACKAGES_NOT_FOUND
2014-03-14 09:30:28 -04:00
Brad King 92b423fc2f Merge topic 'different-python-header-libs-exe-0013794'
59220198 FindPython*: Document suggested find_package order (#13794)
a9e6de2a FindPythonInterp: Use consistent version with PythonLibs (#13794)
2014-03-14 09:30:24 -04:00
Sean D'Epagnier 13778cd3be CPackDeb: Add option to set compression type
Add a CPACK_DEBIAN_COMPRESSION_TYPE option to set the compression type.
Default to 'gzip' to preserve existing behavior.  Use "cmake -E tar"
for 'gzip', 'bzip2', and 'none'.  Use system "tar" for 'lzma' and 'xz'.
2014-03-14 09:29:54 -04:00
Matt McCormick 5922019802 FindPython*: Document suggested find_package order (#13794)
Document in both FindPythonInterp.cmake and FindPythonLibs.cmake that
find_package(PythonInterp) should be called before find_package(PythonLibs).
2014-03-14 09:11:26 -04:00
Matt McCormick a9e6de2acc FindPythonInterp: Use consistent version with PythonLibs (#13794)
If

  find_package(PythonLibs)
  find_package(PythonInterp)

is called, help PythonInterp to get a version of PYTHON_EXECUTABLE
consistent with the library versions found by PythonLibs.
2014-03-14 09:09:58 -04:00
Brad King eddabf9fcf CMake*CompilerId: Fix patch level for Intel >= 14.0 (#14806)
According to the Intel release notes:

 http://software.intel.com/sites/default/files/l-compiler-release-update.pdf

the __INTEL_COMPILER_UPDATE predefined macro was introduced to hold the
third version component.

Reported-by: Dirk Ribbrock <dirk.ribbrock@mathematik.uni-dortmund.de>
Co-Author: Rolf Eike Beer <kde@opensource.sf-tec.de>
2014-03-14 08:51:37 -04:00
Daniele E. Domenichelli 1af77f3f1d FeatureSummary: Add missing titles for PACKAGES_FOUND and PACKAGES_NOT_FOUND
Since now these can be used with the WHAT argument a title is required.
2014-03-14 11:51:51 +01:00
Brad King 9914e7cd95 Merge branch 'fix-find_dependency-empty-version' 2014-03-13 15:56:48 -04:00
Aurélien Gâteau 34cd5fc451 find_dependency: Give more helpful message if VERSION is empty 2014-03-13 15:51:11 -04:00
Brad King 7122f6b1a8 Merge topic 'FindPkgConfig-revise-docs'
49ef91d7 FindPkgConfig: restructure documentation and document commands and variables
2014-03-12 10:13:17 -04:00
Brad King 5082e31ba3 Merge topic 'fix-find_dependency-EXACT'
224f50f4 find_dependency: Make sure invalid EXACT use can be reported.
2014-03-12 10:13:13 -04:00
Brad King 2c6970a3ca Merge topic 'fix-xcode-compiler-force'
8c9bfac3 Xcode: Convert forced CMAKE_<LANG>_COMPILER to full path if possible
6852fb80 CMakeDetermine*Compiler: Factor out search for compiler in PATH
2014-03-12 10:13:12 -04:00
Brad King 7534967b65 Merge branch 'fix-find_dependency-EXACT' into release 2014-03-12 10:12:06 -04:00
Stephen Kelly 224f50f42f find_dependency: Make sure invalid EXACT use can be reported.
Test the first argument directly for matching 'EXACT'. The error
check in its previous position was incorrect and would only trigger
with a version of '0' or similar.
2014-03-11 14:51:06 +01:00
Brad King 70c6eda8c2 Merge topic 'FindFreetype-path-suffix-without-include'
b79a1f67 FindFreetype: Add plain 'freetype2' path suffix
2014-03-11 09:14:01 -04:00
Brad King 3d3adc0c57 Merge topic 'FindSDL-consistent-path-suffixes'
d71db3a0 FindSDL: Make FindSDL_*.cmake path suffixes consistent with main module
2014-03-11 09:14:00 -04:00
Brad King dfcacecd18 Merge topic 'fix-find_dependency-EXACT'
08ba128f find_dependency: Don't propagate EXACT argument.
2014-03-11 09:13:54 -04:00
Brad King a2d63a9d04 Merge topic 'fix-Qt4-DBus-macro'
fc2bad57 Qt4: Use correct qdbus executable in macro.
2014-03-11 09:13:53 -04:00
Brad King c2d1ea3181 Merge branch 'fix-xcode-compiler-force' into release 2014-03-11 09:06:53 -04:00
Brad King 8c9bfac384 Xcode: Convert forced CMAKE_<LANG>_COMPILER to full path if possible
During cross-compiling the toolchain file may use CMakeForceCompiler to
force a compiler setting.  When using the Xcode generator try to convert
it to a full path by searching the PATH as is done for the Makefile
generators.
2014-03-10 17:12:00 -04:00
Brad King 6852fb8034 CMakeDetermine*Compiler: Factor out search for compiler in PATH
Factor out a _cmake_find_compiler_path helper macro to avoid duplication
of the search for a full path to the compiler.
2014-03-10 17:12:00 -04:00
Daniele E. Domenichelli 49ef91d7a6 FindPkgConfig: restructure documentation and document commands and variables 2014-03-10 18:27:46 +01:00
Adrien Destugues b79a1f6719 FindFreetype: Add plain 'freetype2' path suffix
On Haiku, the headers are not in an 'include' directory.
2014-03-10 09:42:05 -04:00
Brad King d71db3a0d8 FindSDL: Make FindSDL_*.cmake path suffixes consistent with main module
Add the 'SDL' path suffix to the FindSDL_*.cmake modules.  Add a comment
explaining the purpose of suffixes as in commit v3.0.0-rc1~540^2
(FindSDL: Add path suffixes for <prefix>/include/..., 2013-10-08).

Inspired-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2014-03-10 09:40:34 -04:00
Brad King 29ff93a970 Merge branch 'fix-find_dependency-EXACT' into release 2014-03-10 09:38:48 -04:00
Brad King ef0386c250 Merge branch 'fix-Qt4-DBus-macro' into release 2014-03-10 09:38:38 -04:00
Brad King 9d4394ee87 Merge branch 'python-3.4' into release 2014-03-10 09:36:31 -04:00
Stephen Kelly fc2bad57ff Qt4: Use correct qdbus executable in macro.
Commit v3.0.0-rc1~71^2~9 (Qt4: Use IMPORTED executable names with
custom commands., 2014-01-24) erroneusly changed this command to
use the wrong target.
2014-03-10 11:50:28 +01:00
Brad King ad9f0d831e Merge topic 'dev/string-apis'
b633b263 CPackWiX: Fix test to build with expected config
191f25e2 stringapi: Prevent a NULL dereference in WiX
219d6ad6 speedup: Avoid excess iterator dereferences
caaad357 speedup: Cache strings for comparisons
7abf4e31 stringapi: Use strings for dependency information
94fc63e2 stringapi: Use strings for cache iterator values
85fc9f26 stringapi: Command names
6557382d stringapi: Use strings for program paths
1a1b737c stringapi: Use strings for generator names
24b5e93d stringapi: Use strings for directories
11ed3e2c stringapi: Add string overload for the Def struct
b3bf31a5 stringapi: Miscellaneous char* parameters
5af95c39 typo: Match argument name with the header
2b17626e stringapi: Pass strings as install directories in CPack
3def29da stringapi: Use strings for feature arguments
acb116e3 stringapi: Return a string reference for the configuration
...
2014-03-09 10:29:02 -04:00
Ben Boeckel a599611116 FindCUDA: Fix a typo 2014-03-08 13:05:31 -05:00
Brad King 83722f34f7 Merge topic 'python-3.4'
ab6201ab FindPython{Interp,Libs}: Search for Python 3.4.
2014-03-07 11:06:35 -05:00
Matt McCormick ab6201ab64 FindPython{Interp,Libs}: Search for Python 3.4.
Python 3.4.0rnc1 was released on 2014-02-20.
2014-03-06 11:37:59 -05:00
Brad King 2977330a7b Merge topic 'different-python-header-libs-exe-0013794'
bf28ff1f FindPythonLibs: Do not try to find the interpreter (#13794)
2014-03-06 11:32:58 -05:00
Brad King 7c9041bdab Merge topic 'link-libraries-response-files'
489b1c23 Windows: Use response files to specify link libraries for GNU tools
745caae6 Makefile: Rename linker response file boolean to be more specific
5e8e4d0f cmLocalGenerator: Add response file option to OutputLinkLibraries
b9aa5041 cmLocalGenerator: Simplify GetIncludeFlags output formatting
971653b7 cmLocalGenerator: Add format option to ConvertToLinkReference
0c0ef9e7 cmLocalGenerator: Add format option to ConvertToIncludeReference
02bebd60 cmLocalGenerator: Add format option to ConvertToOutputForExisting
c8751709 Makefile: Factor out some duplicate link libraries generation
2014-03-06 09:46:50 -05:00
Stephen Kelly 08ba128f51 find_dependency: Don't propagate EXACT argument.
If a package is requested with an EXACT version, that doesn't imply
that dependencies must be found EXACTly too.

Extend the macro to allow specifying that a dependency must be found
by EXACT version instead.
2014-03-06 15:07:37 +01:00
Brad King 489b1c23b9 Windows: Use response files to specify link libraries for GNU tools
Work around the command-line-length limit by using an @linklibs.rsp
response file to pass the flags for link libraries.  This allows
very long lists of libraries to be used in addition to the existing
support for passing object files via response file.

Suggested-by: Peter Keuschnigg <peter.keuschnigg@pmu.ac.at>
2014-03-05 13:07:41 -05:00
Brad King bf28ff1f42 FindPythonLibs: Do not try to find the interpreter (#13794)
The parent commit taught FindPythonLibs to try to find PythonInterp
unconditionally.  Some projects may want the libraries of a specific
version even when the corresponding interpreter is not available.  Drop
the internal use of FindPythonInterp and just use the versions from it
if it happens to have been found by the project first.  That will allow
projects to get a consistent version when they want both but not
otherwise force them to find the interpreter.
2014-03-05 11:58:13 -05:00
Brad King c03f42ef32 Merge topic 'watcom-rtdll-version'
b052902c Remove hard-coded version of RTDLL for Open Watcom
2014-03-05 11:08:05 -05:00
Jiri Malak b052902c32 Remove hard-coded version of RTDLL for Open Watcom
In InstallRequiredSystemLibraries the version number for RTDLL can be
calculated from the compiler version.  This will support current and
future OW versions without updating the module again.
2014-03-04 16:28:53 -05:00
Daniele E. Domenichelli d348cd1bc5 FeatureSummary: Allow to combine and reorder values for the "WHAT" option
For example it is now possible to do:

  feature_summary(WHAT ENABLED_FEATURES
                       DISABLED_FEATURES)

That produces an output like:

  --
  -- The following features have been enabled:

   * Feature1
   * Feature2

  -- The following features have been disabled:
   * Feature2

Skipping the lists that are empty.

Without this patch this would require to do:

  message(STATUS "")
  feature_summary(WHAT ENABLED_FEATURES
      DESCRIPTION "The following features have been enabled:")
  feature_summary(WHAT DISABLED_FEATURES
      DESCRIPTION "The following features have been disabled:")

And empty lists would not be skipped.

The behaviour when WHAT has a single argument (ALL or any option) is
unchanged.
2014-03-03 19:52:13 +01:00
Brad King 909c0533d0 Merge topic 'wix-additions'
642fa25d CPackWIX: support installation of empty directories
378eb5b7 CPackWIX: Allow Windows Installer property customization
2014-03-03 10:06:25 -05:00
Brad King d57bc8797d Merge topic 'FindRuby-2'
57abfeaa Help: Add FindRuby-2 topic release notes
165f6430 FindRuby: Add support for Ruby 2.0 and 2.1
2014-03-03 10:06:24 -05:00
Brad King ae215492cf Merge topic 'watcom-wlib-quoting'
5c5be193 Watcom: Fix static library name quoting for wlib
2014-03-03 10:06:21 -05:00
Brad King 21c3a71eb6 Merge topic 'watcom-dll-no-symbols'
00503d38 Watcom: Fix creation of DLLs without any exported symbols
2014-03-03 10:06:20 -05:00
Brad King c32ac3331f Merge topic 'different-python-header-libs-exe-0013794'
3816cd2d FindPythonLibs: Find consistent Python interp, headers, libs (#13794)
2014-03-03 10:06:19 -05:00
Matt McCormick 3816cd2dc7 FindPythonLibs: Find consistent Python interp, headers, libs (#13794)
When possible, get consistent version of the Python interpreter, headers path,
and library.

Now find_package(PythonLibs) internally calls find_package(PythonInterp
QUIET) and uses the resulting PYTHON_VERSION_MAJOR and
PYTHON_VERSION_MINOR to prefer these versions when looking for the
header path and library.  The Python_ADDITIONAL_VERSIONS variable has
priority over the interpreter version.

Co-Author: Adam Wolf
Co-Author: Gert Wollny <gw.fossdev@gmail.com>
2014-03-03 10:02:35 -05:00
Nils Gladitz 378eb5b712 CPackWIX: Allow Windows Installer property customization 2014-03-01 23:13:35 +01:00
Jiri Malak 5c5be193cf Watcom: Fix static library name quoting for wlib
Use double-quotes instead of single-quotes around the static library
target name in 'wlib' invocations.
2014-02-28 13:34:59 -05:00
Brad King eafd2a8511 Merge topic 'FindPkgConfig-PKG_CONFIG'
80aa18b4 Help: Add release notes for topic 'FindPkgConfig-PKG_CONFIG'
c53b5cd2 FindPkgConfig: Prefer PKG_CONFIG to find pkg-config (#13175)
2014-02-28 09:48:38 -05:00
Brad King e62102bef1 Merge topic 'FindGTest-AUTO-SOURCES'
ac42bca8 Help: Add FindGTest-AUTO-SOURCES topic release notes
c50325b8 FindGTest: Optionally detect sources automatically (#14775)
2014-02-28 09:48:36 -05:00
Brad King 18646dd397 Merge topic 'qt4-overlink'
b94ecab6 FindQt4: prevent overlinking when using UseQt4.cmake.
2014-02-28 09:48:34 -05:00
Brad King 27defbd6d4 Merge topic 'add-FindOpenCL'
1b08e609 Help: Add release notes for topic 'add-FindOpenCL'
041485bc Add FindOpenCL module
2014-02-28 09:48:30 -05:00
Brad King 42f981987e Merge branch 'FindRuby-2' into release 2014-02-28 08:50:32 -05:00
Bas Couwenberg 165f6430d9 FindRuby: Add support for Ruby 2.0 and 2.1
The most significant change since Ruby 1.9 is the changed path of
config.h, from RbConfig::CONFIG['rubyhdrdir'] to
RbConfig::CONFIG['rubyarchhdrdir'].
2014-02-28 08:41:33 -05:00
Brad King 00503d387e Watcom: Fix creation of DLLs without any exported symbols
Create each DLL import library by passing "option implib=..." to the
linker for its SHARED library.  This works even when there are no
symbols to be exported.  Leave the option out for MODULE libraries
because we do not need an import library for them.  For executables,
retain the separate invocation of wlib because we want an import
library only when the ENABLE_EXPORTS property is set, and in that
case the project should provide symbols.

Suggested-by: J Decker <d3ck0r@gmail.com>
2014-02-27 16:22:28 -05:00
Christoph Grüninger c53b5cd221 FindPkgConfig: Prefer PKG_CONFIG to find pkg-config (#13175)
If the environment variable PKG_CONFIG is set, use this as the
default pkg-config executable.
2014-02-27 10:29:01 -05:00
Nikolay Orliuk c50325b8e5 FindGTest: Optionally detect sources automatically (#14775)
Teach GTEST_ADD_TESTS an "AUTO" option to read the source files from the
SOURCES target property of an executable.
2014-02-27 08:52:18 -05:00
Clinton Stimpson b94ecab6d6 FindQt4: prevent overlinking when using UseQt4.cmake.
Now it only links with the Qt libraries specified by the user,
instead of automatically including all dependencies.
Fixes #14750 and thanks to Orion Poplawski.
2014-02-26 10:55:38 -07:00
Brad King 6391b32a32 Merge topic 'fix-find_dependency-macro'
3d8f7102 find_dependency: unset cmake_fd_version variable at end of macro
85d0f8de find_dependency: use correct version variable name
2014-02-26 10:31:45 -05:00
Alex Merry 3d8f7102bb find_dependency: unset cmake_fd_version variable at end of macro
This matches the other macro variables.
2014-02-26 10:27:01 -05:00
Alex Merry 85d0f8de7e find_dependency: use correct version variable name
The code set cmake_fd_version, but used ${version}.
2014-02-26 10:27:01 -05:00
Brad King 6223621e9a Merge topic 'msvc-compiler-pdb-files'
fba51b09 MSVC: Add properties to configure compiler PDB files (#14762)
3737860a cmTarget: Add per-config compilation info
718a9532 cmTarget: Refactor ComputePDBOutputDir interface
aae5184c Help: Refactor PDB_NAME and PDB_OUTPUT_DIRECTORY docs
b4aac0ca Makefile: Fix per-config linker PDB output directory
2014-02-26 09:38:51 -05:00
Brad King 5cad466dae Merge topic 'UseSWIG-avoid-extra-rebuilds'
f0111deb UseSWIG: Name extra generated files after module name (#10080)
2014-02-26 09:38:50 -05:00
Brad King fba51b096e MSVC: Add properties to configure compiler PDB files (#14762)
Since commit v2.8.12~437^2~2 (VS: Separate compiler and linker PDB files
2013-04-05) we no longer set /Fd with the PDB_NAME or PDB_OUTPUT_DIRECTORY
properties.  Those properties now exclusively handle linker PDB files.
Since STATIC libraries do not link their compiler PDB file becomes more
important.  Add new target properties "COMPILE_PDB_NAME[_<CONFIG>]" and
"COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]" to specify the compiler PDB
file location and pass the value to the MSVC /Fd option.
2014-02-26 09:34:38 -05:00
Matthäus G. Chajdas 041485bc16 Add FindOpenCL module 2014-02-26 08:53:00 -05:00
Brad King 507236c511 Merge topic 'FindHg-add-WC_INFO'
bcefbe73 FindHg: Add Hg_WC_INFO macro
8993df6c FindHg: Search for TortoiseHg
2014-02-25 11:18:15 -05:00
Brad King 602be01b33 Merge topic 'fix-find_dependency-macro'
2be6dbe4 find_dependency: Ensure that ARGV1 has valid local content
a35ce723 find_dependency: Add namespacing for variables in the macro.
2014-02-25 11:18:11 -05:00
Matthäus G. Chajdas bcefbe737d FindHg: Add Hg_WC_INFO macro
Add a macro to extract information from a Hg work tree much like the
Subversion_WC_INFO macro does for Subversion work tree.
2014-02-25 11:14:06 -05:00
Matthäus G. Chajdas 8993df6c3d FindHg: Search for TortoiseHg
Use the TortoiseHg registry entry as a search path.
2014-02-25 11:13:49 -05:00
Stephen Kelly 2be6dbe420 find_dependency: Ensure that ARGV1 has valid local content
The ARGV1 value could come from a wrapping context if find_dependency
is called from a function.
2014-02-24 19:00:42 +01:00
Stephen Kelly a35ce7235b find_dependency: Add namespacing for variables in the macro.
Avoid setting a variable called 'version' etc.
2014-02-24 19:00:31 +01:00
Brad King 624b0fa923 Merge topic 'ExternalProject-BUILD_ALWAYS'
73e5c6ae ExternalProject: Add option to always run the build step
2014-02-24 10:40:07 -05:00
Julien Schueller f0111deb1e UseSWIG: Name extra generated files after module name (#10080) 2014-02-24 10:31:32 -05:00
Alex Merry 5878c5d919 Always set version variable of find_dependency macro
If there is no ARGV1, that is fine; version will be made empty, and no
version will be passed to find_package().

This is relevant when find_dependency is invoked multiple times,
sometimes with a version specified and sometimes without.

 find_dependency(dep1 3.4)
 find_dependency(dep2) # version still set to 3.4.
2014-02-23 11:31:30 +01:00
Brad King 73e5c6aead ExternalProject: Add option to always run the build step
Teach ExternalProject_Add a new BUILD_ALWAYS option to skip using
the build step stamp file and execute the step on every build.

Extend the BuildDepends test with a case to cover this option.
2014-02-21 11:05:41 -05:00
Brad King 4bb80396e0 CMake 3.0.0-rc1 version update 2014-02-19 09:30:12 -05:00
Brad King 6a1a644940 Merge topic 'FindOpenSSL-prefer-root'
e346c47a FindOpenSSL: Prefer OPENSSL_ROOT_DIR first (#14764)
2014-02-19 08:34:27 -05:00
Brad King 59df48aaaa Merge topic 'FindJNI-ppc64le'
ac2527e1 FindJNI: Add ppc64le architecture
2014-02-19 08:34:26 -05:00
Ho Cheung e346c47ac5 FindOpenSSL: Prefer OPENSSL_ROOT_DIR first (#14764)
Use hints computed from this explicit variable before those
computed by PkgConfig.  They are more specific.
2014-02-18 15:05:32 -05:00
Dinar Valeev ac2527e1d9 FindJNI: Add ppc64le architecture
Signed-off-by: Dinar Valeev <dvaleev@suse.com>
2014-02-18 08:30:51 -05:00
Chuck Atkins 17485e37a2 FindBoost: Add suport for custom namespaces
When building boost with an alternate namespace the libraries generated
will have a different naming convention.  This is often done to ensure
no symbol conflicts with external libraries built against a different
version of boost.  If the namespace used is "myprivateboost::" instead
of "boost::" then the libraries built will be named myprivateboost_foo
instead of boost_foo.  Add an option to specify a custom namespace used
to alter the library names that get searched for.
2014-02-17 16:05:48 -05:00
Brad King a3bac644f1 Merge topic 'isystemForIcpc'
cab5ebd4 Intel compiler: add -isystem flag under Linux
2014-02-17 09:59:43 -05:00
Brad King e6f0b870fd Merge topic 'osx-intel-info-split'
3693c63f OS X: Split Intel compiler information files
2014-02-12 11:31:24 -05:00
Brad King 9b06fa50ae Merge topic 'FindBoost-MPI-hints'
a22eeca3 FindBoost: Search next to MPI libraries for boost_mpi (#14739)
2014-02-12 11:31:22 -05:00
Brad King 3693c63f2e OS X: Split Intel compiler information files
Create platform information modules Platform/Darwin-Intel-(C|CXX).cmake
and helper module Platform/Darwin-Intel.cmake.  Teach existing module
Platform/Darwin-Intel-Fortran.cmake to use the helper too.  Move
information from Platform/Darwin-icc.cmake into these files and drop
information already in Platform/Darwin.cmake to avoid duplication.
2014-02-11 10:04:26 -05:00
Brad King a12dd791dd Merge topic 'graphviz-one-file'
18bef4cd graphviz: allow to disable per target graphs (#14746)
2014-02-11 09:16:02 -05:00
Brad King a22eeca3fd FindBoost: Search next to MPI libraries for boost_mpi (#14739)
Some distributions place boost_mpi next to the MPI libraries against
which it was built instead of next to the other Boost libraries.  If
find_package(MPI) has already been run prior to find_package(Boost) then
MPI_CXX_LIBRARIES or MPI_C_LIBRARIES may be set to the location of the
MPI libraries.  Teach FindBoost.cmake to look there for boost_mpi and
boost_mpi_python after looking next to the other Boost libraries but
not consider the location to be Boost_LIBRARY_DIR.
2014-02-10 16:18:47 -05:00
Brad King d51dc24e2b Merge topic 'Qt4-qmake-IMPORTED'
7d90d6c5 Qt4: Add IMPORTED executable for qmake.
2014-02-10 11:25:00 -05:00
Brad King 27d3974c66 Merge topic 'wix_desktop'
b78d74de CPackWiX: Add support for CPACK_CREATE_DESKTOP_LINKS
2014-02-10 11:24:56 -05:00
Brad King c9a489aec6 Merge topic 'intel-visibility'
b7f58511 Visibility: the Intel compiler does not support -fvisibility on windows
2014-02-10 11:24:50 -05:00
Daniel Pfeifer 18bef4cd66 graphviz: allow to disable per target graphs (#14746)
In CMakeGraphVizOptions.cmake, allow the options GRAPHVIZ_GENERATE_PER_TARGET
and GRAPHVIZ_GENERATE_DEPENDERS to enable the generation of per target graphs
and subgraphs respectively. Both options are TRUE per default to maintain
current behavior.
2014-02-10 10:30:50 -05:00
Stephen Kelly 7d90d6c59e Qt4: Add IMPORTED executable for qmake. 2014-02-09 14:35:57 +01:00
Timo Rothenpieler b78d74de64 CPackWiX: Add support for CPACK_CREATE_DESKTOP_LINKS 2014-02-08 19:19:33 +01:00
Nils Gladitz b7f58511cf Visibility: the Intel compiler does not support -fvisibility on windows 2014-02-07 11:50:08 +01:00
Alex Neundorf cab5ebd497 Intel compiler: add -isystem flag under Linux
This makes the SYSTEM keyword work with the Intel compiler
under Linux. AFAIK this is supported neither under Windows nor OSX.

Alex
2014-02-07 00:23:31 +01:00
Brad King f55528186a Merge topic 'FindOpenSSL-root-dir'
12d6eb63 FindOpenSSL: Honor OPENSSL_ROOT_DIR everywhere (#14735)
2014-02-06 11:10:25 -05:00
Ho Cheung 12d6eb639d FindOpenSSL: Honor OPENSSL_ROOT_DIR everywhere (#14735)
In commit v2.8.5~176^2~2 (FindOpenSSL: We should only use hints to find
OpenSSL, 2011-03-28) values for HINTS and PATHS of find_* calls were
computed everywhere but only used on Windows.  Use them everywhere.
2014-02-05 12:28:36 -05:00
Stephen Kelly 0f5dfd10ba Help: Specify that qtmain.lib is only used for WIN32 executables. 2014-02-05 16:05:16 +01:00
Brad King 43a78f5b29 Merge topic 'FeatureSummary-no-transitive'
a6971f65 FeatureSummary: Don't list transitive package dependencies
2014-02-05 09:34:23 -05:00
Brad King f748b59e20 Merge topic 'fix-Qt-autogen'
6053ce22 QtAutogen: Make uic work even when the source is in a subdir.
1fc9ecfa FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
2014-02-04 13:34:54 -05:00
Stephen Kelly a6971f6510 FeatureSummary: Don't list transitive package dependencies
Set a global property in the find_package implementation.  Track and
reset that property in the find_dependency macro.  Read the property
in FeatureSummary when determining whether to print output.

This means that packages which are found only as dependencies are not
listed by FeatureSummary, but if a project uses find_package elsewhere
directly, then it will be listed by FeatureSummary.

Suggested-by: Alex Merry

 http://thread.gmane.org/gmane.comp.kde.devel.frameworks/10640
2014-02-03 20:20:42 +01:00
Brad King 2e2552af65 Merge topic 'cmake-qt-manual'
4271a4ed Help: Add information about INTERFACE_AUTOUIC_OPTIONS.
7935f4de Help: Note that AUTOMOC consumes the defines and includes from targets.
2739a6f9 Help: Move Qt tool invocation information to a generic cmake-qt manual.
2014-02-03 11:11:14 -05:00
Brad King b90d63cbfc Merge topic 'FindCUDA-doc-format'
1f8eb5db FindCUDA: Fix literal block formatting
2014-02-03 11:11:07 -05:00
Brad King 14fe404956 Merge topic 'find-java-os-x-fixes'
dd72b19f Find{Java,JNI}: Use /usr/libexec/java_home on OS X
70560ee1 FindJNI: Overhaul finding JDK libraries and headers on OS X
fcd66a7f Find{Java,JNI}: Consider JAVA_HOME before ENV{JAVA_HOME}
4b3614b2 Find{Java,JNI}: Use ENV{JAVA_HOME} first when set
2014-02-03 11:11:05 -05:00
Brad King a7f5a6ee12 Merge topic 'project-version-variables'
41d2f2c4 write_basic_package_version_file: use PROJECT_VERSION
7e142c5a project: Manage VERSION variables
16d040c9 project: Add optional LANGUAGES keyword
00007dcc Help: Format project command and variable documentation
2014-02-03 11:10:58 -05:00