Commit Graph

3741 Commits

Author SHA1 Message Date
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
Eric NOULARD dee0a38648 Put CPack DMG and PackageMaker doc in separate files 2012-02-18 22:33:10 +01:00
Eric NOULARD b4abcfecbe Correct copy/paste section name mistake 2012-02-18 22:31:43 +01:00
Eric NOULARD 7a8f44a2d6 Add structure documentation for CPack Bundle generator 2012-02-18 22:14:45 +01:00
Eric NOULARD b8a274c091 Add structured documentation for NSIS 2012-02-18 22:10:19 +01:00
Eric NOULARD a6bce55aef Dynamically add documentation section specified in documented script.
Modify CPackDeb and CPackRPM as an example
2012-02-18 22:07:39 +01:00
Alex Neundorf 54e1f6f5a5 GenerateExportHeader: use double quotes around _gcc_version
The GenerateExportHeaders test was failing on one machine, the version
could not be determined there, so the _gcc_version was empty,
so the first argument to if() was empty, so it complained:
http://open.cdash.org/testDetails.php?test=135623436&build=2016288
Use double quotes to turn the non-existant first argument into an empty
string.

Alex
2012-02-18 20:58:19 +01:00
Rolf Eike Beer 6f573ac9ee FindOpenMP: try the most likely flags first
Since we know which compiler we have we can test those OpenMP flags first that
are likely to be correct. This doesn't make any difference for GNU compilers,
but it should avoid useless try_compiles and output cluttering for all others.
2012-02-18 16:52:50 +01:00
Rolf Eike Beer 7ec2ebdbcf fix the same typos as found by Debian in other places, too 2012-02-18 16:13:34 +01:00
Modestas Vainius d36d29f1f0 various typo and formatting fixes in manual pages (#12975)
The patch fixes the following lintian warnings:

W: cmake-data: manpage-has-errors-from-man usr/share/man/man1/cmakemodules.1.gz 2728: warning: macro `..' not defined
I: cmake-data: spelling-error-in-manpage usr/share/man/man1/cmakemodules.1.gz overriden overridden
I: cmake-data: spelling-error-in-manpage usr/share/man/man1/cmakemodules.1.gz overriden overridden
I: cmake-data: spelling-error-in-manpage usr/share/man/man1/cmakemodules.1.gz explicitely explicitly
I: cmake-data: spelling-error-in-manpage usr/share/man/man1/cmakemodules.1.gz jave java
W: cmake-data: manpage-has-errors-from-man usr/share/man/man1/cmakeprops.1.gz 1040: warning [p 25, 3.7i]: can't break line
W: cmake: manpage-has-errors-from-man usr/share/man/man1/cmake.1.gz 4233: warning [p 85, 1.3i]: can't break line
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz overriden overridden
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz overriden overridden
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz explicitely explicitly
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz jave java
2012-02-18 16:12:45 +01:00
Rolf Eike Beer 27501155c7 FindPkgConfig: support version selection of pkg-config itself 2012-02-18 11:57:38 +01:00
Peter Kuemmel f999a59afe Ninja: don't define MSVC_IDE when using the ninja generator
Thanks to Oscar Fuentes
2012-02-18 11:24:41 +01:00
Brad King 3f78ced7c2 Rename Modules/Platform/Windows-{Borland => Embarcadero}.cmake
The Borland compiler is now the Embarcadero compiler.  Rename the shared
platform information file to reflect this.  This does not change the
interface, as old versions are still "Borland", but will allow new
versions released by Embarcadero to be supported cleanly.
2012-02-17 17:04:19 -05:00
Rolf Eike Beer f58cce031e FindFreetype: support version selection 2012-02-17 18:31:23 +01:00
Rolf Eike Beer 70697a85a0 FindLibXslt: support version selection 2012-02-17 18:17:12 +01:00
Rolf Eike Beer 854e76237c FindRuby: clean up querying variables from Ruby
Newer Ruby versions (from 1.9 onward) seem to warn if you query Config::CONFIG
and print a warning to use RbConfig instead. RbConfig seems to also work in
older versions, at least in 1.8. Use a macro to query RbConfig first and only
if that doesn't give anything fall back to Config.
2012-02-17 18:06:07 +01:00
Alexey Ozeritsky 4585e573b8 FindBLAS/FindLAPACK: Work with MKL version 10.3 (#12924, #12925) 2012-02-16 18:03:08 -05:00
Alex Neundorf b2951624dc fix #6976: FindX11 also searches for X11_Xxf86vm_LIB
This contains a change, which changes the behaviour a bit:
now X11_xf86vmode_FOUND is only set to TRUE and the include directory
is added to X11_INCLUDE_DIR, if additionally to X11_xf86vmode_INCLUDE_PATH
also X11_Xxf86vm_LIB has been found.
I hope this doesn't cause regressions somewhere.

Alex
2012-02-16 09:36:27 +01:00
Bill Hoffman 087bea35c1 Allow two cmake_add_fortran_subdirectory calls in the same project.
Configure the build_mingw.cmake.in  config_mingw.cmake.in files
into the binary directory of the directory being built, not the
top level binary directory for the project.
2012-02-15 22:42:31 -05:00
Rolf Eike Beer 14dadbde80 FindGLUT: honor REQUIRED (#12466) 2012-02-15 21:54:51 +01:00
Rolf Eike Beer 10dfec3bb6 FindPerlLibs: properly detect libperl on Windows (#12224)
This also cleans up a bunch of things on the way:
-when perl was queried for paths they were not converted to CMake style on
 Windows.
-the result when perl was queried for the perl library name was ignored since
 it was expanded with the possible paths, which is not a valid input for
 find_library(). If perl returns a library name we now will look only for this
 name and not for the default names and use the default names only when the
 executable does not give us a hint.
-get rid of 2 variables that were only used at one place and directly put the
 values in the call to find_library() and find_path().

Inspired by Jeff Trull
2012-02-14 22:18:44 +01:00
David Cole 65a7a0a17f Merge topic 'asn_java_exec'
18e8d2f java: Add CMAKE_JAVA_JAR_ENTRY_POINT optional variable.
525bb92 java: Add CMAKE_JAVA_TARGET_OUTPUT_DIR optional variable.
17a8e16 java: Factor jar output path.
2012-02-14 16:17:36 -05:00
David Cole fae411d9f6 Merge topic 'open64-compiler-flags'
9b4e4c9 Improve checks for Open64 and g++ incompatible flags (#12119)
2012-02-14 16:17:25 -05:00
David Cole 4d278e4905 Merge topic 'alsa_prefix_include_fix'
11cf52e FindALSA: Fix version detection after last commit
815485e FindALSA: Fix incorrect include path detection
2012-02-14 16:17:15 -05:00
David Cole 16447fa92f Merge topic 'sdl-fphsa'
a6de8a5 FindSDL*: use FPHSA (#12467)
2012-02-14 16:16:57 -05:00
David Cole c69a20573e Merge topic 'cmake_add_fortran_subdirectory'
1e16406 CMakeAddFortranSubdirectory: Add NO_EXTERNAL_INSTALL option
6f6891b CMakeAddFortranSubdirectory: Always parse arguments
48a09f8 CMakeAddFortranSubdirectory: Make IMPORTED targets GLOBAL
067c1f4 VSGNUFortran: Disable test in special cases
bd69e1c VSGNUFortran: Add special case for SunPro Fortran runtime library
414a780 CMakeAddFortranSubdirectory: Validate gfortran architecture
7e0d9f1 CMakeAddFortranSubdirectory: Find gfortran in PATH
d6b0312 CMakeAddFortranSubdirectory: Fix documentation format and typos
e4ae038 CMakeAddFortranSubdirectory: Allow full paths to directories
538c345 Add CMakeAddFortranSubdirectory to use MinGW gfortran in VS
3c6af5f Merge branch 'add-CheckLanguage-module' into CMakeAddFortranSubdirectory
2012-02-14 16:16:15 -05:00
David Cole d3d79c8b80 Merge topic 'qt4-translation-includes'
7a6d279 FindQt4: Add include directories for lupdate.
2012-02-14 16:16:03 -05:00
David Cole 073b39f445 Merge topic 'qt4-warning-clarification'
cbdfcc6 FindQt4: clarify warning message about incorrect Qt installation.
2012-02-14 16:15:50 -05:00
David Cole 322de4279d Merge topic 'PGI-recognise-pgfortran'
bb5f48f detect "pgfortran" as PGI Fortran compiler (#12425)
2012-02-14 16:15:38 -05:00
David Cole 885d9ea0b6 Merge topic 'findx11-xmu'
c008141 FindX11: also search for Xmu (#12447)
2012-02-14 16:15:26 -05:00
David Cole 4fd339c831 Merge topic 'add-CheckLanguage-module'
5db99e8 Add CheckLanguage module
2012-02-14 16:15:14 -05:00
David Cole 4f9c114dfa Merge topic 'ImproveCPackDoc-reloaded'
d4b77eb Avoid discovering system infos for documentation. Adding some path is enough.
9002f73 Fix non existent std::string::clear on VS6
02ccb32 Create getDocumentedModulesListInDir which may be used in other context.
24fbc28 Add missing section markup for CPackComponent
bafd8a9 Example of builtin variable documentation (i.e. only used in C++ source code).
543f1ad Make the load of script documentation more efficient and dynamic.
cdbd1a9 Fix another compiler warning due to a typo
52c53de Really avoid compiler warning about unused vars
37f90ed Calm down compiler warning about unused var
7c82b7f Fix potential bad memory access, thanks to Eike
62b589b Suppress unused var, beautify code, avoid 1 extra newline.
751713f Update bash completion file in order to handle new CPack doc options.
1629615 CPack Documentation extraction from CMake script begins to work
83e34dd Implement simple CMake script comment markup language.
c6a0169 CPack begin the implementation of --help-command* and --help-variables*
2012-02-14 16:14:56 -05:00
Eric NOULARD 24fbc28e5f Add missing section markup for CPackComponent 2012-02-14 16:05:23 -05:00
Eric NOULARD 543f1adfa4 Make the load of script documentation more efficient and dynamic.
CPack help will be searched in any CPack*.cmake file located
near to CPack.cmake file. The script files is parsed iff
the first line begin with ##section. Moreover the documentation
section name is specified on the remaining part of the line
minus the space immediately following ##section.
2012-02-14 16:05:23 -05:00
Nicolas Despres 18e8d2f0cc java: Add CMAKE_JAVA_JAR_ENTRY_POINT optional variable.
Thanks to Matthieu Carpentier.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2012-02-13 13:28:28 +01:00
Nicolas Despres 525bb92a3d java: Add CMAKE_JAVA_TARGET_OUTPUT_DIR optional variable.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2012-02-13 13:28:13 +01:00
Nicolas Despres 17a8e16cd2 java: Factor jar output path.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2012-02-13 13:27:48 +01:00
Alex Neundorf 3b48822803 FindGetText: fix multiple targets with the same name problem (CMP0002)
The functions in FindGettext create a custom target. If the functions
are called multiple times, multiple times the same target is created.
This works only if CMP0002 is set to OLD.
With this patch there is only one central target created, and each
invocation of the function creates a target with a unique name and
make the central target depend on this one.

Alex
2012-02-12 18:57:28 +01:00
Matthias Kretz 9b4e4c92ae Improve checks for Open64 and g++ incompatible flags (#12119) 2012-02-12 10:42:54 +01:00
Philip Lowman 11cf52ebce FindALSA: Fix version detection after last commit
Also, removed detection of header file from <PREFIX>/include.
Can't find any example in alsa source code where the library headers
were installed outside of <PREFIX>/include/alsa.
2012-02-11 20:37:48 -05:00
Philip Lowman 815485e933 FindALSA: Fix incorrect include path detection
This fixes a bug where the alsa include path was being detected
incorrectly (e.g. /usr/local/include/alsa instead of /usr/local/include)
2012-02-11 18:51:22 -05:00
Rolf Eike Beer a6de8a5882 FindSDL*: use FPHSA (#12467) 2012-02-11 17:19:00 +01:00
Brad King 1e16406dc9 CMakeAddFortranSubdirectory: Add NO_EXTERNAL_INSTALL option
We do not yet support "make install" in the external project case.
Document this explicitly in the interface.  Require the caller to use an
option to "disable" the unsupported behavior.  This will allow us to add
the behavior by default in the future without clobbering existing
projects that handle the installation themselves.
2012-02-09 08:38:56 -05:00
Brad King 6f6891b337 CMakeAddFortranSubdirectory: Always parse arguments
Parse arguments even in add_subdirectory() mode to validate them.
2012-02-09 08:38:56 -05:00
Bill Hoffman 48a09f82cc CMakeAddFortranSubdirectory: Make IMPORTED targets GLOBAL
cmake_add_fortran_directory uses imported targets when using the
mingw fortran compiler. This change makes those targets global
in scope so they act just like the real targets that exist when
a fortran compiler exists and regular add_subdirectory is used.
2012-02-09 08:38:52 -05:00
Brad King 414a780d1c CMakeAddFortranSubdirectory: Validate gfortran architecture
Verify that MINGW_GFORTRAN not only points to a MinGW gfortran but also
one that compiles for the target architecture.  This prevents using a
32-bit gfortran in a 64-bit MSVC build.
2012-02-09 08:34:14 -05:00
Brad King 7e0d9f15d6 CMakeAddFortranSubdirectory: Find gfortran in PATH
In the find_program(MINGW_GFORTRAN) call use the PATHS option for
hard-coded guesses instead of HINTS.  This allows the user environment
to override the guesses and corrects usage of the command options.
2012-02-09 08:34:14 -05:00
Brad King d6b031283a CMakeAddFortranSubdirectory: Fix documentation format and typos
Indent the function signature correctly.  Fix some typos.  Fix the
copyright year.
2012-02-09 08:34:06 -05:00
Brad King e4ae038f5d CMakeAddFortranSubdirectory: Allow full paths to directories
Fix the implementation to allow full paths with spaces.  Change the
interpretation of relative paths to be with respect to the current binary
directory.  This matches the convention used in ExternalProject.  Test
both full and relative paths in the VSGNUFortran test.
2012-02-09 08:34:06 -05:00
Bill Hoffman 538c3452ad Add CMakeAddFortranSubdirectory to use MinGW gfortran in VS
This patch adds a new module that allows for easy integration of MinGW
gfortran and the Visual Studio compiler. It is done in a function called
cmake_add_fortran_subdirectory. The patch also includes a test for this
feature.
2012-02-09 08:33:57 -05:00
Clinton Stimpson 7a6d2796e6 FindQt4: Add include directories for lupdate.
Fixes bug #12644.
Thanks Bernd Lörwald for partial patch.
2012-02-08 19:01:29 -07:00
Clinton Stimpson cbdfcc6515 FindQt4: clarify warning message about incorrect Qt installation.
Fixes bug #12915.
Thanks Laurent Rineau and Brad King for input.
2012-02-08 18:40:55 -07:00
Rolf Eike Beer bb5f48fe99 detect "pgfortran" as PGI Fortran compiler (#12425)
See http://www.pgroup.com/doc/pgiug.pdf, page xviii.
2012-02-08 20:26:27 +01:00
Rolf Eike Beer c008141eee FindX11: also search for Xmu (#12447) 2012-02-08 20:15:20 +01:00
Rolf Eike Beer 81228e9d1d FindOpenMP: do not fail if only C or CXX is enabled (#11910)
Inspired-By: Raymond Wan
2012-02-08 19:01:08 +01:00
Brad King 5db99e8708 Add CheckLanguage module
Define a "check_language(<lang>)" macro to test whether <lang> can be
enabled.  Cache the result in CMAKE_<lang>_COMPILER.  Add a test case
covering expected results.
2012-02-08 10:48:34 -05:00
David Cole 986981ea03 Merge topic 'lang-enable-order-issue-12929'
7495845 Fix CXX/Fortran MODULE flags when enabled before C (#12929)
2012-02-07 15:35:11 -05:00
David Cole 38e6757cd3 Merge topic 'improve-libarchive'
9e25b12 FindLibArchive: support version selection
2012-02-07 15:34:20 -05:00
David Cole aab8510c25 Merge topic 'perl-version'
31826b5 FindPerl{,Libs}: move version detection into FindPerl
2012-02-07 15:34:02 -05:00
David Cole c41020e873 Merge topic 'check_include_files_output'
44d007b CheckIncludeFiles: fix status output
2012-02-07 15:33:51 -05:00
David Cole 6c7a622279 Merge topic 'nsis-user-perm-issue-12923'
c4a0bce CPack: Fix NSIS handling of privileged users (#12923)
2012-02-07 15:33:01 -05:00
Brad King 749584509e Fix CXX/Fortran MODULE flags when enabled before C (#12929)
If CXX or Fortran is enabled before C then the values of

  CMAKE_SHARED_MODULE_C_FLAGS
  CMAKE_SHARED_MODULE_CREATE_C_FLAGS

may not be available.  On platforms where MODULE library (plugin) creation
is the same as SHARED library creation initialize the MODULE creation
flags from the SHARED creation flags of the matching language instead of
assuming that C has been enabled first.

Teach the COnly and CxxOnly tests to build MODULE libraries.  The latter
covers this specific case.
2012-02-03 15:45:13 -05:00
Peter Collingbourne 6dd410c2b9 Ninja: Add the Ninja generator 2012-02-02 23:40:21 +00:00
Peter Collingbourne 7eb8d9036c Provide dependency file flags to generator
Causes compiler modules (currently only GNU) to set a
CMAKE_DEPFILE_FLAGS_${lang} variable, which communicates to
the generator the flags required to cause the compiler to create
dependency files.
2012-02-02 23:36:49 +00:00
Rolf Eike Beer 9e25b12701 FindLibArchive: support version selection 2012-02-01 21:49:04 +01:00
David Cole 0a11d33066 Merge topic 'improve-findgettext'
77e6c6f FindGettext: support version selection
2012-02-01 14:51:27 -05:00
David Cole cf4c0f335d Merge topic 'Findosg_qt_and_presentation'
c040054 Findosg: New modules for osgQt and osgPresentation
2012-02-01 14:51:17 -05:00
David Cole 19d437f2ca Merge topic 'improve-findalsa'
1de14ec FindALSA: support version selection
2012-02-01 14:50:57 -05:00
David Cole e3abd669a2 Merge topic 'improve-findgnuplot'
8a83853 FindGnuplot: add version selection
2012-02-01 14:50:34 -05:00
David Cole 28088aa045 Merge topic 'fix-jasper-debug'
00e30a0 FindJasper: fix library name
2012-02-01 14:50:21 -05:00
David Cole 29cddc60cd Merge topic 'more-python-version'
bde7b5a FindPythonInterp: try harder to get a version number
2012-02-01 14:50:03 -05:00
David Cole 79b7fe9d5e Merge topic 'more-bison-version'
3cc11c2 FindBISON: add a version expression for GNU Bison 1.x
2012-02-01 14:49:39 -05:00
David Cole a3982c15e4 Merge topic 'fix-openssl-version'
0bee3d9 FindOpenSSL: properly parse the hex version components
2012-02-01 14:49:21 -05:00
David Cole 94af99d388 Merge topic 'improve-findpostgresql'
8e8db31 FindPostgreSQL: support version selection
2012-02-01 14:49:00 -05:00
David Cole 9603ee9115 Merge topic 'improve-libxml2'
9d7a001 FindLibXml2: detect version when PkgConfig is not used
2012-02-01 14:48:47 -05:00
David Cole ba96356434 Merge topic 'improve-findcurl'
0640ec9 FindCURL: detect version number also for older versions
2012-02-01 14:48:31 -05:00
David Cole 3f7cea092b Merge topic 'improve-findtiff'
815a6a2 FindTIFF: support version selection
2012-02-01 14:47:57 -05:00
David Cole fa6816bd71 Merge topic 'improve-findlua51'
49b69ad FindLua51: add version support
2012-02-01 14:47:15 -05:00
David Cole c8d102eb40 Merge topic 'improve-selectlibraryconfigurations'
1eaf1c9 SelectLibraryConfigurations: do not output identical configurations
2012-02-01 14:46:54 -05:00
David Cole a98f99a820 Merge topic 'improve-findtclsh'
e01fe58 FindTclsh: support version selection
2012-02-01 14:46:23 -05:00
David Cole b7fd024229 Merge topic 'findruby-no-dummy-version'
409aeaf FindRuby: do not blindly set version to 1.8.0
2012-02-01 14:46:15 -05:00
David Cole bbc7259f70 Merge topic 'improve-findpng'
0051506 FindPNG: support version selection
2012-02-01 14:45:55 -05:00
David Cole aa8aed83f2 Merge topic 'improve-findimagemagick'
1562b9c FindImageMagick: make use of more FPHSA features
2012-02-01 14:45:26 -05:00
Rolf Eike Beer 31826b5166 FindPerl{,Libs}: move version detection into FindPerl
If the first attempt of getting the version doesn't succeed, try a second
approach.
2012-02-01 19:31:17 +01:00
Rolf Eike Beer 44d007b659 CheckIncludeFiles: fix status output
CHECK_INCLUDE_FILES("foo.h" HAVE_FOO_H) gave an output like:

  Looking for include files HAVE_FOO_H

After this change it does now what CHECK_INCLUDE_FILE() also does:

  Looking for include files foo.h
2012-02-01 18:14:52 +01:00
Mattias Helsing c4a0bcea77 CPack: Fix NSIS handling of privileged users (#12923)
When using the NSIS generator from CPack the file NSIS.template.in is
used to generate a project.nsi file for NSIS to process.  The file
consists code in the NSIS scripting language.  Among other functions
there is an onInit function the initializes the installer.  The function
(tries to) recognise admin and power users but fails since NSIS
scripting language relative includes the jump from the current command
so +3 means "run the third command after this one", so a failed check
for admin completely skips the check for a power user and goes directly
to "done:".

User permission lookup was added in initial NSIS support by commit
a11b9a4c (Merge from CPack branch, 2006-01-01).  Later commit b1b052fd
(Several changes to for NSIS, 2006-03-01) added a line inside a block
that should be skipped by a jump without updating the jump length.
Update the jump length to correct the behavior.
2012-02-01 08:18:49 -05:00
Philip Lowman c040054746 Findosg: New modules for osgQt and osgPresentation
Added new find modules for osgQt and osgPresentation submitted by
Robert Osfield <robert.osfield@gmail.com>
2012-01-28 17:35:20 -05:00
Rolf Eike Beer 1de14ec56e FindALSA: support version selection 2012-01-28 10:30:11 +01:00
Rolf Eike Beer 8a83853f5f FindGnuplot: add version selection 2012-01-28 10:27:44 +01:00
Rolf Eike Beer 00e30a0a34 FindJasper: fix library name
Spotted by Patrick Spendrin.
2012-01-27 22:37:31 +01:00
Rolf Eike Beer bde7b5aafd FindPythonInterp: try harder to get a version number 2012-01-27 21:15:53 +01:00
Rolf Eike Beer 3cc11c2f42 FindBISON: add a version expression for GNU Bison 1.x 2012-01-27 20:40:55 +01:00
Rolf Eike Beer 0bee3d9539 FindOpenSSL: properly parse the hex version components 2012-01-27 17:51:29 +01:00
Rolf Eike Beer 8e8db31f33 FindPostgreSQL: support version selection 2012-01-26 21:58:34 +01:00
Rolf Eike Beer 9d7a00104f FindLibXml2: detect version when PkgConfig is not used 2012-01-26 18:35:13 +01:00
Rolf Eike Beer 0640ec9476 FindCURL: detect version number also for older versions
Older versions of cURL do not have a curlver.h, but have the version define
directly in curl.h.
2012-01-26 18:25:25 +01:00
Rolf Eike Beer 815a6a2e5c FindTIFF: support version selection 2012-01-26 18:19:31 +01:00
Rolf Eike Beer 49b69add60 FindLua51: add version support 2012-01-26 09:07:53 +01:00
Rolf Eike Beer 1eaf1c9b0f SelectLibraryConfigurations: do not output identical configurations
If the debug and release libraries are the same (which usually means only one
of them was found) do not output the library as "optimized" and "debug", but
just as one plain library. At the end this means that the Find* output of the
avarage (Un*x) user will be much less cluttered.
2012-01-26 09:06:47 +01:00
Rolf Eike Beer e01fe583b8 FindTclsh: support version selection 2012-01-25 18:37:25 +01:00
Rolf Eike Beer 409aeafa25 FindRuby: do not blindly set version to 1.8.0
RUBY_VERSION was always set, even if no RUBY_EXECUTABLE was found. While it
may make sense to assume a default version if we can't execute the binary, it
certainly doesn't make sense to report a version if there is no executable at
all.
2012-01-25 18:33:08 +01:00
Rolf Eike Beer 0051506aa4 FindPNG: support version selection 2012-01-25 18:24:57 +01:00
Rolf Eike Beer 77e6c6fe84 FindGettext: support version selection 2012-01-25 18:02:50 +01:00
David Cole 731f996ce0 Merge topic 'improve-findbzip2'
5b6ca9f FindBZip2: add support for debug libraries (#12867)
40fb005 FindBZip2: add support for version checking
2012-01-25 11:20:00 -05:00
David Cole dc3fb5ac4e Merge topic 'improve-findjasper'
a580a23 FindJasper: support version number
9bf7c4e FindJasper: find debug libraries
2012-01-25 11:19:51 -05:00
David Cole c444cf73dd Merge topic 'flex-version'
0b2e81c FindFLEX: fix version parsing when the executable is quoted
2cf5df3 FindFLEX: fix version parsing for old flex versions
2012-01-25 11:19:38 -05:00
David Cole ddc1eb5ecd Merge topic 'improve-findcurl'
c1b8849 FindCURL: support version selection
2012-01-25 11:19:25 -05:00
David Cole 55e7d4071f Merge topic 'improve-findexpat'
7f81c48 FindEXPAT: support version number
2012-01-25 11:19:09 -05:00
David Cole 1226207a6e Merge topic 'improve-findcups'
be2b108 FindCups: major overhaul
2012-01-25 11:18:55 -05:00
David Cole c8b7f8e365 Merge topic 'improve-findgit'
a803a62 FindGit: support version number
2012-01-25 11:18:41 -05:00
David Cole 8372bd98a9 Merge topic 'improve-findgnutls'
b5719fb FindGnuTLS: partly support version selection
2012-01-25 11:18:29 -05:00
David Cole 825b9dde3d Merge topic 'improve-libxml2'
a5fd391 FindLibXml2: support version selection
2012-01-25 11:18:18 -05:00
David Cole 5ee225dbbd Merge topic 'use-pkgconfig-quiet'
ede3ec5 use pkg_check_modules() quiet in other modules
2012-01-25 11:18:03 -05:00
David Cole f47fea95d7 Merge topic 'find-threads-11333'
3dc6f2b FindThreads: Try pthreads with no special option first (#11333)
2012-01-25 11:17:29 -05:00
David Cole 476679afaf Merge topic 'GetPrerequisites-rpath-OSX'
98d2031 Fix BundleUtilities test failure with space in build path.
36d6641 Fix new BundleUtilities test failure on Mac 10.4.x
0d96dec GetPrerequisites: Add test for @rpath support.
880139a GetPrerequisites: Add support for @rpath on Mac OS X.
9a6b102 GetPrerequisites: Add support for @rpath on Mac OS X.
2012-01-25 11:17:12 -05:00
David Cole ac1c2a00b1 Merge topic 'FPHSA-CONFIG_MODE-doc'
26015ba FindPackageHandleStandardArgs: fix documentation
2012-01-25 11:16:39 -05:00
David Cole 2e69c0534f Merge topic 'FindPkgConfig-REQUIRED-issue-12620'
55c3435 FindPkgConfig: respect REQUIRED (#12620)
2012-01-25 11:16:22 -05:00
David Cole a1c1350a1f Merge topic 'python-version'
aa11536 FindPythonInterp: fix version parsing
0fe4d69 FindPythonInterp: make version selectable
2012-01-25 11:16:01 -05:00
David Cole 9d57dfee6a Merge topic 'openssl-version'
bb2b264 FindOpenSSL: also parse version number define with uppercase letters
7053a00 FindOpenSSL: only try to parse opensslv.h if it exists
44ba7a3 Merge branch 'master' of git://cmake.org/cmake into openssl-version
8e8672c FindOpenSSL: improve version number handling
2012-01-25 11:14:49 -05:00
David Cole c6a33dce36 Merge topic 'FindProtobuf_import_dirs'
27bc9e2 FindProtobuf: Update documentation comment for 2.8.8
84079c9 FindProtobuf: Merge patch that allows extra import dirs
2012-01-25 11:14:38 -05:00
Rolf Eike Beer 5b6ca9fa3f FindBZip2: add support for debug libraries (#12867)
The debug library has a different name on Windows. Make sure both versions
work.

Thanks to Patrick Spendrin for testing this.
2012-01-24 19:12:50 +01:00
Rolf Eike Beer 40fb00512a FindBZip2: add support for version checking 2012-01-24 19:12:46 +01:00
Rolf Eike Beer a580a23635 FindJasper: support version number 2012-01-24 19:08:07 +01:00
Rolf Eike Beer 9bf7c4e7e1 FindJasper: find debug libraries 2012-01-24 19:08:07 +01:00
Rolf Eike Beer 0b2e81c63c FindFLEX: fix version parsing when the executable is quoted 2012-01-23 23:40:17 +01:00
Rolf Eike Beer c1b884965f FindCURL: support version selection 2012-01-23 21:46:56 +01:00
Rolf Eike Beer 7f81c48bdd FindEXPAT: support version number 2012-01-23 20:54:04 +01:00
Rolf Eike Beer be2b108776 FindCups: major overhaul
This introduces CUPS_VERSION_STRING and ports the module over to use FPHSA for
all the benefits that come with it.
2012-01-23 20:31:47 +01:00
Rolf Eike Beer 1562b9c0b9 FindImageMagick: make use of more FPHSA features
This includes version number and printing the first found result if something
was found instead of "TRUE".
2012-01-23 20:13:27 +01:00
Rolf Eike Beer a803a622d0 FindGit: support version number 2012-01-23 20:10:42 +01:00
Rolf Eike Beer b5719fb727 FindGnuTLS: partly support version selection
For the Un*x systems where we use PkgConfig to find the library we can also
use the version returned from there.
2012-01-23 20:07:46 +01:00
Rolf Eike Beer a5fd3915c9 FindLibXml2: support version selection 2012-01-23 20:06:03 +01:00
Rolf Eike Beer ede3ec5a79 use pkg_check_modules() quiet in other modules
Those modules will already print what they found or not using FPHSA, no need
to do this twice.
2012-01-23 20:03:49 +01:00
Eric NOULARD 1629615a10 CPack Documentation extraction from CMake script begins to work
- Enhance extract doc parser. Seems robust now. The legacy
   module documentation parser works as before ignoring
   the new markup.

 - Proof of concept for CPack (generic), CPack RPM and CPack Deb
   generator for macro and variables.
   Try cpack --help-command and cpack --help-variables
2012-01-22 13:31:24 +01:00
Eric NOULARD 83e34dd9e6 Implement simple CMake script comment markup language.
The language is very simple. It use ##<keyword> special comment
which opens a structured documentation block and ##end closes it.
This may be used to extract documentation for macro as 'command'
and 'variables' such that cpack --help-command and --help-variable
does parse builtin modules files (CPack.cmake, CPackComponent.cmake,
...) in order to extract the corresponding doc.
2012-01-22 11:44:05 +01:00
Rolf Eike Beer 3dc6f2bfb3 FindThreads: Try pthreads with no special option first (#11333)
QNX has the phtread stuff in the standard library.  The best way would
IMHO be to check if a program that uses pthread_* can be successfully
linked without specifying any linker option before trying out the
different flags.
2012-01-21 22:24:19 +01:00
Rolf Eike Beer 2cf5df3e58 FindFLEX: fix version parsing for old flex versions 2012-01-20 18:27:43 +01:00
Yury G. Kudryashov 26015baba3 FindPackageHandleStandardArgs: fix documentation
State explicitly what CONFIG_MODE argument does.
2012-01-20 09:09:47 -05:00
Yury G. Kudryashov 55c3435d88 FindPkgConfig: respect REQUIRED (#12620)
find_package(PkgConfig REQUIRED) now fails if pkg-config is not found.
2012-01-20 08:33:51 -05:00
Clinton Stimpson 880139a642 GetPrerequisites: Add support for @rpath on Mac OS X.
Change to consider a library embedded if it is found in a subdirectory relative to the
using executable/library.  Previous commit considered them local.
This case is encountered when @rpath is used with framework libraries, which are inside a directory tree.
2012-01-19 18:10:01 -07:00
Rolf Eike Beer aa11536c38 FindPythonInterp: fix version parsing
On dashmacmini2 the test showed output like this:

-- Found PythonInterp: /usr/bin/python (found version "Unknown option: --
usage: /usr/bin/python [option] ... [-c cmd | file | -] [arg] ...
Try `python -h' for more information.")

On my machine where python outputs "Python 2.7" this worked, but
PYTHON_VERSION_MAJOR, PYTHON_VERSION_MINOR, and PYTHON_VERSION_PATCH were all
set to "2.7".

Add some checks that the version output has the expected form before using it.
2012-01-19 23:59:48 +01:00
Rolf Eike Beer 0fe4d69b6f FindPythonInterp: make version selectable
This allows the developer to tell FindPythonInterp which Python version should
be searched for. This allows the right version to be chosen for a project
without user assistance if there are specific requirements. This is especially
useful as it is common to have major versions 2 and 3 installed in parallel,
which are partly incompatible.
2012-01-18 18:29:16 +01:00
David Cole a6518c30e0 Merge topic 'check_symbol_exists'
6856b4d Merge topic 'link-shared-depend-cycle-issue-12647' into check_symbol_exists
8e1f376 add a test for Check{,CXX}SymbolExists
813eca6 CheckSymbolExists: force the compiler to keep the referenced symbol
2012-01-17 16:25:38 -05:00
David Cole 1120bb6990 Merge topic 'FindMPI-issue-12874'
87737e6 FindMPI: Append MPI C++ library correctly in non-compiler case (#12874)
2012-01-17 16:24:42 -05:00
David Cole dafd511199 Merge topic 'CPackRPM-noFileListedTwice'
ae250d5 CPackRPM flag direcories with %dir in the generated spec file
2012-01-17 16:24:22 -05:00
David Cole f1f66c95ad Merge topic 'ExternalProject-git-cmd-version'
4ac6ba2 ExternalProject: Update copyright year
8cb8ccc ExternalProject: Fix git.cmd version detection
2012-01-17 16:23:16 -05:00
David Cole 4dd47eb6c3 Merge topic 'compiler-version'
0df1942 Detect SGI MIPSpro compiler version with its id
a5e892c Document compiler version macro formats used for detection
d7c6f41 Detect HP compiler version with its id
3dd9fa9 Detect SunPro compiler version with its id
c198730 Detect Watcom compiler version with its id
5899b98 Detect Clang compiler version with its id
b8cfa65 Detect PGI compiler version with its id
6dae666 Detect IBM XL compiler version with its id
4080d55 Detect Borland compiler version with its id
2cc205a Detect Intel compiler version with its id (#11937)
a6d83cc Detect MSVC compiler version with its id
a662855 Detect GNU compiler version with its id (#6251)
fa7141f Add framework to detect compiler version with its id (#12408)
2012-01-17 16:22:53 -05:00
Rolf Eike Beer bb2b264b5e FindOpenSSL: also parse version number define with uppercase letters 2012-01-17 19:07:04 +01:00
Rolf Eike Beer 7053a00f23 FindOpenSSL: only try to parse opensslv.h if it exists 2012-01-17 08:36:50 +01:00
Rolf Eike Beer 813eca6416 CheckSymbolExists: force the compiler to keep the referenced symbol
Otherwise the compiler may optimize out the reference to the symbol as the
previous version was not really using this. This leads to symbols that are
only in a header but not in the given libraries to be reported as present.

This came up on the first try to fix bug 11333 as "gcc -O3" would optimize
out the reference to pthread_create() so the correct library the symbol is in
was not detected.

The new test code was suggested by Brad King.
2012-01-16 20:27:40 +01:00
Brad King 87737e62e0 FindMPI: Append MPI C++ library correctly in non-compiler case (#12874)
When we have no MPI compiler wrapper and search explicitly for the MPI
C++ library append it correctly to the list of libraries instead of
using a space.

Suggested-by: Mourad Boufarguine <bouffa@gmail.com>
2012-01-16 09:03:08 -05:00
Deborah Pickett ae250d5cfa CPackRPM flag direcories with %dir in the generated spec file
This fix bug #12863 whose symptom was a lot of "warning: File listed twice"
printed out by rpmbuild when processing the spec file.

Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-01-13 21:35:41 +01:00
Rolf Eike Beer 8e8672ccdb FindOpenSSL: improve version number handling
First this fixes the bug that e.g. version "1.0.0" was shown as "1..". When
pkg-config was used to find OpenSSL the header file was parsed for the version
number even if pkg-config returned it already. Finally we also include the
patch level (i.e. the letter after the version number) in OPENSSL_VERSION.
2012-01-13 17:24:50 +01:00
Brad King 4ac6ba2bb8 ExternalProject: Update copyright year 2012-01-10 15:02:56 -05:00
Brad King 8cb8ccc571 ExternalProject: Fix git.cmd version detection
When GIT_EXECUTABLE points at ".../Git/cmd/git.cmd" in an msysGit
installation we previously failed to detect the version number in a
subtle case.  The "git.cmd" assumes 'chcp' is in PATH.  It is typically
available at "C:\Windows\System32\chcp.com".  On 64-bit Windows the File
System Redirector maps this location to "C:\Windows\SysWOW64\chcp.com"
for 32-bit processes.  However, some Windows installations fail to
provide chcp.com at this path.  Whenever git.cmd runs in a 32-bit
command shell, as it does under a 32-bit CMake binary, it reports

 'chcp' is not recognized as an internal or external command,
  operable program or batch file.

on stderr.  Capture stderr separately so it does not affect parsing
of the version number.

See also msysGit issue 358:

  http://code.google.com/p/msysgit/issues/detail?id=358

Note that FindGit prefers "git.cmd" over "git.exe" because it sets up
the proper HOME environment variable necessary for Git ssh connections
to work the same as they do from the Git bash prompt.
2012-01-10 15:02:40 -05:00
Brad King 0df1942a72 Detect SGI MIPSpro compiler version with its id
Decode decimal digits from _SGI_COMPILER_VERSION or _COMPILER_VERSION to
compute version number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
2012-01-10 13:29:39 -05:00
Brad King a5e892ca1f Document compiler version macro formats used for detection
The MSVC, HP, XL, SunPro, Watcom, Borland, and Intel compilers specify
their version number in components encoded in a single integer value.
Document the components that we use to compute version numbers.
2012-01-10 13:24:38 -05:00
Brad King d7c6f410f9 Detect HP compiler version with its id
Decode decimal digits from __HP_cc and __HP_aCC to compute version
number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
  http://g4u0420c.houston.hp.com/en/14487/preprocess.htm
2012-01-10 13:07:04 -05:00
Brad King 3dd9fa9d6a Detect SunPro compiler version with its id
Decode hex digits from __SUNPRO_C and __SUNPRO_CC to compute the version
number components.  Note that the constant encodes decimal digits as hex
digits (never larger than 9).  We represent them as decimal after
extraction.  See documentation at

  http://predef.sourceforge.net/precomp.html

Although the documented version number format is

  0xVRP where V = Version, R = Revision, P = Patch

it holds only though SunPro C/C++ version 5.9.  Later versions have
a two-digit revision (minor) number so their format is 0xVRRP.
2012-01-10 11:59:14 -05:00
Christian Andersson a04ced3b38 FindPythonLibs: Search for single-user installs on Windows
When cmake searches for Python libs in Windows it searches in:

  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs

However, the information might not always reside there.  The information
could also reside in:

  [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs

when one installs Python for a single user and not for all users.
2012-01-10 09:58:43 -05:00
David Cole 4828b7ba30 Merge topic 'FindRubyFixes'
a9bca05 FindRuby.cmake: add more debug output
3db2c8b FindRuby: add more possible library names (for ubuntu, #12172)
93c55ec FindRuby: fix usage of RUBY_VERSION_MAJOR (#12172)
2012-01-09 14:10:15 -05:00
David Cole 354b3d40d0 Merge topic 'Windows-Intel-Fortran-flags-issue-12642'
35a5838 Intel: Fix Windows per-config Fortran flags (#12642)
2012-01-09 14:09:35 -05:00
David Cole 3323c73381 Merge topic 'GenerateExportHeader-IS_ABSOLUTE-issue-12645'
9f92cdf GenerateExportHeader: Fix wrong use of IS_ABSOLUTE (#12645)
2012-01-09 14:09:27 -05:00
David Cole 13cf995549 Merge topic 'doxygen-version-12648'
85d4d5e FindDoxygen: add DOXYGEN_VERSION variable
2012-01-09 14:09:19 -05:00
David Cole 4fa5a7c845 Merge topic 'CheckCCompilerFlag-issue-12633'
646cf91 CheckCCompilerFlag: Generalize "but not for C" case (#12633)
2012-01-09 14:08:56 -05:00
David Cole 9b2299b8c2 Merge topic 'FindwxWidgets-webview-issue-12636'
d071148 FindwxWidgets: Add webview library (#12636)
2012-01-09 14:08:52 -05:00
David Cole ef58573bb3 Merge topic 'topics/FindCUDA/Find-new-libraries-upto-4.1'
154f537 Added support for curand, cusparse, npp, nvcuenc and nvcuvid libraries.
2012-01-09 14:08:46 -05:00
David Cole d4fe0d0304 Merge topic 'GNUInstallDirs-DebianMultiarch'
43f83d2 GNUInstallDirs: add support for Debian multiarch
2012-01-09 14:08:39 -05:00
Alex Neundorf a9bca052f8 FindRuby.cmake: add more debug output
Alex
2012-01-05 21:58:49 +01:00
Alex Neundorf 3db2c8b9ea FindRuby: add more possible library names (for ubuntu, #12172)
Alex
2012-01-05 21:57:11 +01:00
Alex Neundorf 93c55ec142 FindRuby: fix usage of RUBY_VERSION_MAJOR (#12172)
Alex
2012-01-05 21:53:02 +01:00
Philip Lowman 27bc9e2631 FindProtobuf: Update documentation comment for 2.8.8 2012-01-03 19:47:05 -05:00
Brad King 35a5838779 Intel: Fix Windows per-config Fortran flags (#12642)
Fix typo introduced in commit 66a08c10 (more uniform approach to enable
language, 2004-08-26).  The optimization option should be /O2 for
Release configurations and /O1 for MinSizeRel.

Suggested-by: He Yuqi <yuqi.he@gmail.com>
2012-01-02 13:56:33 -05:00
Michael Wild 9f92cdf24d GenerateExportHeader: Fix wrong use of IS_ABSOLUTE (#12645)
Test content of _GEH_EXPORT_FILE_NAME, not variable name.

Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
2012-01-02 13:27:07 -05:00
Yury G. Kudryashov 85d4d5e6ce FindDoxygen: add DOXYGEN_VERSION variable
Make it possible to write
find_package(DOXYGEN X.Y.Z)
2012-01-02 18:47:19 +01:00
Brad King 646cf91932 CheckCCompilerFlag: Generalize "but not for C" case (#12633)
The "warning: " part is not necessary.  The case can happen on any GNU
compiler, not just an Apple version.
2011-12-22 09:40:32 -05:00
Jason Erb d0711486f9 FindwxWidgets: Add webview library (#12636)
Update for wxWidgets 2.9.3 to include webview component.
2011-12-22 09:29:59 -05:00
James Bigler 154f53738f Added support for curand, cusparse, npp, nvcuenc and nvcuvid libraries.
This addresses Bug 11882 which provided a sample implementation for adding
support for cusparse.  I went ahead and added all the libraries I thought
appropriate.
2011-12-20 14:20:04 -07:00
David Cole 7f8cf4236d Merge topic 'fix-12273-quote-arg-in-findboost'
cdf5224 FindBoost: Quote possibly empty string argument (#12273)
2011-12-20 14:22:05 -05:00
David Cole 7868061a6b Merge topic 'qt4-deploy-module'
3aa5432 Improve component support and output indentation.
2011-12-20 14:21:35 -05:00
David Cole 16dacf3a6a Merge topic 'AutomocFineTuning'
e474dcb automoc: improved warning message in relaxed mode
96fc5d5 automoc: default to strict mode, use CMAKE_AUTOMOC_RELAXED_MODE
2011-12-20 14:20:32 -05:00
David Cole cdf522436f FindBoost: Quote possibly empty string argument (#12273)
Author: Claudio Bley
2011-12-19 10:55:41 -05:00
Philip Lowman 84079c92ca FindProtobuf: Merge patch that allows extra import dirs
Added support for additional import paths during protoc invocation
time to the PROTOBUF_GENERATE_CPP public macro via a new
PROTOBUF_IMPORT_DIRS optional variable.

Patch courtesy of Miroslav Kes <mkes@ra.rockwell.com>
2011-12-18 18:02:48 -05:00
Mike McQuaid 3aa5432315 Improve component support and output indentation. 2011-12-16 14:31:36 -07:00
David Cole f7be6d616f Merge topic 'GNU-to-MS'
c213eb9 Windows-GNU: Remove extra quotes in GNUtoMS rule variable
2011-12-16 10:15:44 -05:00
David Cole 8f8ee53729 Merge topic 'test-compiler-output-var'
5f6985a Avoid clobbering variable 'OUTPUT' in compiler tests (#12628)
2011-12-16 10:15:20 -05:00
David Cole 65db5b4a99 Merge topic 'osx-dependent-libraries'
5d99343 Do not link private dependent shared libraries on OS X > 10.4
2011-12-16 10:15:07 -05:00
David Cole e44cdb04f1 Merge topic 'hp-shared-libs'
5720e1f HP: Drive shared library linking with compiler front end
2011-12-16 10:14:56 -05:00
David Cole c6c82f9e3e Merge topic 'fix-12480-correct-windres-compiler-when-cross-compiling'
6ddb1e5 Modules: Use "windres" as rc compiler base name for cross-compiles (#12480)
2011-12-16 10:14:42 -05:00
David Cole ac9453c371 Merge topic 'fix-lapack-issues'
b3c42cb FindLAPACK: List thread libs to avoid link errors (#12625)
f603cf2 FindLAPACK: Correct CMAKE_FIND_LIBRARY_SUFFIXES spelling (#12624)
2011-12-16 10:14:17 -05:00
David Cole c68a780dec Merge topic 'qt4-deploy-module'
4e9274e Unset configurations variable when no build type.
2011-12-16 10:13:59 -05:00
David Cole e945df2a7e Merge topic 'CPackRPM-0012608-UserSpecificFileControl'
121c295 CPackRPM fix #0012608 and unoticed related bug
2011-12-16 10:13:33 -05:00
Brad King 5f6985ac86 Avoid clobbering variable 'OUTPUT' in compiler tests (#12628)
Use an obscure name and clean up afterwards.
2011-12-15 08:31:17 -05:00
Brad King 5d9934312d Do not link private dependent shared libraries on OS X > 10.4
The default OS X 10.4 linker incorrectly searches for dependencies of
linked shared libraries only under the -isysroot location.  It fails to
find dependencies of linked shared libraries in cases such as the
ExportImport test.  It produces errors like:

 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: warning can't open dynamic library:
 libtestLib3Imp.dylib
 referenced from: /.../ExportImport/Root/lib/libtestLib3lib.1.2.dylib
 (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols: _testLib3Imp
 referenced from libtestLib3lib expected to be defined in
 libtestLib3Imp.dylib

or with CMAKE_SKIP_RPATH off to enable install_name in the Export side:

 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: warning can't open dynamic library:
 /Developer/SDKs/MacOSX10.4u.sdk/.../ExportImport/Export/impl/libtestLib3Imp.dylib
 referenced from: /.../ExportImport/Export/libtestLib3lib.1.2.dylib
 (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols:_testLib3Imp
 referenced from libtestLib3lib expected to be defined in
 /.../ExportImport/Export/impl/libtestLib3Imp.dylib

Note how "/Developer/SDKs/MacOSX10.4u.sdk" is prepended to the dependent
library path.

Commit 2cff26fa (Support linking to shared libs with dependent libs,
2008-01-31) and commit 82fcaebe (Pass dependent library search path to
linker on some platforms, 2008-02-01) worked around the problem by
defining platform variable CMAKE_LINK_DEPENDENT_LIBRARY_FILES.  It tells
CMake to link to dependent libraries explicitly by their path thus
telling the linker where to find them.

Unfortunately the workaround had the side effect of linking dependent
libraries and defeats most benefits of LINK_INTERFACE_LIBRARIES.
Fortunately OS X 10.5 and above do not need to find transitive
dependencies at all so we can avoid the workaround on Modern OS X.
2011-12-15 08:14:30 -05:00
Alex Neundorf 43f83d2ee5 GNUInstallDirs: add support for Debian multiarch
This patch makes CMAKE_INSTALL_LIBDIR default to the debian
multiarch dir if present, e.g. lib/i386-linux-gnu/

Alex
2011-12-14 19:24:28 +01:00
Brad King 5720e1f634 HP: Drive shared library linking with compiler front end
Previously we linked C, Fortran, and ASM shared libraries compiled with
the HP compiler using a direct invocation of the linker (ld).  This
behavior was left historically from support for an ancient HP C compiler
that did not know how to create shared libraries.  Fortran shared
libraries need to be linked with the compiler to get the language
runtime library dependencies as is already done for C++.

Update the HP-UX-HP* platform information to use the compiler front end
when linking shared libraries.  This works on modern HP tools and
produces correct behavior.  If there is a need to support older tools
again we can add a special case for them.
2011-12-14 09:32:27 -05:00
David Cole 6ddb1e5b9a Modules: Use "windres" as rc compiler base name for cross-compiles (#12480)
...if it matches "windres", as opposed to being exactly equal to "windres"

Cross-compiling windres compilers are named something like
"i686-w64-mingw32-windres" (for example)
2011-12-13 19:57:00 -05:00
Tim Gallagher b3c42cb012 FindLAPACK: List thread libs to avoid link errors (#12625) 2011-12-13 16:26:33 -05:00
Tim Gallagher f603cf2d36 FindLAPACK: Correct CMAKE_FIND_LIBRARY_SUFFIXES spelling (#12624) 2011-12-13 16:23:54 -05:00
Alex Neundorf 96fc5d5d07 automoc: default to strict mode, use CMAKE_AUTOMOC_RELAXED_MODE
automoc now defaults to strict mode, also with Qt4, i.e. it behaves as
the documentation says by default. I also inverted the switch
CMAKE_AUTOMOC_STRICT_MODE to CMAKE_AUTOMOC_RELAXED_MODE.
Docs and test adapted accordingly.

Alex
2011-12-13 22:11:47 +01:00
Mike McQuaid 4e9274e954 Unset configurations variable when no build type. 2011-12-13 09:39:53 -07:00
Eric NOULARD 121c29553f CPackRPM fix #0012608 and unoticed related bug
The User may now specific a list of file that shouldn't be
automatically handled by CPack but specified by the user.
Like %config(noreplace) or specific %attr.
The concerned files/dir lines will be removed from the set
automatically handled by CPack.
2011-12-12 23:11:02 +01:00
Brad King 4cb73c43ac FortranCInterface: Work around mingw32-make trouble with parens
The mingw32-make tool does not handle parenthesis in the path to a
source file consistently.  When CMake is installed in a typical location
like "c:\Program Files (x86)\CMake 2.8\" the mingw32-make tool fails on
the FortranCInterface detection project sometimes with errors like

 >mingw32-make -f CMakeFiles\myfort.dir\build.make CMakeFiles/myfort.dir/my_module.f90.obj
 mingw32-make: *** No rule to make target `x86)/CMake 2.8/share/cmake-2.8/Modules/FortranCInterface/my_module.f90)',
 needed by `CMakeFiles/myfort.dir/my_module.f90.obj'.  Stop.

due to parens in the path to the FortranCInterface source directory.
However, the behavior varies with the file name of build.make:

 >copy CMakeFiles\myfort.dir\build.make CMakeFiles\myfort.dir\build2.make
 >mingw32-make -f CMakeFiles\myfort.dir\build2.make CMakeFiles/myfort.dir/my_module.f90.obj
 [  3%] Building Fortran object CMakeFiles/myfort.dir/my_module.f90.obj

Tested with

 >mingw32-make -v
 GNU Make 3.82
 Built for i386-pc-mingw32

Work around the problem by copying the whole FortranCInterface source
directory in to the project build tree.
2011-12-09 09:40:14 -05:00
Brad King c213eb9cbf Windows-GNU: Remove extra quotes in GNUtoMS rule variable
CMake replaces the <TARGET...> tokens with properly quoted values so we
do not need an extra set of quotes around them.
2011-12-08 13:28:37 -05:00
David Cole d050d6b58b Merge topic 'AutomocIncludedDotMocFileHandling'
2d11951 Merge branch 'master' into AutomocIncludedDotMocFileHandling
1eca18f automoc: add documentation for CMAKE_AUTOMOC_STRICT_MODE
bc278ce automoc: fix line length
62e223e automoc: add variable CMAKE_AUTOMOC_STRICT_MODE, to enable strict parsing
40c5167 automoc: accept even more .moc files in non-strict mode
c207f5d automoc: also accept other files when .moc is included in non-strict mode
9c0df72 automoc: add a StrictParseCppFile(), which is only qmake-compatible
174bf35 automoc: move the code for finding headers into separate function
8507eae automoc: fix handling of included _p.moc files
7ada172 automoc: some more linebreaks for the warnings for better readability
3b93e26 automoc: add extra check whether the header contains Q_PRIVATE_SLOT
4745715 Add a test case for the use of Q_PRIVATE_SLOT.
bde4edb automoc: add special handling for including basename_p.moc, with test
74ab0f6 automoc: move some code from the big parsing loop into separate functions
bc7560e automoc: add test for including a moc_abc_p.cpp file
30fd8e6 automoc: add test for including the moc file from another header
...
2011-12-07 16:47:35 -05:00
David Cole 0ea95b99ce Merge topic 'topics/FindCUDA/Misc-fixes'
aa36082 Miscellaneous fixes.
2011-12-07 16:45:35 -05:00
David Cole c26e28754c Merge topic 'topics/FindCUDA/Multi-dir-clash'
80e279d Make CUDA working directory unique for each target.
2011-12-07 16:45:00 -05:00
David Cole 2d1195123e Merge branch 'master' into AutomocIncludedDotMocFileHandling
Conflicts:
	Source/cmTarget.cxx
2011-12-07 16:29:13 -05:00
Brad King c198730b45 Detect Watcom compiler version with its id
Decode decimal digits from __WATCOMC__ to compute the version number
components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
2011-12-07 09:39:50 -05:00
Brad King 5899b988d5 Detect Clang compiler version with its id
Decode decimal digits from

  __clang_major__
  __clang_minor__
  __clang_patchlevel__

to compute version number components.  See documentation at:

  http://clang.llvm.org/docs/LanguageExtensions.html#builtinmacros
  http://predef.sourceforge.net/precomp.html
2011-12-07 09:39:49 -05:00
Brad King b8cfa656ce Detect PGI compiler version with its id
Decode decimal digits from

  __PGIC__
  __PGIC_MINOR__
  __PGIC_PATCHLEVEL__

to compute version number components.
2011-12-07 09:39:48 -05:00
Brad King 6dae6660fc Detect IBM XL compiler version with its id
Decode decimal digits from __IBMC__ and __IBMCPP__ to compute version
number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
  http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic/com.ibm.xlc111.aix.doc/compiler_ref/xlmacros.html
  http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic/com.ibm.xlcpp111.aix.doc/compiler_ref/xlmacros.html
2011-12-07 09:39:47 -05:00
Brad King 4080d5510e Detect Borland compiler version with its id
Decode hex digits from __BORLANDC__ to compute the version number
components.  Note that the constant encodes decimal digits as hex digits
(never larger than 9).  We represent them as decimal after extraction.
See documentation at

  http://predef.sourceforge.net/precomp.html
  http://docwiki.embarcadero.com/RADStudio/en/Predefined_Macros
2011-12-07 09:39:46 -05:00
Brad King 2cc205a0fb Detect Intel compiler version with its id (#11937)
Decode decimal digits from

  __INTEL_COMPILER
  __INTEL_COMPILER_BUILD_DATE

to compute the version number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
  http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/fortran/lin/compiler_f/bldaps_for/common/bldaps_use_presym.htm
2011-12-07 09:39:45 -05:00
Brad King a6d83ccea9 Detect MSVC compiler version with its id
Decode decimal digits from _MSC_VER, _MSC_FULL_VER, and _MSC_BUILD to
compute the version number components.  See documentation at:

  http://msdn.microsoft.com/en-us/library/b0084kay.aspx
  http://predef.sourceforge.net/precomp.html
2011-12-07 08:59:53 -05:00
Brad King a66285583d Detect GNU compiler version with its id (#6251)
Decode decimal digits from

  __GNUC__
  __GNUC_MINOR__
  __GNUC_PATCHLEVEL__

to compute version components.  See documentation at

  http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
  http://predef.sourceforge.net/precomp.html
2011-12-07 08:59:52 -05:00
Brad King fa7141f5ad Add framework to detect compiler version with its id (#12408)
Teach CMakePlatformId.h to construct an "INFO:compiler_version[]" string
literal from macros COMPILER_VERSION_(MAJOR|MINOR|PATCH|TWEAK) to be
defined in CMake(C|CXX)CompilerId.(c|cpp) for each compiler.  Provide
conversion macros DEC() and HEX() to decode decimal or hex digits from
integer values.  Parse the version out of the compiler id binary along
with the other INFO values already present.

Store the result in variable CMAKE_<LANG>_COMPILER_VERSION in the format
"major[.minor[.patch[.tweak]]]".  Save the value persistently in
CMake(C|CXX)Compiler.cmake in the build tree.  Document the variable for
internal use since we do not set it everywhere yet.

Report the compiler version on the compiler id result line e.g.

  The C compiler identification is GNU 4.5.2

Report CMAKE_(C|CXX)_COMPILER_(ID|VERSION) in SystemInformation test.
2011-12-07 08:59:51 -05:00
David Cole 9f18f64c7c Merge topic 'topics/FindCUDA/Quote-fixes'
c3c7a0c Fixes for handling quotes in args and other places (Fix Bug 11726 and 12099).
2011-12-06 15:08:12 -05:00
David Cole de9dc82779 Merge topic 'topics/FindCUDA/FixCUDAInUNCPath'
83d4eea Add work around for CUDA in UNC paths.
2011-12-06 15:08:03 -05:00
David Cole 35017df53c Merge topic 'topics/FindCUDA/linux-double-build'
aa59544 Reset dependency file list when a dependency disappeared.
2011-12-06 15:07:48 -05:00
David Cole 386cf3c593 Merge topic 'GNU-to-MS'
ae62a1c Test CMAKE_GNUtoMS option in ExportImport on MinGW and MSys
afb00fe Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib
61e8629 Factor makefile generator link rule lookup into helper function
a603250 Load platform files that need to know the ABI when possible
ecd8414 Fortran: Detect pointer size in gfortran on MinGW
2011-12-06 15:07:39 -05:00
David Cole b8c0dd48b0 Merge topic 'CUDAv3.2PathChanges'
8930938 Added support for CUDA_PATH which is present in the CUDA toolkit 3.2 onward.
2011-12-06 15:07:27 -05:00
David Cole cc35c8fad3 Merge topic 'findlapack-0012477-new'
f44f053 FindLAPACK: Fix linking to static LAPACK on Unix (#12477)
2011-12-06 15:06:52 -05:00
David Cole 4c84aa7346 Merge topic 'TinyCC-compiler'
0efe602 TinyCC: Add default compilation flags (#12605)
ec636e2 TinyCC: Add compiler info for shared libs on Linux (#12605)
1f49d72 Recognize the Tiny C Compiler (#12605)
2011-12-06 15:06:34 -05:00
James Bigler aa36082a2b Miscellaneous fixes. 2011-12-05 19:04:48 -07:00
James Bigler 80e279d37c Make CUDA working directory unique for each target.
This allows you to have more than source file with the same name but different
directories.  The intermediate and configuration files are now in this same directory.
2011-12-05 19:00:00 -07:00
James Bigler c3c7a0cfb8 Fixes for handling quotes in args and other places (Fix Bug 11726 and 12099). 2011-12-05 17:16:05 -07:00
James Bigler 83d4eeadac Add work around for CUDA in UNC paths.
Nvcc can emit '/path' instead of '//path' which can cause a lot of grief later.  We test
to see if the file exists, if it doesn't then we see if the file exists with '/'
prepended.  Files that don't exist won't be added to the list.
2011-12-05 16:54:06 -07:00
James Bigler aa59544078 Reset dependency file list when a dependency disappeared.
Fix a long outstanding bug when a file in the dependency list wasn't found.  This bug
wouldn't reset the dependencies, so the makefile would still want the missing file when
building.  The work around was to configure twice, but this is no longer necessary.
2011-12-05 16:29:28 -07:00
Brad King afb00fef19 Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib
Teach the Windows-GNU.cmake platform file to look for Visual Studio
tools matching the target ABI.  Add an extra step to the link command
for shared libraries and executables that export symbols and on which a
new GNUtoMS property is set (initialized by the CMAKE_GNUtoMS option).
Tell the GNU linker to output a module definition (.def) file listing
exported symbols in addition to the GNU-format import library (.dll.a).
Pass the .def file to the MS "lib" tool to construct a MS-format DLL
import library (.lib).

Teach the install(TARGETS) command to install the MS import library next
to the GNU one.  Teach the install(EXPORT) and export() command to set
the IMPORTED_IMPLIB property pointing at the import library to use the
import library matching the tools in the importing project.
2011-12-05 18:13:49 -05:00
James Bigler 8930938351 Added support for CUDA_PATH which is present in the CUDA toolkit 3.2 onward.
This required changing how the paths were used.  I now use the PATH_SUFFIXES parameter
instead of putting the whole path in the command.
2011-12-05 16:04:00 -07:00
Brad King a603250a13 Load platform files that need to know the ABI when possible
Load platform files named in CMAKE_<lang>_ABI_FILES for each language
once the ABI sizeof(void*) is known.  During the first configuration
this is after the test for working compiler and ABI detection checks.
During later configurations the ABI information is immediately available
because it has been saved in CMake<lang>Compiler.cmake.
2011-12-05 16:35:42 -05:00
Brad King ecd8414757 Fortran: Detect pointer size in gfortran on MinGW
Use __SIZEOF_POINTER__ which the GNU Fortran compiler defines at least
on 64-bit MinGW.  Assume default size 4 on MinGW if gfortran does not
define the size.
2011-12-05 16:32:29 -05:00
Alexey Ozeritsky f44f053a52 FindLAPACK: Fix linking to static LAPACK on Unix (#12477) 2011-12-05 11:41:52 -05:00
Mathieu Malaterre 0efe602c59 TinyCC: Add default compilation flags (#12605) 2011-12-05 08:59:50 -05:00