Commit Graph

4922 Commits

Author SHA1 Message Date
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
Stephen Kelly 2739a6f97e Help: Move Qt tool invocation information to a generic cmake-qt manual.
Add an introduction about the use of different package types, and the
ability to use Qt 4 and 5 versions together in a single buildsystem.

Add a section about automatic linking of the qtmain.lib library and
how to disable it.
2014-02-02 11:28:12 +01:00
Brad King 1f8eb5db1c FindCUDA: Fix literal block formatting
Fix locations of '::' manually to group literal blocks as desired.
2014-01-29 14:26:05 -05:00
Brad King dd72b19f86 Find{Java,JNI}: Use /usr/libexec/java_home on OS X
If no JAVA_HOME or ENV{JAVA_HOME} is set then try running this
tool to get the system default Java home.

Suggested-by: Larry Shaffer <larrys@dakotacarto.com>
2014-01-29 14:12:54 -05:00
Brad King 70560ee146 FindJNI: Overhaul finding JDK libraries and headers on OS X
Drop the hard-coded framework paths and "-framework JavaJM" on APPLE.

Save and restore the value of CMAKE_FIND_FRAMEWORK.  Use its value to
choose and order between a normal search for jvm&jawt and a framework
search for JavaVM.  When JAVA_HOME is set explicitly by the user then
force a normal search by setting CMAKE_FIND_FRAMEWORK to NEVER.  Once
the library is found, set CMAKE_FIND_FRAMEWORK to help find_path locate
the matching headers (framework v. normal).
2014-01-29 14:12:54 -05:00
Brad King fcd66a7f7b Find{Java,JNI}: Consider JAVA_HOME before ENV{JAVA_HOME}
Add a helper module CMakeFindJavaCommon shared between FindJava
and FindJNI to select a JAVA_HOME value.  Prefer a CMake variable
or cache entry first, then an environment variable.
2014-01-29 14:12:54 -05:00
Brad King 4b3614b25a Find{Java,JNI}: Use ENV{JAVA_HOME} first when set
Use list(APPEND) instead of set() to append to lists.
When ENV{JAVA_HOME} is set explicitly place values based
on it at the front their lists.
2014-01-29 14:02:29 -05:00
Stephen Kelly 1fc9ecfae6 FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
Commit 321e348e (QtAutogen: Use Qt 4 IMPORTED targets to find
executable locations., 2014-01-24) attempted to fix this problem,
but only solved it for a particular ordering of find_package for
Qt 4 and Qt 5.

Add a test to ensure that it works with both orderings.
2014-01-29 17:02:43 +01:00
Brad King bbc82d85e5 Merge topic 'fix-Qt-autogen'
f7ae1d8a QtAutogen: Short-circut some logic when moc is not available.
4b989d5f QtAutogen: Separate source file processing from AUTOMOC.
c48d877d QtAutogen: Make some methods appropriately file-static.
394e86df QtAutogen: Fix autouic target options in the presence of a config.
964d7f2a QtAutogen: Remove unused variables.
0d934efd QtAutogen: Remove read of SKIP_AUTOUIC target property.
321e348e QtAutogen: Use Qt 4 IMPORTED targets to find executable locations.
e96683b0 Qt4: Use IMPORTED executable names with custom commands.
e6182f5d Qt4: Create IMPORTED executable targets for all Qt executables.
2014-01-29 10:05:04 -05:00
Alex Neundorf 41d2f2c4cb write_basic_package_version_file: use PROJECT_VERSION
In the write_basic_package_version_file(), the VERSION argument
is now optional. If none is given, it falls back to ${PROJECT_VERSION}.

Alex
2014-01-29 09:45:18 -05:00
Stephen Kelly 4b989d5f15 QtAutogen: Separate source file processing from AUTOMOC.
This will allow using AUTOUIC without using AUTOMOC for example.
2014-01-28 21:04:40 +01:00
Stephen Kelly e96683b048 Qt4: Use IMPORTED executable names with custom commands.
Finding Qt 5 can overwrite the QT_MOC_EXECUTABLE variable with the
moc from Qt 5. Use the IMPORTED target with the explicit version in
the name to avoid that.
2014-01-28 21:04:10 +01:00
Stephen Kelly e6182f5d5d Qt4: Create IMPORTED executable targets for all Qt executables.
Qt 5 already has similar IMPORTED targets.  The versioned namespace will
allow de-conflicting the variable names between Qt 4 and Qt 5.
2014-01-28 21:04:10 +01:00
Gereon Kremer 819015ef3a ExternalProject: Add option GIT_SUBMODULES
This option allows to filter the submodules that are checked out.
Add a simple testcase for GIT_SUBMODULES option passing an empty list.
2014-01-28 12:51:27 -05:00
Brad King 20263b719f Merge topic 'robust-ep-download-verify'
a432b93b file DOWNLOAD: Display the curl result status when a hash mismatch occurs.
1cb9ef81 file DOWNLOAD: Test non-zero return status.
f73f0fb3 file DOWNLOAD: Add test for bad hash.
b5e2265f ExternalProject: Reattempt download when verification fails.
2014-01-27 13:03:33 -05:00
Brad King 1021ad80f9 Merge topic 'qcc-id'
e00db59d QNX: Introduce QCC compiler id for that QNX platform compiler.
d2dea79b CMakeDetermine*Compiler: Fix typo 'lile' => 'like'
2014-01-22 08:47:55 -05:00
Stephen Kelly e00db59d6c QNX: Introduce QCC compiler id for that QNX platform compiler.
Introduce policy CMP0047 to control resetting the id for
compatibility.

De-duplicate content in the QNX platform file by including the GNU
one. QNX is a form of GNU platform.

Do not clear CMAKE_SHARED_LIBRARY_${lang}_FLAGS variables.  They
are populated again later by the Compiler/GNU.cmake file anyway.

Modify the CMAKE_CXX_COMPILE_OBJECT variable only when the QCC
compiler id is in use, and the language is CXX.  Use the QNX
recommended flag for QCC instead of the gcc compatible -x flag.

Populate new module files to handle system includes and depfiles
when using the QCC compiler.

Remove code which unsets the system include and depfiles related
variables.  When a GNU driver is used instead of the QCC one, the
appropriate flags will be used.  These variables were previously
cleared for lowest-common-denominator compatibility with both
drivers.
2014-01-22 08:47:32 -05:00
Stephen Kelly d2dea79b36 CMakeDetermine*Compiler: Fix typo 'lile' => 'like' 2014-01-22 08:43:58 -05:00
Brad King ceecda1253 Merge topic 'osx-host-arch'
9d2a0900 OS X: Use 'uname -m' for processor (#14712)
2014-01-21 08:51:36 -05:00
Brad King 25d414625a Merge topic 'update-qt4-docs'
f81e67c6 Help: Update Qt4 documentation.
2014-01-20 10:59:19 -05:00
Brad King 9d2a0900ed OS X: Use 'uname -m' for processor (#14712)
In commit 2412d9bc (Use 'uname -m' for processor on Cygwin, 2010-09-21)
it was pointed out that POSIX requires 'uname -m' but not 'uname -p':

  http://www.opengroup.org/onlinepubs/9699919799/utilities/uname.html

On OS X x86_64, 'uname -p' returns i386 while 'uname -m' returns x86_64.
Since the latter is the POSIX-compliant option trust its value.
However, on OS X ppc, 'uname -m' returns 'Power Macintosh' so add a
special-case to convert that to 'powerpc'.
2014-01-20 10:55:19 -05:00
Matt McCormick b5e2265fc3 ExternalProject: Reattempt download when verification fails.
When downloading an URL with ExternalProject, reattempt the download three
times if the file hash verification fails.

The re-attempt is limited to non-local URL's.  The same download CMake script
is re-used after removing any file that resulted from the previous download
attempt.  Up to three re-attempts are performed.
2014-01-15 16:31:23 -05:00
Daniele E. Domenichelli 620939e4e6 GNUInstallDirs: Fix CMAKE_INSTALL_LIBDIR on Debian
When not installing in /usr (i.e. /usr/local) on Debian/Ubuntu, the
multiarch path is not in ldconfig path, and therefore libraries cannot
be found, unless the user manually modifies the files in
/etc/ld.so.conf.d, in order to include /usr/local/lib/<arch>.

This patch fixes this issue by using "lib/<arch>" only if the user is
installing the software in /usr, and uses "lib" in all the other cases.
2014-01-15 18:02:21 +01:00
Stephen Kelly f81e67c616 Help: Update Qt4 documentation.
Remove independent doc listing for Qt4ConfigurationSettings, Qt4Macros
and UseQt4. These are implementation details.

Recommend the use of IMPORTED targets.

Remove references to the UseQt4 file, which is obsolete in light of
the IMPORTED targets.

Add documentation for automatic tool invocation and options.

Remove reference to variables which should not be needed in modern
implementations.
2014-01-15 16:23:51 +01:00
Brad King 050c02849e Merge topic 'doc-Qt-macro-TARGET-arg'
4608a260 Document the TARGET options in Qt4 macros.
2014-01-15 10:12:00 -05:00
Stephen Kelly 4608a260d4 Document the TARGET options in Qt4 macros.
Feature introduced in commit 9ce60ff5 (Qt4Macros: Allow specifying
a TARGET in invokations of macros., 2013-02-26).
2014-01-14 14:55:05 +01:00
Stephen Kelly 2509c7678f Qt4: Use generator expression in COMPILE_DEFINITIONS (#14692)
Commit 5bb53f6b (cmTarget: Deprecate COMPILE_DEFINITIONS_ properties
with a policy., 2013-12-30) deprecated the config-specific
COMPILE_DEFINITIONS_* properties in favour of using generator
expressions.

Set the directory property in UseQt4.cmake to match the
INTERFACE_COMPILE_DEFINITIONS on the Qt4::QtCore and Qt5::Core
IMPORTED targets.  Setting QT_NO_DEBUG is sufficient because qglobal.h
sets the corresponding QT_DEBUG definition if required.
2014-01-13 15:53:00 +01:00
Brad King aacad3238f Merge topic 'find-java-os-x-fixes'
519084c FindJNI: Set JAVA_INCLUDE_PATH2 for darwin (#14508)
2014-01-10 09:19:46 -05:00
Brad King 58b34959e3 Merge topic 'CheckTypeSize_fix_multiple_invocation'
8252406 CheckTypeSize: Unset temporary variables when done (#14690)
2014-01-10 09:19:44 -05:00
Daniele E. Domenichelli 8252406cd6 CheckTypeSize: Unset temporary variables when done (#14690)
When the macro is invoked multiple times, the parsing variables were
not unset and therefore used for all the following calls.
2014-01-10 09:16:30 -05:00
Brad King 089ae7122b Merge topic 'FindBoost-ms-debug-runtime'
d729899 FindBoost: Add Boost_USE_DEBUG_RUNTIME option (#14686)
2014-01-09 13:54:21 -05:00
Joe Abbey 519084cd2e FindJNI: Set JAVA_INCLUDE_PATH2 for darwin (#14508) 2014-01-09 09:59:56 -05:00
Brad King 15562c11ef Merge topic 'policies'
73e9340 get_target_property: Error on non-existent target.
ab9f58f FindQt4: Ensure target exists before calling get_target_property.
37ebeb9 FindQt4: Fix use of get_target_property to use actual target name.
6aabb6a Genex: Use case-sensitive comparison for COMPILER_ID.
5bb53f6 cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.
2014-01-09 09:37:20 -05:00
Brad King df55a930fa Merge topic 'qt4-find-root'
e8b8b37 FindQt4: Use NO_CMAKE_FIND_ROOT_PATH where search paths are already rooted.
2014-01-09 09:37:12 -05:00
Brad King e5783a6f51 Merge topic 'multiarch-multios'
f293d52 GNUInstallDirs: Use multiarch on Debian with FreeBSD and HURD kernels
2014-01-09 09:37:09 -05:00
Brad King d729899a26 FindBoost: Add Boost_USE_DEBUG_RUNTIME option (#14686)
Add an option to control use of the 'g' runtime debug library tag
on MSVC tools.  Default to ON to preserve existing behavior.
2014-01-08 11:32:17 -05:00
Stephen Kelly ab9f58f657 FindQt4: Ensure target exists before calling get_target_property.
This macro is called for all potential Qt targets, even those which were
not found.
2014-01-08 16:41:34 +01:00
Stephen Kelly 37ebeb9100 FindQt4: Fix use of get_target_property to use actual target name.
This was introduced in ba48e63f (Generate config-specific interface
link libraries propeties., 2013-02-09).
2014-01-08 16:41:34 +01:00
Brad King 1857660984 Merge topic 'wix-cmake-package-registry'
92c4d40 CPackWiX: added new CPACK_WIX_CMAKE_PACKAGE_REGISTRY variable
2014-01-08 09:58:45 -05:00
Clinton Stimpson e8b8b37ef6 FindQt4: Use NO_CMAKE_FIND_ROOT_PATH where search paths are already rooted.
Thanks to Thomas Petazzoni for part of this fix.
2014-01-08 06:07:24 -07:00
Nils Gladitz 92c4d4039e CPackWiX: added new CPACK_WIX_CMAKE_PACKAGE_REGISTRY variable
Allows automatic registration of installed packages with
the cmake package registry.
2014-01-08 01:28:24 +01:00
Stephen Kelly efc43cde8f Help: Fix some erroneous code block markers in Module docs.
There are many style errors in these files. This patch fixes only
the syntactical errors.

The script which ported these to rst tripped on some incorrectly
formatted blocks in the original input documentation.  Use a new
script to find problematic code (and then fix them manually):

  #!/usr/bin/env python

  import os

  rootDir = '.'

  def checkFile(fname):

    f = open(fname)
    lines = f.readlines()
    started = False
    counter = 0
    for l in lines:
      if "#" in l:
        started = True
      elif started:
        return
      lin = l.find("(")
      if lin != -1 and l.find(")", lin) == -1 and \
          not "(To distribute this file outside of CMake, substitute the full" in l:
        for lp in lines[counter+1:]:
          if lp == "# ::\n":
            print "\n\n######### " + fname + "\n\n"
            print ''.join(lines[max(counter-2, 0):counter+6])
            break
          elif lp == "#\n" :
            continue
          break
      counter += 1

  for dirName, subdirList, fileList in os.walk(rootDir):
      for fname in fileList:
          checkFile(os.path.join(dirName, fname))
2014-01-07 09:52:56 -05:00
Brad King b225dbbd02 Merge topic 'minor-cleanups'
a55c70d cmTarget: Remove support for <CONFIG>_LOCATION property.
c9f9b3c cmTarget: Test impliedByUse number-compatible properties.
fbe1fa7 cmTarget: Don't repeat property origin debug information.
01c545c cmTarget: Fix debug report for interface-set compatibility types.
c67e1a6 cmTarget: Fix reporting interface-set properties which are FALSE.
07b0f54 Qt Tests: Remove commented and unneeded line.
79db8ef cmTarget: Fix the property compatibility error message
43340a9 Help: Reformat Qt autogenerator documentation.
d98ea6c Help: Mark some code blocks as containing cmake code.
ea78935 GenerateExportHeader: Reformat docs.
272a20f cmTarget: Don't update IMPORTED target compilation properties
03d842a Run the add_compile_options command unit test.
cd3d0b6 get_property: Fix testing ALIASED_TARGET target property (#14670)
6a62228 install: Ensure that install(TARGETS) works with no DESTINATION
af3d3b8 export: Only generate and install configuration files if needed.
0de81bb Help: Workaround pygments reporting an error for genexes.
...
2014-01-06 11:15:34 -05:00
Brad King b8786da79f Merge topic 'fix-text-typos'
9e41eb6 Fix wording of "the the" typos throughout text
2014-01-06 10:36:03 -05:00
Stephen Kelly ea78935f62 GenerateExportHeader: Reformat docs. 2014-01-04 11:28:57 +01:00
Ruslan Baratov 9e41eb68ec Fix wording of "the the" typos throughout text 2014-01-03 11:35:32 -05:00
Brad King 6cff2afc8b Merge topic 'export-EXPORT-subcommand'
98b9f52 Help: Document export(EXPORT) in the cmake-packages manual.
a1d2bda Don't copy find_dependency in configure_package_config_file.
f4f6529 Help: cmake-packages: Add missing slash.
cbe7e8f export: Implement EXPORT subcommand (#9822)
2014-01-02 14:44:08 -05:00
Nils Gladitz 950d76ed48 CPackWiX: allow and convert UTF-8 sequences in RTF writer 2013-12-26 15:23:54 +01:00
Stephen Kelly a1d2bda23e Don't copy find_dependency in configure_package_config_file.
There is not really any need to. Downstreams can either rely on it
being provided by CMake, or copy and distribute it.

Change the documented include for the find_dependency macro.
2013-12-24 13:02:49 +01:00
Brad King 4372365177 Merge topic 'cmake-packages-manual'
3fe4ac8 Help: Add a CMake manual for Packages related docs.
20cafa2 Split the find_dependency macro into a separate file.
2013-12-20 15:01:26 -05:00
Brad King c57aca394e Merge topic 'add-platform-MirBSD'
af7489d Add MirBSD platform support (#14659)
2013-12-20 09:41:36 -05:00
Brad King 221c95da88 Merge topic 'doc-TestCXXAcceptsFlag-cleanup'
95c705a TestCXXAcceptsFlag: Update documentation (#14657)
2013-12-20 09:41:18 -05:00
Brad King c6072c7806 Merge topic 'find_backtrace'
9650c09 FindBacktrace: Search and report only when not already found
2013-12-20 09:41:10 -05:00
Dimitri John Ledkov f293d525a1 GNUInstallDirs: Use multiarch on Debian with FreeBSD and HURD kernels 2013-12-19 11:27:30 -05:00
Brad King af7489d5a6 Add MirBSD platform support (#14659)
Add a Modules/Platform/MirBSD.cmake module that just includes the
OpenBSD platform module.
2013-12-19 11:08:28 -05:00
Brad King 95c705a6a9 TestCXXAcceptsFlag: Update documentation (#14657)
Document this module as deprecated and link to CheckCXXCompilerFlag.
Fix cut-n-paste-o and format macro signature.
2013-12-19 10:41:40 -05:00