Commit Graph

3675 Commits

Author SHA1 Message Date
David Cole 349ea3f6e6 Merge topic 'ImprovedCOMPONENTSSupportInFindPackage2'
6d100f9 find_package: Test rejection of required+optional components
d81d83c add macro check_required_components() to configure_package_config_file()
b15c0b4 FPHSA(): add HANDLE_COMPONENTS option
34108cd find_package: add documentation for OPTIONAL_COMPONENTS
cdabde8 FPHSA(): add missing "]" to documentation
f2e0a18 find_package: add OPTIONAL_COMPONENTS keyword
2012-03-21 13:26:46 -04:00
Alex Neundorf 1ab4b3e123 guard eCos.cmake against multiple inclusion (#12987)
Alex
2012-03-20 22:13:47 +01:00
Alex Neundorf 00af40b29b Eclipse: fix #13036, make version detection work with symlinks
This patch uses get_filename_component(REALPATH) so symlinks in the path
to Eclipse are resolved, which makes the version detection work in such cases.

Alex
2012-03-20 22:06:38 +01:00
Bill Hoffman 2f9ad7c6e6 Fix FindMPI for the intel compiler on linux by looking in implict directories.
Use the CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES to look for libraries
that are in the -showme output from mpi<lang> programs. This is because
some libraries reported by -showme are found there, and FindMPI will
fail if they are not found.
2012-03-20 15:18:53 -04:00
Brad King bfc8d137c5 Merge topic 'fix-12621-xcode43'
0f4dfa6 CPack: Use real path to PackageMaker to find its version file (#12621)
4693cf8 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
2012-03-19 14:41:43 -04:00
Alex Neundorf d81d83c218 add macro check_required_components() to configure_package_config_file()
As discussed on cmake-developers, this patch adds a macro
check_required_components() to the file configured via
configure_package_config_file(), so for proper handling
of components in Config.cmake files users can simply call

check_required_components(PackageName)

and this will do the right thing.

Alex
2012-03-19 10:53:36 -04:00
Alex Neundorf b15c0b418b FPHSA(): add HANDLE_COMPONENTS option
if the HANDLE_COMPONENTS is used, FPHSA() now also checks all required COMPONENTS,
i.e. all elements from <name>_FIND_COMPONENTS for which <name>_FIND_REQUIRED_<comp>
is true, and sets <name>_FOUND only to true if all have been found.
As discussed on cmake-developers.

Alex
2012-03-19 10:53:36 -04:00
Alex Neundorf 34108cd3b3 find_package: add documentation for OPTIONAL_COMPONENTS
This patch adds documentation for OPTIONAL_COMPONENTS to cmFindPackage.cxx,
and also extends Modules/readme.txt significantly with regard to how
components should be handled.

Alex
2012-03-19 10:53:36 -04:00
Alex Neundorf cdabde82c2 FPHSA(): add missing "]" to documentation
Alex
2012-03-19 10:53:36 -04:00
Brad King 572994bd9f Merge topic 'ninja-generator'
8485208 Ninja: shell escape $(CMAKE_SOURCE_DIR) and $(CMAKE_BINARY_DIR)
df84767 Ninja: add support for OBJECT_OUTPUTS, fix PrecompiledHeader test case
48eb7fc Ninja: Avoid using 'this' in member initializers
bba37dd Ninja: Fix for PDB files with spaces in the path.
ac800f4 Ninja: Constify use of cmCustomCommand
9a0d5a8 Ninja: add /DEF: flag to linker call
d40eebd Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator.
8c63433 Ninja: Add friend struct so it can access the private ConvertToNinjaPath.
dbe3dce Ninja: add .def file support
f1bb08f Ninja: ensure the output dir exists at compile time
7a6b5f4 Ninja: Remove an unnecessary variable
80ff210 Ninja: Use cmSystemTools::ExpandListArgument to split compile/link commands
d2731a3 Ninja: Add a missed license header
eabc9b0 Ninja: CMake: Adapt Ninja generator for per-target include dirs
bada88e Merge branch 'target-include-directories' into ninja-generator
54bd175 Ninja: windows msvc: create for each target a .pdb file
...
2012-03-19 09:29:06 -04:00
Brad King 6452aea231 Merge topic 'ExactVersionModeForVersionFile'
e390f87 WriteBasicConfigVersionFile: add test for ExactVersion mode
5d18223 write_basic_package_version_file: add ExactVersion mode
1c69cd8 write_basic_package_version_file(): improve documentation
2012-03-13 11:54:33 -04:00
Brad King ffdb8e2b6a Merge topic 'FindCxxTest-version-4-issue-13022'
a556137 FindCxxTest: Add support for CxxTest 4 (#13022)
2012-03-13 11:52:54 -04:00
Alex Neundorf 5d18223917 write_basic_package_version_file: add ExactVersion mode
This mode is for packages which consider themselves only compatible if
exactly the same version is requested. The tweak version is ignored.

Alex
2012-03-10 16:10:52 +01:00
Alex Neundorf 1c69cd8feb write_basic_package_version_file(): improve documentation
add notes when which mode should be used

Alex
2012-03-10 16:09:17 +01:00
David Cole 4693cf8492 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
Xcode 4.3 installs into "/Applications" by default, from the Mac App Store.

Also, the paths to the available SDKs changed: they are now within the
Xcode.app bundle.

PackageMaker is installed as a separate program, and may be installed
anywhere. It is not installed with Xcode 4.3 by default anymore.
Download the "Auxiliary Tools for Xcode" to get PackageMaker.
Put PackageMaker inside the Xcode.app bundle, in its nested Applications
folder, or put it alongside Xcode in "/Applications" and CMake will find
it.

Update references to "find" paths: add new possible locations for finding
Xcode.app and PackageMaker.app. Prefer the most recent version's locations
first, but keep the old locations as fallback search paths, too.

Thanks to all the contributors who provided and tested out various patches
for fixing this issue. Especially, but by no means limited to:
Francisco Requena Espí, Jamie Kirkpatrick and drfrogsplat.
2012-03-08 22:43:19 -05:00
David Cole 36ce6e01f8 Merge topic 'qt4-deploy'
2c601c1 DeployQt4: Add path to Qt dlls on Windows.
2012-03-08 15:14:40 -05:00
David Cole da43d8fa8d Merge topic 'MakingConfigFilesEasier_ConfigureMacro'
6973e2d wrap write_basic_config_version_file as write_basic_package_version_file()
204f5d4 add CMakePackageConfigHelpers: configure_package_config_file()
2012-03-08 15:14:12 -05:00
David Cole 9f6c38253a Merge topic 'CPackNSIS-addMissingDoc'
d4719a8 Add some missing CPACK_NSIS_xxx doc and move some to common CPack section.
2012-03-08 15:13:51 -05:00
Clinton Stimpson 2c601c100b DeployQt4: Add path to Qt dlls on Windows. 2012-03-07 11:43:27 -07:00
Alex Neundorf 6973e2d5a8 wrap write_basic_config_version_file as write_basic_package_version_file()
So the name fits better with configure_package_config_file(), as
discussed on the mailing list. Adapt the documentation accordingly.

Alex
2012-03-07 11:23:18 -05:00
Alex Neundorf 204f5d443c add CMakePackageConfigHelpers: configure_package_config_file()
The function configure_package_config_file() may be used instead of
configure_file() for generating the Config.cmake files for installation,
they help to make those files relocatable.

Alex
2012-03-07 11:23:11 -05:00
Droscy a556137608 FindCxxTest: Add support for CxxTest 4 (#13022)
In CxxTest version 4 the Perl generator has been deleted and the
Python generator is installed without the ".py" extension.
2012-03-07 07:59:45 -05:00
Eric NOULARD d4719a8d36 Add some missing CPACK_NSIS_xxx doc and move some to common CPack section. 2012-03-06 23:23:08 +01:00
David Cole 50f9db9b00 Merge topic 'skip-install-rpath'
635bf50 Add an option to skip RPATH during installation.
2012-03-06 15:27:54 -05:00
David Cole 5aa0f24350 Merge topic 'improve-findqt3'
678c24d FindQt3: fix detection of Qt3 include directory
91a1670 FindQt3: let FPHSA handle the version selection
9dae4d6 FindQt3: fix version extraction for versions with letters
2cd898d FindQt3: fix warning when Qt3 is not found
2012-03-06 15:26:31 -05:00
David Cole b22f2f18c1 Merge topic 'qt4-deploy'
4689eed reflect that the QtAutomoc depends on QtGui
ab9661c Remove QtGui dependency in Qt4Deploy test and verify QtSql existance.
52e8279 Fix for Qt4Deploy on some test machines.
672e3bb Add test for DeployQt4.cmake
4853e1e Fix plugin installation issues.
35cbf23 Ensure libs are passed to BundleUtilities.
0ac1535 Fix bad plugin paths.
a2123e8 Fix mismatched arguments.
fc6f340 Don't use QT_LIBRARIES_PLUGINS by default.
2012-03-06 15:25:02 -05:00
Stephen Kelly 635bf50c27 Add an option to skip RPATH during installation. 2012-03-05 22:24:57 +01:00
Rolf Eike Beer 678c24d230 FindQt3: fix detection of Qt3 include directory
The include directory is likely not inside ../bin
2012-03-02 18:08:37 +01:00
Rolf Eike Beer 91a1670f47 FindQt3: let FPHSA handle the version selection 2012-03-02 18:08:37 +01:00
Rolf Eike Beer 9dae4d65d7 FindQt3: fix version extraction for versions with letters 2012-03-02 18:08:37 +01:00
David Cole be0bb04be3 Merge topic 'document-missing-versions'
95f5094 document when version detection will not work
2012-03-02 11:49:08 -05:00
David Cole 0eb520f47c Merge topic 'fix-FindPackageMode-symlink'
0b86388 CMakeFindPackageMode: fix 32/64bit detection if 'file' is a symlink
2012-03-02 11:47:59 -05:00
David Cole fc495b79da Merge topic 'findpythoninterp-version-detection'
7d6db93 FindPythonInterp: rework the version detection
2012-03-02 11:47:31 -05:00
David Cole b930798042 Merge topic 'fix-findimagemagick-no-components'
518f965 FindImageMagick: fix fail if no components were given
2012-03-02 11:47:11 -05:00
David Cole 6c36bbd442 Merge topic 'CPack-fixPackageMaker-doc'
2ace342 Typo: Add missing ##end for ##module
c895062 Update CPack PackageMaker variable doc layout
2012-03-02 11:46:40 -05:00
David Cole e95a2f8f94 Merge topic 'CPack-cygwinGeneratorDoc'
98d1583 Provide template for CPack Cygwin generator specific variables.
2012-03-02 11:46:31 -05:00
David Cole c79a57b0ac Merge topic 'CPack-updateCommonDoc'
6ad0f04 Update CPackConfig template.
94a2693 Review and update CPack variable documentation.
2012-03-02 11:46:23 -05:00
David Cole 54225c0706 Merge topic 'CPack-fixCPackDMG-docLayout'
b3851f5 Fix CPack Drag and Drop generator documentation layout.
2012-03-02 11:46:09 -05:00
David Cole e4fb3e3212 Merge topic 'CPack-fixCPackBundleDocLayout'
4849e6a Fix layout of the CPack Bundle documentation
2012-03-02 11:46:00 -05:00
David Cole 4a97a2b913 Merge topic 'fix-findhspell-version'
213eb6e FindHSPELL: set HSPELL_VERSION_STRING
2012-03-02 11:45:39 -05:00
David Cole 391f4113e0 Merge topic 'improve-findopenscenegraph'
ffdaa47 FindOpenSceneGraph: give every message() with an explicit level
2012-03-02 11:45:21 -05:00
David Cole ccd502ad44 Merge topic 'improve-generateexportheader'
c28e276 GenerateExportHeader: improve compiler identification
4412fc0 GenerateExportHeader: remove unneeded code
2012-03-02 11:44:58 -05:00
David Cole d2213c5b23 Merge topic 'icc-compiler-flags'
f6ecb90 Check{C,CXX}CompilerFlag: detect ICC error messages
2012-03-02 11:44:47 -05:00
David Cole 5264292a26 Merge topic 'improve-findpythonlibs'
53d02ea FindPythonLibs: stop scanning when libraries are found
91d5a2a FindPythonLibs: put debug libraries into PYTHON_LIBRARIES
c9c1a17 FindPythonLibs: get the exact version of the found library (#3080)
f772378 FindPythonLibs: make the version selection work as for PythonInterp
bbddaee FindPython{Interp,Libs}: document Python_ADDITIONAL_VERSIONS as input
2012-03-02 11:44:37 -05:00
David Cole d284bd7843 Merge topic 'cleanup-useswig'
aca1121 UseSWIG: clean up string compares
2012-03-02 11:44:26 -05:00
David Cole fe8fbc6b48 Merge topic 'simplify-findopenmp'
0110262 FindOpenMP: simplify check for enabled languages
2012-03-02 11:44:15 -05:00
David Cole 973eba57f9 Merge topic 'fix-generate_export_header-docs'
40efa4d Fix documented function signature to match reality.
2012-03-02 11:44:05 -05:00
David Cole ad2de3a0c5 Merge topic 'add-Embarcadero-support'
bdbbf76 Recognize Embarcadero compiler (#12604)
3f78ced Rename Modules/Platform/Windows-{Borland => Embarcadero}.cmake
2012-03-02 11:43:48 -05:00
Rolf Eike Beer 2cd898d54b FindQt3: fix warning when Qt3 is not found
-- Could NOT find Qt3 (missing:  QT_QT_LIBRARY QT_INCLUDE_DIR QT_MOC_EXECUTABLE)
CreateProcess failed QT_MOC_EXECUTABLE-NOTFOUND -v
CreateProcess failed QT_UIC_EXECUTABLE-NOTFOUND -version
2012-03-02 17:02:03 +01:00
Rolf Eike Beer 95f50940cc document when version detection will not work 2012-02-29 18:46:47 +01:00
Yury G. Kudryashov 0b8638821e CMakeFindPackageMode: fix 32/64bit detection if 'file' is a symlink 2012-02-28 12:59:01 -05:00
Rolf Eike Beer 7d6db93de9 FindPythonInterp: rework the version detection
There are versions out there that neither understand --version nor -V. Try a
completely different approach: execute a small python script that prints the
version number (and only that) in an easily reusable way using
sys.version_info. This is documented to work since Python 2.0. Use sys.version
for older versions, which is documented to exist since 1.5. If even that
doesn't work then simply assume we are on 1.4.0.
2012-02-27 18:15:01 +01:00
Rolf Eike Beer 518f965bba FindImageMagick: fix fail if no components were given
The variable name should be added to the list here, not the content.
2012-02-27 17:25:24 +01:00
Eric NOULARD 2ace3427ac Typo: Add missing ##end for ##module 2012-02-25 23:28:31 +01:00
Eric NOULARD 98d158376e Provide template for CPack Cygwin generator specific variables. 2012-02-25 23:26:41 +01:00
Eric NOULARD c895062180 Update CPack PackageMaker variable doc layout 2012-02-25 23:14:47 +01:00
Eric NOULARD 94a269304e Review and update CPack variable documentation.
This concerns all variables common to all CPack generators.
Variables mainly used and/or set in CPack.cmake are documented
therein. C++ built-in variables are documented in
cmCPackDocumentVariables.cxx.
2012-02-25 23:07:07 +01:00
Eric NOULARD b3851f504d Fix CPack Drag and Drop generator documentation layout. 2012-02-25 19:18:52 +01:00
Eric NOULARD 4849e6ac63 Fix layout of the CPack Bundle documentation
CPACK_BUNDLE_STARTUP_SCRIPT was in fact CPACK_BUNDLE_STARTUP_COMMAND in
the C++ code. The doc has been changed accordingly.
2012-02-25 19:05:08 +01:00
Rolf Eike Beer 213eb6e6a6 FindHSPELL: set HSPELL_VERSION_STRING
This variable was documented, but never set.
2012-02-25 14:52:19 +01:00
Rolf Eike Beer ffdaa4761c FindOpenSceneGraph: give every message() with an explicit level 2012-02-24 20:39:01 +01:00
Rolf Eike Beer c28e276948 GenerateExportHeader: improve compiler identification
Use CMAKE_<LANG>_COMPILER_VERSION instead of calling the compiler. This macro
predates those useful variables. This also fixes the issue that g++ version
detection was not working if C language was not enabled.
2012-02-24 17:48:02 +01:00
Rolf Eike Beer 4412fc0890 GenerateExportHeader: remove unneeded code
These expressions check for command line arguments unsupported by the compiler.
We don't pass any custom flags here anyway so this isn't needed.
2012-02-24 17:13:22 +01:00
Rolf Eike Beer f6ecb900fb Check{C,CXX}CompilerFlag: detect ICC error messages
Patch provided by Christopher Sean Morrison.
2012-02-23 23:08:04 +01:00
Mike McQuaid 4853e1effd Fix plugin installation issues. 2012-02-23 21:01:45 +00:00
Rolf Eike Beer 53d02ea1ea FindPythonLibs: stop scanning when libraries are found 2012-02-23 18:49:06 +01:00
Rolf Eike Beer 91d5a2a386 FindPythonLibs: put debug libraries into PYTHON_LIBRARIES 2012-02-23 18:48:24 +01:00
Rolf Eike Beer aca1121ea6 UseSWIG: clean up string compares 2012-02-23 18:39:23 +01:00
David Cole bada88e8e4 Merge branch 'target-include-directories' into ninja-generator 2012-02-22 16:21:48 -05:00
Rolf Eike Beer 0110262a2d FindOpenMP: simplify check for enabled languages 2012-02-22 17:47:52 +01:00
Rolf Eike Beer c9c1a17609 FindPythonLibs: get the exact version of the found library (#3080) 2012-02-22 17:20:15 +01:00
Rolf Eike Beer f7723786e7 FindPythonLibs: make the version selection work as for PythonInterp 2012-02-22 17:20:15 +01:00
Rolf Eike Beer bbddaeef7e FindPython{Interp,Libs}: document Python_ADDITIONAL_VERSIONS as input
The current documentation could be read as if that variable is output from the
module, which is nonsense.
2012-02-22 17:20:15 +01:00
Stephen Kelly 40efa4db74 Fix documented function signature to match reality.
The function description is already correct.
2012-02-21 23:54:01 +01:00
David Cole 8ef15df700 Merge topic 'HandleTargetsInCMakeRequiredLibraries'
35c48e1 Check*.cmake: Expand imported targets in CMAKE_REQUIRED_LIBRARIES
61cb4ea bootstrap: move while() and endwhile() into the bootstrap build
c9f2886 -don't pull in CheckTypeSize.cmake from the cmake which is being built
628f365 -remove trailing whitespace
2012-02-21 15:58:27 -05:00
David Cole bf6560091d Merge topic 'qt3-find-qtmain'
f506621 Fix paths/hints for finding qtmain.
2012-02-21 15:58:06 -05:00
David Cole 7d02020d68 Merge topic 'CPack-dynamicDocSection'
9a8103e Try to fix compile error on Win32-vs70
4da2223 Fix typo in end markup
cfac874 More documentation concerning CPack Components
dee0a38 Put CPack DMG and PackageMaker doc in separate files
b4abcfe Correct copy/paste section name mistake
9717727 Suppress unecessary (now empty) doc sections
7a8f44a Add structure documentation for CPack Bundle generator
b8a274c Add structured documentation for NSIS
a6bce55 Dynamically add documentation section specified in documented script.
2012-02-21 15:57:17 -05:00
David Cole 6c6c266439 Merge topic 'GenerateExportHeader_MinorFix'
54e1f6f GenerateExportHeader: use double quotes around _gcc_version
2012-02-21 15:57:02 -05:00
David Cole 09c16ca488 Merge topic 'improve-findopenmp'
6f573ac FindOpenMP: try the most likely flags first
81228e9 FindOpenMP: do not fail if only C or CXX is enabled (#11910)
2012-02-21 15:56:53 -05:00
David Cole 115d770b33 Merge topic 'improve-findfreetype'
f58cce0 FindFreetype: support version selection
2012-02-21 15:56:35 -05:00
David Cole 751e492840 Merge topic 'fix-typos-12975'
7ec2ebd fix the same typos as found by Debian in other places, too
d36d29f various typo and formatting fixes in manual pages (#12975)
2012-02-21 15:56:13 -05:00
David Cole 7d4074e1f8 Merge topic 'improve-findpkgconfig'
2750115 FindPkgConfig: support version selection of pkg-config itself
2012-02-21 15:56:03 -05:00
David Cole 40d2da09c5 Merge topic 'improve-findlibxslt'
70697a8 FindLibXslt: support version selection
2012-02-21 15:55:34 -05:00
David Cole 7023f610d4 Merge topic 'improve-findruby'
854e762 FindRuby: clean up querying variables from Ruby
2012-02-21 15:55:26 -05:00
David Cole d39acfa105 Merge topic 'findblas-bugs'
4585e57 FindBLAS/FindLAPACK: Work with MKL version 10.3 (#12924, #12925)
2012-02-21 15:55:11 -05:00
David Cole ee9fd3d3d3 Merge topic 'FindX11_SearchXxf86vm'
b295162 fix #6976: FindX11 also searches for X11_Xxf86vm_LIB
2012-02-21 15:54:40 -05:00
David Cole 1b1eb9740b Merge topic 'fix_fortran_dir_two_dirs'
087bea3 Allow two cmake_add_fortran_subdirectory calls in the same project.
2012-02-21 15:54:29 -05:00
David Cole e17f270b7a Merge topic 'improve-findglut'
14dadbd FindGLUT: honor REQUIRED (#12466)
2012-02-21 15:54:19 -05:00
David Cole d84233a70d Merge topic 'findperllibs-windows'
10dfec3 FindPerlLibs: properly detect libperl on Windows (#12224)
2012-02-21 15:53:50 -05:00
David Cole 27431d2886 Merge topic 'FindGetTextFixMultipleTargets'
3b48822 FindGetText: fix multiple targets with the same name problem (CMP0002)
2012-02-21 15:53:31 -05:00
Alex Neundorf 35c48e1270 Check*.cmake: Expand imported targets in CMAKE_REQUIRED_LIBRARIES
Add the function cmake_expand_imported_targets() to expand imported
targets in a list of libraries into their on-disk file names for a
particular configuration.  Adapt the implementation from KDE's
HANDLE_IMPORTED_TARGETS_IN_CMAKE_REQUIRED_LIBRARIES which has been in
use for over 2 years.  Call the function from all the Check*.cmake
macros to handle imported targets named in CMAKE_REQUIRED_LIBRARIES.

Alex
2012-02-21 15:38:15 -05:00
Alex Neundorf 628f365140 -remove trailing whitespace
Alex
2012-02-21 15:33:31 -05:00
Mike McQuaid 35cbf23c95 Ensure libs are passed to BundleUtilities. 2012-02-21 17:13:59 +00:00
Mike McQuaid 0ac15353e0 Fix bad plugin paths. 2012-02-21 17:13:09 +00:00
Mike McQuaid a2123e8f3e Fix mismatched arguments. 2012-02-21 17:12:32 +00:00
Mike McQuaid fc6f340137 Don't use QT_LIBRARIES_PLUGINS by default.
A lot of the libraries won't be found by default so will spit out
all sorts of errors. Don't kill QT_LIBRARIES_PLUGINS altogether as
it is sometimes useful.
2012-02-21 17:12:32 +00:00
Clinton Stimpson f5066217db Fix paths/hints for finding qtmain. 2012-02-20 13:02:11 -07:00
Brad King bdbbf763d6 Recognize Embarcadero compiler (#12604)
The Borland compiler was re-branded as CodeGear during 2007-2009 and
since 2009 is the Embarcadero compiler.  They offer predefined macros:

  http://docwiki.embarcadero.com/RADStudio/en/Predefined_Macros

and distinguish themselves by __CODEGEARC__ and __CODEGEARC_VERSION__.

Version 6.30 (C++Builder XE) changed the meaning of some flags:

  http://docwiki.embarcadero.com/RADStudio/en/C%2B%2B_Compiler_Option_Changes_for_XE

Teach Embarcadero compiler information files to generate build rules
with flags matching the compiler version.  Leave the flags unchanged
for old Borland versions.  Always set the BORLAND toolchain indicator
for compatibility with existing projects that test it.  Also set the
EMBARCADERO indicator for newer toolchains.
2012-02-20 10:09:44 -05:00
Eric NOULARD 4da2223ab7 Fix typo in end markup 2012-02-18 23:13:45 +01:00
Eric NOULARD cfac874b77 More documentation concerning CPack Components 2012-02-18 23:10:14 +01:00