Commit Graph

2389 Commits

Author SHA1 Message Date
Mathieu Malaterre 74805dbbbd ENH: FIX 0009777. This should sync FindJava and CMakeDetermineJavaCompiler.cmake now 2009-10-30 11:55:57 -04:00
Mathieu Malaterre 17ad96111b FIX: BUG: 0009804. Update FindDCMTK to look in more paths. Start looking for command line tool: dcmdump/dcmdjpeg/dcmdrle 2009-10-30 11:48:44 -04:00
Mathieu Malaterre 54541d4a47 FIX: BUG: 0008971 FindOpenSSL improvement. Teaches cmake to find openssl on win32. openssl comes with the crypto libs which are the important part of the openssl project. 2009-10-30 11:35:15 -04:00
Mathieu Malaterre ae27492091 STYLE: Fix documentation (thanks Brad). 2009-10-30 11:22:41 -04:00
Mathieu Malaterre 3d898c2534 FIX: BUG: 0002199 Adding documentation for swig_generated_file_fullname 2009-10-30 11:13:00 -04:00
Mathieu Malaterre c0ec66b6d7 FIX: BUG: 0007915 Integrate portion of the patch. Also add .pyd support for python module. 2009-10-30 11:07:10 -04:00
Mathieu Malaterre bb123d0b81 ENH: Update code: 1. In version 1.6.0_17, 17 is now the TWEAK version as per cmake convention. 2. Use VERSION_LESS to compare version, which simplify code 3. Enhance testing, see: https://gdcm.svn.sourceforge.net/svnroot/gdcm/Sandbox/CMakeBug/8/CMakeLists.txt 2009-10-30 10:49:12 -04:00
Mathieu Malaterre 5c594b6f3a FIX: BUG: 0009795 FindJava now respect naming convention and handle VERSION/EXACT. 2009-10-30 04:05:59 -04:00
Will Dicharry 518f9c57b7 Fixed bug in FindHDF5 caused by hdf5.h existing without H5pubconf.h. 2009-10-29 17:18:41 -04:00
Bill Hoffman e183581b14 Fix for bug #9793 try to make sure jni.h matches jni_md.h 2009-10-29 13:48:32 -04:00
Brad King 537906b467 Fix flags for Intel Fortran on Windows
We replace "/MD" with ifort-specific flags as follows:

  /MD  -> /threads /libs:dll
  /MDd -> /threads /libs:dll /dbglibs

We also enable the "/MD" equivalent for all Fortran configurations.
Previously multithreaded dll runtimes were used for release builds and
threaded static runtimes for debug builds.  For mixed Fortran C/C++
projects, this led to link warnings for Debug but not for Release.

See issue #8744.
2009-10-29 10:06:10 -04:00
Bill Hoffman bc3cab3634 clean up to work with manifest files better. 2009-10-28 10:29:24 -04:00
Bill Hoffman b3328f7766 Allow this to handle hand edited manifest files. 2009-10-27 16:01:47 -04:00
Dave Partyka 39e88bbe99 COMP: need to add quotes when using get_filename_component otherwise it will try to process NOT FOUND rather than an empty string when MPIEXEC is not found. 2009-10-27 13:10:01 -04:00
Dave Partyka c283fe2d26 COMP: fix syntax error. 2009-10-27 12:57:30 -04:00
Dave Partyka 4915e92998 ENH: Improvements in finding MPI on windows. ENH: reorganized searching mpi for mpi components (include,lib,bin) using a single set of search paths instead of seperately mainted lists of paths for each. 2009-10-27 12:43:50 -04:00
James Bigler 9605af8c2e Look for nvcc in the 32 bit bin directory before the 64 bin directory. 2009-10-27 12:00:28 -04:00
Brad King ccdd3e943d Fix Intel Fortran SHARED libraries on Linux
The Intel Fortran compiler needs options '-i_dynamic' and '-nofor_main'
to create shared libraries on Linux (for at least one architecture).
2009-10-27 10:50:43 -04:00
Bill Hoffman 7d9e5b88ff Allow for /D to change install directory on the command line. 2009-10-26 17:14:56 -04:00
Brad King 707d05e936 Fix Intel and MinGW Fortran DLL import libraries
We add Intel and MinGW Fortran linker options to create the import
library portion of a DLL.  This allows other binaries to link to a
Fortran DLL.

We also update the Fortran test to use a .def file to specify exports
since there is no __declspec(dllexport) markup syntax in Fortran.
2009-10-26 11:07:27 -04:00
Brad King 83816cc6ec Add support for the g95 Fortran compiler
This commit teaches CMake about the g95 compiler from

  http://www.g95.org

We use 'G95' as the compiler id string, and add some basic flags.

See issue #9241.
2009-10-23 08:25:43 -04:00
Bill Hoffman e1c1ab7197 Fix for bug#9686 convert java_home to a cmake path before using. 2009-10-22 06:57:00 -04:00
Bill Hoffman df487fc04e fix for bug# 9751, add check for MSVC10 2009-10-21 21:34:24 -04:00
Bill Hoffman b8464a066e Add license. 2009-10-21 13:44:33 -04:00
Bill Hoffman feb0209960 Clean up output a bit. 2009-10-21 13:37:53 -04:00
Bill Hoffman 1c4621fb3a Add a module to test an install tree to verify that the MS CRT version is correct. 2009-10-21 13:34:45 -04:00
Bill Hoffman 418ca3d70d Add a module to test an install tree to verify that the MS CRT version is correct. 2009-10-21 13:28:50 -04:00
Bill Hoffman 1c3d66c933 Better fix for finding the MSBuild that matches the VS 10 install. 2009-10-20 17:24:23 -04:00
Bill Hoffman 9539facf08 Add search path for VS 10 beta 2 MSBuild. 2009-10-20 17:15:54 -04:00
Philip Lowman 63ee0333cd Fixes version detection using osg/Version on Mac OSX when OSG is installed as a framework
Patch from rpavlik attached to issue #9714
2009-10-20 07:55:48 -04:00
Alexander Neundorf 91eeb6d941 fix whitespace, so documentation is formatted properly
Alex
2009-10-19 12:58:40 -04:00
Marcus Hanwell 180a681b53 Fixed bug 8319, search for the Python shared library in the standard locations. 2009-10-19 10:39:29 -04:00
Bill Hoffman fe8da5a99f Try to fix bug#9714, should not crash when version file is not where it should be... 2009-10-16 13:25:59 -04:00
Alexander Neundorf b143c335fd make it more robust wrt. #9621
although #9621 did not happen anymore with cmake 2.8.0, probably because
GET_PROPERTY(... GLOBAL ...) now makes the result variable empty instead of
simply not touching it, using FUNCTION() instead of MACRO() makes sure that
the _EnabledFeatures variables is always empty before the GET_PROPERTY()
call (and does not still have the old value from the previous call)

Alex
2009-10-14 18:13:49 -04:00
Zach Mullen a5aa23d4e1 CTest-side support for compiler name and compiler version information. Requires CDash update to show on CDash. 2009-10-12 11:06:49 -04:00
Philip Lowman 89954fe9a2 Several minor FindBoost changes to address posts on mailing list
1. Add STATUS output "Could NOT find Boost" if boost is not found
which brings FindBoost closer in behavior to most CMake find modules.

2. Add an option: Boost_DETAILED_FAILURE_MSG to output
Boost_ERROR_REASON on a non-REQUIRED find if this
is desired by the developer.  This is done because the error messages
are rather long and software with optional Boost dependencies might
not like them showing up by default, especially since this wasn't done
before.

3. Add mention of Boost_ADDITIONAL_VERSIONS close to top
of file since this seems to be the most common problem brought
up on the mailing list (maybe people will notice it there)

4. Added additional check for intel compiler which probably isn't
necessary but ultimately should be cleaner if CMAKE_CXX_COMPILER_ID
sticks around.

5. Added my name to the Copyright list
2009-10-09 01:15:56 -04:00
Philip Lowman d5dd8f126d Resolve #9685: Fix include dir to be correct path
Also refrain from setting _LIBRARIES & _INCLUDE_DIRS if lib not found (seems to be mostly standard practice).
2009-10-08 22:50:13 -04:00
Brad King 0653286dc6 Split Borland compiler information files
This commit re-writes Borland compiler build rules.  We split the rules
into modern <os>-<id>-<lang> information modules but share a common
macro between languages to avoid duplication.

We also address a bug in the previous rules that would build some target
types against the static Borland runtime and others against the shared
Borland runtime in one build tree.  Now we always use the shared runtime
as is the default in the rules for MS tools.
2009-10-08 11:56:07 -04:00
Clinton Stimpson cff3a4420b Check for openssl-linked option with Qt 4.4+ before making ssl a dependency. 2009-10-07 18:51:39 -04:00
Brad King 2c1a01dc6d Modernize FindVTK module
This teaches the FindVTK module to use the Config mode of find_package()
to search for VTKConfig in the common case.  The old search method based
on find_path() and UseVTK is now used only to search for VTK 4.0.

This approach avoids the need to update the module for each new VTK
version because find_package(VTK) automatically searches "lib/vtk*".  It
also addresses issue #9105 since find_package searches lib64 paths too.
2009-10-07 14:48:22 -04:00
Brad King fff1c6d275 More robust implicit link line detection regex
The regex used by CMAKE_PARSE_IMPLICIT_LINK_INFO to detect link lines
should not match lines that happen to have ".../ld.../..." in them.  A
linker name should match only as the last component of a path.

See issue #9666.
2009-10-07 08:43:51 -04:00
James Bigler 94fff7af35 Fix Xcode build.
Move the make_directory command to the main target, so that CMAKE_CFG_INTDIR
will get expanded by the build tool.
2009-10-06 22:52:52 -04:00
Brad King 20e6ac320d Log implicit link line detection regex
This commit teaches the CMAKE_PARSE_IMPLICIT_LINK_INFO function to log
the regex it uses to detect the linker invocation line.  The regex is
computed from the CMAKE_LINKER if it is found, so it might change.  A
strange value might match the wrong line and cause implicit link info
extraction to fail.

See issue #9666.
2009-10-06 16:31:43 -04:00
Brad King b9850a614e Log implicit link information parsing actions
This commit teaches the CMAKE_PARSE_IMPLICIT_LINK_INFO function to log
its actions.  We store the log in CMakeFiles/CMakeOutput.log at the top
of the project build tree.  This will make diagnosis of implicit link
information parsing problems easier.
2009-10-06 15:16:12 -04:00
Brad King d0c03f804f Use work-around from bug 4772 for C++ and Fortran
The commit "fix for bug 4772" added a work-around to CMakeCInformation
for platform config files that put compiler information in the system
file (like SunOS flags for GCC).  This commit adds the same work-around
for CXX and Fortran.  It is necessary to support enabling these
languages separately from C in other subdirectories.

The commit "Avoid (Unix|Windows)Paths.cmake multiple include" added
include blockers that prevent the files from multiple inclusion, so it
is safe to include the system information files from every language.

See issue #4772 and issue #9656.
2009-10-06 11:06:38 -04:00
James Bigler 7112227c18 Updated copyright notice to conform to NVIDIA guidelines. 2009-10-05 17:14:33 -04:00
Brad King f7cfd5c99f FortranCInterface: Mangling for Intel on Windows
The Intel Fortran compiler for Windows uses upper-case symbol names with
no trailing underscore.
2009-10-05 16:30:58 -04:00
Bill Hoffman 0556075034 Teach intel compiler on windows to place .lib files and .pdb files. 2009-10-05 13:17:53 -04:00
Brad King b133467567 CPack: Fix bash-isms in launch script
Patch from Raphael Geissert and Modestas Vainius.  See issue #9659.
2009-10-05 13:14:30 -04:00
Bill Hoffman 57ece74730 Teach intel compiler on windows to place .lib files and .pdb files. 2009-10-05 12:49:51 -04:00
Brad King f98a4e63fd Avoid (Unix|Windows)Paths.cmake multiple include
Block multiple inclusion because "Modules/CMakeCInformation.cmake"
includes "Platform/${CMAKE_SYSTEM_NAME}" even though the generic
module "CMakeSystemSpecificInformation.cmake" already included it.

The extra inclusion is a work-around to address issue #4772 without
intrusive platform file changes.  Once those changes are made the
work-around and these include blockers can be removed.  See issue #9656.
2009-10-05 11:47:25 -04:00
Brad King 3dc80f8d8c Add copyright notice to (Unix|Windows)Paths.cmake
This commit adds our copyright notice to these non-trivial platform
modules.
2009-10-05 11:47:05 -04:00
Clinton Stimpson bca63bb738 When getting include dirs for moc, also watch for framework includes and use -F instead of -I. 2009-10-05 11:21:30 -04:00
Brad King c118fd4c55 Find locally installed software first
This commit re-orders the search path prefix list from

  /
  /usr
  /usr/local

to

  /usr/local
  /
  /usr

so that locally-installed software is preferred.

This makes the search consistent with the Filesystem Hierarchy Standard:

  http://www.pathname.com/fhs/

See issue #9657.
2009-10-05 11:09:15 -04:00
Brad King 282b4e3776 Fix module docs to be manpage (groff) friendly
Most problems are fixed (or rather worked-around) by making long '====='
separators pre-formatted (i.e. prefixed with two spaces).  In order to
preserve visual view, the code examples themselves are prefixed with 3
spaces.

This commit fixes the following man warnings:

$ cmake --help-man - | LANG=C MANWIDTH=80 man --warnings -l - > /dev/null
  <standard input>:6024: warning [p 105, 1.7i]: can't break line
  <standard input>:6027: warning [p 105, 2.7i]: cannot adjust line
  <standard input>:6027: warning [p 105, 2.8i]: can't break line
  <standard input>:7142: warning [p 117, 7.8i]: can't break line
  <standard input>:7171: warning [p 117, 11.8i]: can't break line
  <standard input>:8878: warning [p 136, 9.0i]: can't break line
  <standard input>:8887: warning [p 136, 11.5i]: cannot adjust line
  <standard input>:8887: warning [p 136, 11.7i]: can't break line
  <standard input>:8904: warning [p 136, 14.2i]: can't break line

Patch from Modestas Vainius.  See issue #9659.
2009-10-05 10:28:05 -04:00
Brad King 451d68b7e3 Support GNU/kFreeBSD
GNU/kFreeBSD = FreeBSD kernel + userspace with glibc.  Linux.cmake
doesn't contain anything too OS specific, so we can forward to it.

Here are outputs of /bin/uname on author's machine:
  uname -p ==> i386
  uname -o ==> GNU/kFreeBSD
  uname -s ==> GNU/kFreeBSD
  uname -r ==> 5.4-1-686

Patch from Modestas Vainius.  See issue #9659.
2009-10-05 10:26:50 -04:00
Brad King a0e63cff1d FindQt3: Prefer (moc|uic)-qt3 names over (moc|uic)
On Debian moc and uic from Qt3 have '-qt3' suffixes.  The latter names
might come from Qt4, so prefer the version-specific names.

Patch from Modestas Vainius.  See issue #9659.
2009-10-05 10:25:36 -04:00
Brad King 940733997a Remove old license from FindPkgConfig.cmake module
This module was contributed under a BSD-like license.  We added CMake's
OSI-approved BSD License on top of it.  With the author's permission,
this commit removes the old license text and puts the author's copyright
notice in the block referring to the new license.
2009-10-05 09:13:29 -04:00
David Cole b272c61945 Fix issue #8649 - move the location of CPACK_NSIS_EXTRA_INSTALL_COMMANDS so that it is not excluded from execution when 'Do not create shortcuts' is checked. 2009-10-04 14:19:43 -04:00
Alexander Neundorf e364dc784f some syncing with the FindQt4.cmake from KDE
-remove the parentheses in the if() conditions, they don't change the
result, and without them these lines are identical to the ones in
FindQt4.cmake from KDE
-mention which qmake was used for finding Qt

Alex
2009-10-04 11:31:30 -04:00
Alexander Neundorf 3563e6f44e -add the additional features for the dbus macros from KDE's FindQt4.cmake
Alex
2009-10-03 12:04:15 -04:00
Brad King c513962701 Create INTERPROCEDURAL_OPTIMIZATION build feature
This commit creates target and directory properties to enable the Intel
interprocedural optimization support on Linux.  Enabling it adds the
compiler option '-ipo' and uses 'xiar' to create archives.

See issue #9615.
2009-10-02 13:52:13 -04:00
Brad King d455eeb6d7 Fix typo in Intel xiar search code
This renames the variable '_intel_xair_hints' to '_intel_xiar_hints'.
2009-10-02 13:24:32 -04:00
Bill Hoffman 07c3597a86 Fix the documentation to say what it really does. Bug #9638 2009-10-02 08:44:51 -04:00
Alexander Neundorf 61a1ec5f20 document how the minimum version can be specified
Alex
2009-10-01 16:48:19 -04:00
Clinton Stimpson 86459a89a1 Add documentation for Cocoa flag and move Motif under X11 flag. 2009-10-01 16:41:00 -04:00
Clinton Stimpson 023162256d QtHelp depends on QtNetwork 2009-10-01 16:12:39 -04:00
Brad King cc11846dbf Add missing copyright notice to CMake.cmake module 2009-10-01 14:05:33 -04:00
Philip Lowman e8cdd54f74 Some bugfixes, also added public function for closer integration btwn GoogleTest & CTest, contributed by Dan Blezek.
Other minor changes:
* Enhanced documentation & added examples
* _INCLUDE_DIRS and _LIBRARIES was being set regardless of _FOUND
* Fixed status message to include library rather than include dir
* Improved detection of MSVC compiled libraries
* Added a variable (GTEST_BOTH_LIBRARIES) for libgtest + libgtest_main
2009-10-01 01:12:40 -04:00
David Cole f95bc6b5ad Eliminate ExternalProject's use of CMAKE_CFG_INTDIR subdir for Makefile generators. It was causing problems with parallel make -j invocations. Keep it for multi-configuration build systems so that Debug and Release stamp files remain separate. 2009-09-30 16:22:36 -04:00
Bill Hoffman 122c7f6179 Fix for bug #9611, some more paths for OpenJDK. 2009-09-30 14:15:23 -04:00
Bill Hoffman b5bc1d9f74 Fix for bug #9611 do not hard code archs for search paths of java, look at the machine type. 2009-09-30 09:59:00 -04:00
Bill Hoffman 86c3a39e86 Fix bug#9619 add a link to module maintainers page in readme.txt for Modules 2009-09-30 09:53:48 -04:00
Brad King e1729238c9 Add initial XL C compiler flags for safer builds
This commit adds some default initial C flags for the XL compiler.  The
most important is "-qhalt=e" which causes the compiler to error-out on
non-severe error messages.  This is necessary to get try-compiles to
fail when bad arguments are passed to a function.
2009-09-30 09:38:23 -04:00
Brad King 6d434ee6cc Split XL compiler information files
This moves platform-independent XL compiler flags into separate
"Compiler/XL-<lang>.cmake" modules.  Platform-specific flags go in
"Platform/<os>-XL-<lang>.cmake" modules.
2009-09-30 09:37:35 -04:00
Brad King f40406ed6b Fix default install prefix on Haiku
Since Haiku does not have /usr (and therefore /usr/local), this commit
changes the default install prefix to the equivalent directory of
/boot/common.

See issue #9607.
2009-09-30 08:31:53 -04:00
Brad King 869440f75a Fix shared library creation flag for XL on Linux
See issue #9617.
2009-09-29 13:56:57 -04:00
James Bigler b0744ad969 Updated the license on top of each file. 2009-09-29 00:07:46 -04:00
James Bigler c66fb80171 Removed support for cutil library and header file.
Cutil was never intented to be used outside of the SDK.  The removal of this
code is in support of this.  The CUDA_SDK_ROOT_DIR will continue to be
supported, in case users wish to use this to find files in the SDK.  There are
also two examples of how to use CUDA_SDK_ROOT_DIR to find header files and
libraries if users so wish.
2009-09-28 23:41:40 -04:00
James Bigler a26dac2202 Fixed CUDA_PROPAGATE_HOST_FLAGS, added path for Mac SDK.
The CUDA_PROPAGATE_HOST_FLAGS was incorrect in that it prevented the CUDA_NVCC_FLAGS_CONFIG variable from getting filled.

Also, added a search path for the CUDA SDK install on Macs.
2009-09-28 23:17:13 -04:00
David Cole 23dbb3b803 Fix issue #9412 - remove RPATH from files copied by BundleUtilities.cmake on Linux. Thanks to Clinton Stimpson for the patch. 2009-09-28 17:43:52 -04:00
David Cole b5265c2475 Fix issue #9395 - only return true for .exe files on Windows from the is_file_executable function. Makes behavior of this function conceptually consistent with Mac and Linux behavior. Thanks to Clinton Stimpson for the patch. 2009-09-28 17:35:40 -04:00
Brad King 3a666595c9 Convert CMake non-find modules to BSD License
This adds copyright/license notification blocks CMake's non-find
modules.  Most of the modules had no notices at all.  Some had notices
referring to the BSD license already.  This commit normalizes existing
notices and adds missing notices.
2009-09-28 11:46:51 -04:00
Brad King c4bb9c9d42 Convert CMake find-modules to BSD License
This adds copyright/license notification blocks CMake's find-modules.
Many of the modules had no notices at all.  Some had notices referring
to the BSD license already.  This commit normalizes existing notices and
adds missing notices.
2009-09-28 11:45:50 -04:00
Brad King 393b09cb85 Convert FindCUDA helper newlines from CRLF to LF
These files were committed to the repository with Windows newlines.
This converts them to Unix newlines so they will show up natively.
2009-09-28 11:04:33 -04:00
Alexander Neundorf b53217339d Correct comments and use ASM${ASM_DIALECT} env. var instead of ASM env. var to initialize the the assembler to use.
Alex
2009-09-26 05:20:03 -04:00
Alexander Neundorf bed34fd7c7 document the RUBY_VERSION variable
Alex
2009-09-26 05:08:20 -04:00
Brad King 1a527daa3b Convert newlines from CRLF to LF
These files were committed to the repository with Windows newlines.
This converts them to Unix newlines so they will show up natively.
2009-09-25 15:42:53 -04:00
James Bigler d468145fa2 Documentation fixes, new CUDA_PROPAGATE_HOST_FLAGS, changed output directory.
- Finished updating and formatting documentation.
- Added CUDA_PROPAGATE_HOST_FLAGS (Default ON) that can disable the C flag
propagation to the host compiler.
_ Changed the output directory for support files from
${CMAKE_CURRENT_BINARY_DIR} to ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles.  This
will hopefully reduce the clutter in the binary directory.
2009-09-25 00:28:12 -04:00
David Cole c181408ad8 BUG: Fix issue #8177. Modify the system PATH for all users when requested during an NSIS based installer run. Thanks to Bart Janssens for the patch. 2009-09-24 14:59:24 -04:00
James Bigler b7142e9214 Updated formatting of documentation plus a little reorganization. 2009-09-23 01:01:51 -04:00
James Bigler fb9d7d3c59 Added a command to make the output directory. This is to fix the XCode build that uses a different output directory than other systems, and rather than try to match that we'll just make it. 2009-09-23 00:50:16 -04:00
Clinton Stimpson 36606b6d73 add support for finding qcollectiongenerator executable. fixes #9248. 2009-09-22 18:44:24 -04:00
Clinton Stimpson 3551bc31f1 Add support for Qt configured with custom qtlibinfix (see issue 9571). Also fix CMP 15 warnings. 2009-09-22 16:28:13 -04:00
Brad King 5195a664b9 Skip implicit link info for multiple OS X archs
Implicit link information contains architecture-specific libraries and
directories.  The link information cannot be explicitly specified safely
when CMAKE_OSX_ARCHITECTURES contains more than one architecture.

As a result, we currently cannot support mixed-language C++/Fortran
targets and OS X universal binaries simultaneously.  In order to avoid
conflicts for simple C/C++ cases, we now simply skip detection of
implicit link information in this case.
2009-09-22 16:02:39 -04:00
Philip Lowman 30e3dba27c Make Boost easier to find 2009-09-21 23:42:39 -04:00
Clinton Stimpson ad5a455bb5 Fix issue 9581. Qt 4.5+ needs gobject-2.0. 2009-09-21 23:07:44 -04:00
Philip Lowman bc79890205 Add a blank line to my contributed find modules to prevent copyright info from showing up in CMake docs 2009-09-21 22:38:12 -04:00
Philip Lowman 448f88d46b Fix Bug #9158: FindBoost.cmake does not work properly with nmake and icl 2009-09-21 22:21:51 -04:00
Philip Lowman a8f4d4c9ba Fix glitch where we were accidently unsetting CMAKE_FIND_LIBRARY_PREFIXES 2009-09-20 23:55:47 -04:00
Philip Lowman a927ea410f Forgot to mark Protobuf cache variables as advanced 2009-09-20 21:15:33 -04:00
Philip Lowman 450c30b52b [NEW Module] FindAlsa audio library (Advanced Linux Sound Architecture) 2009-09-20 20:20:25 -04:00
Philip Lowman 301c038aeb [NEW Module] Find and use Google's Protocol Buffers library & compiler 2009-09-20 20:12:39 -04:00
Philip Lowman 9c2a38b836 Fix boost library detection with Sun Studio compiler (Issue #9153) 2009-09-20 11:33:06 -04:00
Philip Lowman 42618d5524 Improve readability 2009-09-20 08:03:45 -04:00
Brad King 180c60a86f Fix check for -isysroot on OS X
Previously we checked for this flag by parsing the version number of GCC
out of 'gcc --version', but this is not reliable because the format can
vary greatly.  Now we run 'gcc -v --help' and look for '-isysroot' in
the list of options.

We also now store the result on a per-language basis in the per-compiler
info file "CMake<LANG>Compiler.cmake".  This is necessary to make it
accessible from try-compile projects so that they generate correctly.
2009-09-19 10:14:31 -04:00
Alexander Neundorf 196d9a54aa The preprocessing and assembly rules also need the <DEFINES>, otherwise different reults are created.
Alex
2009-09-19 04:33:10 -04:00
Bill Hoffman 58818d5168 Add detection of gcc versions that do not support isysroot option and do not use it for them. 2009-09-18 14:22:20 -04:00
David Cole cba1dd59fd Better error message tells user possible ways to resolve the error. 2009-09-18 12:56:49 -04:00
Brad King 83957d9e0d Fix CHECK_(C|CXX)_COMPILER_FLAG for XL and SunPro
These compilers warn and return 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.  We
also update the regex for GNU on older Macs.  See issue #9516.
2009-09-18 09:49:44 -04:00
Brad King 53fb07ef5d Fix CHECK_(C|CXX)_COMPILER_FLAG for HP
This compiler warns and returns 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.
See issue #9516.
2009-09-17 17:16:43 -04:00
Brad King 7e3d437d0a Fix CHECK_(C|CXX)_COMPILER_FLAG for GNU and MSVC
These compilers warn and return 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.
See issue #9516.
2009-09-17 15:32:54 -04:00
Brad King ca76645ab7 Add FAIL_REGEX to CHECK_(C|CXX)_SOURCE_COMPILES
This teaches the CHECK_C_SOURCE_COMPILES and CHECK_CXX_SOURCE_COMPILES
macros to recognize a FAIL_REGEX option.  If they see the regular
expression in the output of the test compilation, the check fails.
2009-09-17 15:29:01 -04:00
Brad King 80af3ae35d Cleanup generic compiler check macro documentation
This commit improves formatting and style of the documentation for the
general-purpose compiler check macros:

  CHECK_C_COMPILER_FLAG
  CHECK_C_SOURCE_COMPILES
  CHECK_C_SOURCE_RUNS
  CHECK_CXX_COMPILER_FLAG
  CHECK_CXX_SOURCE_COMPILES
  CHECK_CXX_SOURCE_RUNS

This sytle is more consistent with CMake command documentation.
It also looks nicer in the generated documentation text files.
2009-09-17 15:28:51 -04:00
Alexander Neundorf 308e972412 The check for include dirs and builtin macros also works with the Intel compiler
Alex
2009-09-17 13:08:35 -04:00
Bill Hoffman ea282284d5 Fix for bug #9466. Change the implementation of OSX arch lists. If no ARCHs are specified by the user then no flags are set. We no longer use CMAKE_OSX_ARCHITECTURES_DEFAULT. 2009-09-17 11:53:02 -04:00
Alexander Neundorf 9d967ed47b Put compiler defined macros into eclipse project files
Now gcc is queried also for the builtin definitions, and they are then added
to the .cproject file. This should make the preprocessor highlighting in
eclipse work better (#9272)
Patch mostly from Miguel.

Alex
2009-09-16 14:37:21 -04:00
Bill Hoffman 72f524efc1 Bug #09476, add more search paths for jni. 2009-09-16 14:20:20 -04:00
Bill Hoffman 0b937cc4ae Fix for bug#9553, print a warning if pkg-config is not found. 2009-09-16 12:40:37 -04:00
Brad King b5e558e291 Fix XL C++ compiler flags on Linux
In Platform/Linux.cmake we add GNU flags as default for the platform
which breaks non-GNU compilers.  Later we should refactor these flag
files to put compiler-specific flags only in files loaded for each
compiler.  Until then this commit fixes the XL C++ compiler flags on
Linux by erasing the GNU flags.  See issue #9469.
2009-09-16 12:33:24 -04:00
James Bigler eaaf71d7b3 Initial version of FindCUDA script. Still needs documentation formatting. 2009-09-15 02:38:20 -04:00
Alexander Neundorf 72f32c2b98 fix #9152: find ZLIB quietly if PNG is searched QUIETLY
Alex
2009-09-14 15:53:07 -04:00
Bill Hoffman da29eb892b Change FindPythonLibs to use the standard _DIR instead of _PATH but stay backwards compatible 2009-09-14 09:34:57 -04:00
Alexander Neundorf cde1005442 major improvement of FindRuby.cmake
-now supports specifying minimum required version
-now supports ruby 1.8 and 1.9
-uses find_package_handle_standard_args() now
-fix #6212 and using a lot of ideas from the file attached there

Alex
2009-09-12 06:25:58 -04:00
Alexander Neundorf ea46c6e8a9 use HINTS instead of PATHS and also look for libruby-static.a (which is built by default)
Alex
2009-09-12 04:38:11 -04:00
Alexander Neundorf c6a10370bb Don't pass *.S files to the assembler, they must go through gcc, because they must be preprocessed
Alex
2009-09-12 02:15:30 -04:00
Brad King 4debb7ac69 Bias Fortran compiler search with C/C++ compilers
When CMAKE_Fortran_COMPILER and ENV{FC} are not defined CMake searches
for an available Fortran compiler.  This commit teaches the search code
to look for compiler executables next to the C and C++ compilers if they
are already found.  Furthermore, we bias the compiler executable name
preference order based on the vendor of the C and C++ compilers, which
increases the chance of finding a compatible compiler by default.
2009-09-09 16:39:47 -04:00
David Cole 6149e8f7e8 Missed another CMAKE_CFG_INTDIR reference in the previously previous commit. 2009-09-08 17:28:49 -04:00
David Cole 883338584f Missed a CMAKE_CFG_INTDIR reference in the previous commit. 2009-09-08 16:11:19 -04:00
Brad King fd47a2ae96 Drop old CMake "build settings" export/import
The CMakeExportBuildSettings and CMakeImportBuildSettings modules used
to export compiler paths and flags from one project and import them into
another.  The import process would force the settings on the including
project.

Forcing settings helped long ago when compiler ABIs changed frequently
but is now just a nuisance.  We've deemed the behavior harmful so this
commit simply removes it.  The modules and macros now error out if
included or called from a project that requires CMake 2.8 or higher.
2009-09-08 15:55:41 -04:00
David Cole 002ae925c3 Use more verbose/descriptive names for the "public API" functions in the ExternalProject.cmake module. Follow the cmake function naming convention, using a ModuleFileName_ prefix. Locate stamp files under a CMAKE_CFG_INTDIR subdir of the stamp dir so that debug and release builds have separate stamp files for Visual Studio builds. If no CMAKE_GENERATOR argument is given to ExternalProject_Add, default to using the parent project's cmake generator. 2009-09-08 15:37:15 -04:00
David Cole b71332914f Oops. Close strings with double quotes. Where they're supposed to be. 2009-09-04 18:19:06 -04:00
David Cole 5655ac46f0 Add MPICH2 and Microsoft HPC paths, add paths to find mpiexec. Now it works better automatically on Windows. Thanks to Dave Partyka for developing the patch. 2009-09-04 18:02:05 -04:00
Ken Martin f686dbecb6 some white space fixes for the book 2009-09-03 15:29:29 -04:00
David Cole 5624be360e Add test step to ExternalProject builds. Rename SVN_TAG to SVN_REVISION since it is a more accurate name. 2009-09-03 12:11:14 -04:00
Zach Mullen 69fd641adb Fixed ctest output where max test index is not the same width as the total number of tests. Also some preliminary changes for batching ctest jobs 2009-09-02 10:08:40 -04:00
Bill Hoffman 8710cc6422 Add support for embeded manifests for Intel C/C++/Fortran compilers 2009-09-01 16:33:51 -04:00
Bill Hoffman 76d059e3fb Add a module to determine if the intel linker supports manifest creation 2009-09-01 16:23:07 -04:00
Clinton Stimpson d6e8ffa927 use -o flag instead of > for qdbuscpp2xml 2009-09-01 15:21:06 -04:00
Bill Hoffman e9a170b108 Move /MANIFEST flag into -E vs_link. This is so it can be used by the intel compilers without having to specifiy it in the intel compiler files 2009-09-01 14:33:26 -04:00
Brad King 2eca4dd2d1 Use Intel for Linux flags only on Linux
The commit "Split Intel compiler information files" moved some Linux
specific flags into the platform-independent Intel compiler info files.
This moves them back.
2009-09-01 13:55:13 -04:00
Brad King dc78838737 Fix FortranCInterface_VERIFY for non-C++ case
The verification program entry point (main) is defined in a C source
file, so the C compiler should be used to link when only Fortran and C
are involved.  The C++ compiler should still be used when the CXX option
is enabled.
2009-09-01 13:03:12 -04:00
Brad King 78160cee6e Make FortranCInterface_VERIFY verbose on failure
We enable verbose build output in the try_compile of the simple project.
This makes valuable information available in the case of failure.
2009-09-01 08:52:43 -04:00
Will Dicharry ea34662053 Fixed link order dependence in FindHDF5 module for static link. 2009-08-31 18:18:34 -04:00
Will Dicharry 71ff183b5b In FindHDF5, added C library names to CXX search libraries. 2009-08-31 10:32:08 -04:00
David Cole 1171bcfc69 Add missing argument to _ep_write_downloadfile_script. 2009-08-26 06:52:43 -04:00
Will Dicharry c9686f62af Fixed HDF5 Find module error that caused no list to be passed into remove duplicates when HDF5 is not found. 2009-08-24 13:24:57 -04:00
Will Dicharry e6734068ef Add HDF5 find module and select_library_configurations module. 2009-08-24 12:04:35 -04:00
Brad King a9be85da2e Create FortranCInterface_VERIFY function
This function builds a simple test project using a combination of
Fortran and C (and optionally C++) to verify that the compilers are
compatible.  The idea is to help projects report very early to users
that the compilers specified cannot mix languages.
2009-08-24 08:49:35 -04:00
Brad King 14f7a043e3 Teach FortranCInterface to load outside results
We split the main detection logic into a Detect.cmake support module and
load it only when detection results are not already available.  This
allows results computed by the main project to be used in try-compile
projects without recomputing them.  The call to try_compile() need only
to pass FortranCInterface_BINARY_DIR through the CMAKE_FLAGS option.
2009-08-24 08:49:07 -04:00
Brad King 9ee0f9801a Split SunPro compiler information files
This moves platform-independent SunPro compiler flags into separate
"Compiler/SunPro-<lang>.cmake" modules.  Platform-specific flags are
left untouched.
2009-08-21 10:32:26 -04:00
Brad King 2ce6a7d0fb Split Intel compiler information files
This moves platform-independent Intel compiler flags into separate
"Compiler/Intel-<lang>.cmake" modules.  Platform-specific flags are
left untouched.
2009-08-21 09:54:42 -04:00
Brad King f64f9940af Teach FortranCInterface to verify languages
This module requires both C and Fortran to be enabled, so error-out if
they are not.
2009-08-20 16:21:53 -04:00
Philip Lowman 4bf4cbd8a2 Add Boost 1.39 & 1.40. Move ${Boost_INCLUDE_DIR}/lib to front of library search. 2009-08-19 22:28:46 -04:00
David Cole 0470a0c1ad Remove DownloadFile.cmake and UntarFile.cmake from the Modules directory. Put functionality directly into ExternalProject.cmake itself so that these modules do not end up in the upcoming release of CMake. 2009-08-19 12:19:12 -04:00
Philip Lowman 232b14f488 Find module for the Bullet physics engine 2009-08-16 23:07:15 -04:00
Philip Lowman c577608958 A find module for the Google C++ Testing Framework 2009-08-16 22:12:04 -04:00
Philip Lowman dac3903793 Checking in the FindFLEX.cmake & FindBISON.cmake attached to Issue #4018 after some minor improvements
* Improved examples
* Switched to FindPackageHandleStandardArgs
* Cleaned up indentation
* Sanitized else()/endif() blocks
2009-08-13 00:11:23 -04:00
Philip Lowman 5905f8f6c0 Fixes Issue #8994 2009-08-12 22:40:56 -04:00
Philip Lowman 1cde761faf Find module for GnuTLS, the GNU Transport Layer Security library (Issue #9228) 2009-08-12 22:25:31 -04:00
Philip Lowman fe18d13f79 Improved error output and documentation
* Fixed errant output when version number not found
* Improved error output when REQUIRED is passed
* Improved docs and example
2009-08-12 21:58:14 -04:00
Brad King 45313dc943 Quote the target name for Borland tlib tool
The Borland librarian tool "tlib" requires that the output target name
be quoted if it contains the character '-' (and perhaps a few others).
This commit restores the use of the TARGET_QUOTED rule variable
replacement for this purpose.  Otherwise no static library can have a
'-' in its name.

This problem was exposed by the 'Testing' test when it builds the
pcStatic library with the '-dbg' suffix.
2009-08-12 09:09:41 -04:00
Brad King 115ecc5750 Teach compiler id about VisualAge -> XL rebranding
IBM rebranded its VisualAge compiler to XL starting at version 8.0.  We
use the compiler id "XL" for newer versions and "VisualAge" for older
versions.  We now also recognize the "z/OS" compiler, which is distinct
from XL.
2009-08-07 10:13:07 -04:00
Brad King 34c6588b6e Move flag to Compiler/VisualAge-Fortran module
The CMAKE_Fortran_DEFINE_FLAG value applies to the IBM Fortran compilers
on all platforms.  This moves the setting to the platform-independent
compiler information file.
2009-08-07 10:12:34 -04:00
Brad King ee7231c03f Use NetBSD to initialize OpenBSD configuration
We teach Modules/Platform/OpenBSD.cmake to load NetBSD first since the
platforms are so similar.  This enables RPATH support on OpenBSD.
2009-08-07 09:56:20 -04:00
Brad King f33bcd6c50 Teach FortranCInterface about g77 mangling
The old GNU g77 Fortran compiler uses the suffix '__' for symbols
containing an underscore in their name.
2009-08-06 07:53:41 -04:00
Brad King 8dd02cb78d Sort FortranCInterface global mangling symbols
This just cleans up the list ordering so more entries can be added while
keeping everything organized.
2009-08-06 07:53:32 -04:00
Brad King edcddb522c Cleanup FortranCInterface for PGI and GCC 4.2
This documents the purpose of the extra my_module_.c and mymodule.c
source files, and sorts the symbols.
2009-08-05 17:07:36 -04:00
Bill Hoffman 71287734a9 Teach FortranC interface for Intel, PGI, and gcc 4.2 2009-08-05 16:55:57 -04:00
David Cole 6e54b18b5d Remove AddExternalProject.cmake. ExternalProject.cmake supercedes/replaces it. 2009-08-05 15:39:41 -04:00
David Cole fe0b121da9 Overhaul GetPrerequisites and BundleUtilities: make fixup_bundle do something useful on Windows and Linux.
Formerly, fixup_bundle was useful only on the Mac for making standalone bundle applications that could be drag-n-drop moved to anyplace in the file system. fixup_bundle is not just for the Mac any more. It will now analyze executable files on Windows and Linux, too, and copy necessary non-system dlls to the same folder that the executable is in. This should work with dlls that you build as part of your build and also with 3rd-party dlls as long as you give fixup_bundle the right list of directories to search for those dlls. Many thanks to Clinton Stimpson for his help in ironing out the details involved in making this work.
2009-08-05 14:59:14 -04:00
Brad King 80f0201b37 Rewrite FortranCInterface module
This is a new FortranCInterface.cmake module to replace the previous
prototype.  All module support files lie in a FortranCInterface
directory next to it.

This module uses a new approach to detect Fortran symbol mangling.  We
build a single test project which defines symbols in a Fortran library
(one per object-file) and calls them from a Fortran executable.  The
executable links to a C library which defines symbols encoding all known
manglings (one per object-file).  The C library falls back to the
Fortran library for symbols it cannot provide.  Therefore the executable
will always link, but prefers the C-implemented symbols when they match.
These symbols store string literals of the form INFO:symbol[<name>] so
we can parse them out of the executable.

This module also provides a simpler interface.  It always detects the
mangling as soon as it is included.  A single macro is provided to
generate mangling macros and optionally pre-mangled symbols.
2009-08-05 13:40:29 -04:00
Brad King 6843448379 Pass Fortran90 test result to try-compile
This stores CMAKE_Fortran_COMPILER_SUPPORTS_F90 in the Fortran compiler
information file CMakeFiles/CMakeFortranCompiler.cmake instead of in
CMakeCache.txt.  This file makes the result available to try-compile
projects.
2009-07-30 13:46:51 -04:00
Brad King fcab87c9f8 Do not always propagate linker language preference
The commit "Consider link dependencies for link language" taught CMake
to propagate linker language preference from languages compiled into
libraries linked by a target.  It turns out this should only be done for
some languages, such as C++, because normally the language of the
program entry point (main) should be used.

We introduce variable CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES to tell
CMake whether a language should propagate its linker preference across
targets.  Currently it is true only for C++.
2009-07-30 10:59:37 -04:00
Brad King 35f36727c5 Set CMAKE_<LANG>_VERBOSE_FLAG variables for PGI
We set the variables to contain "-v", the verbose front-end output
option for PGI compilers.  This enables detection of implicit link
libraries and directories for these compilers.
2009-07-29 16:38:06 -04:00
Brad King 0ea43ee128 Set CMAKE_<LANG>_VERBOSE_FLAG variables for Intel
We set the variables to contain "-v", the verbose front-end output
option for Intel compilers.  This enables detection of implicit link
libraries and directories for these compilers.
2009-07-29 16:07:27 -04:00
Brad King edad475e26 Recognize linker commands without paths
This teaches the implicit link line parsing code to recognize link lines
that do not have a full path to the linker executable.  At least one
version of the Intel compiler on Linux invokes the linker as just "ld"
instead of "/usr/bin/ld".
2009-07-29 16:07:19 -04:00
Brad King 836447663e BUG: Parse implicit link editor -z*extract options
The Sun Fortran compiler passes -zallextract and -zdefaultextract to the
linker so that all objects from one of its archives are included in the
link.  This teaches the implicit options parser to recognize the flags.
We need to pass them explicitly on C++ link lines when Fortran code is
linked.
2009-07-28 08:36:11 -04:00
Brad King 071ce33ec9 ENH: Install all Modules and Templates
This removes the file-wise installation rules for Modules and Templates
and instead installs the whole directories.  This approach is much less
error-prone.  The old approach was left from before CMake had the
install(DIRECTORY) command.
2009-07-24 13:17:41 -04:00
Brad King 31678a3c27 BUG: Install new fortran compiler id source.
The extension of the id source file was changed from .F90 to .F so this
fixes the install rule.
2009-07-24 12:55:42 -04:00
Brad King efaf335bf2 BUG: Skip implicit link information on Xcode
Xcode adds extra link directories that point at the build tree, so
detection of implicit link directories is not reliable.  Since Fortran
is not supported in Xcode we will not need implicit link information yet
anyway.
2009-07-23 16:19:29 -04:00
Brad King 07ea19ad1f ENH: Implicit link info for C, CXX, and Fortran
This teaches CMake to detect implicit link information for C, C++, and
Fortran compilers.  We detect the implicit linker search directories and
implicit linker options for UNIX-like environments using verbose output
from compiler front-ends.  We store results in new variables called

  CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
  CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES

The implicit libraries can contain linker flags as well as library
names.
2009-07-23 10:07:25 -04:00
Brad King 797e49a1cc ENH: Load platform-independent per-compiler files
This teaches the language configuration modules to load per-compiler
information for each language using the compiler id but no system name.
They look for modules named "Compiler/<id>-<lang>.cmake".  Such modules
may specify compiler flags that do not depend on the platform.
2009-07-23 10:06:31 -04:00
Ken Martin 699a059768 ENH: just converted case to lower for the book 2009-07-21 12:45:37 -04:00
Philip Lowman 1c794c0438 BUG: Fix include path detection with SDLDIR env var (issue #9086).
Also removed some superfluous search paths.
2009-07-18 01:05:04 -04:00
Philip Lowman dfb2d35375 ENH: Also add ARCHLIB/CORE to include search paths so perl.h can be found on non-standard install prefixes 2009-07-17 23:51:46 -04:00
Philip Lowman a94af4df64 ENH: Improve detection of perl.h/libperl, issue #7898 2009-07-17 23:31:17 -04:00
Clinton Stimpson e13176e92b BUG: fix relative paths from different drives on Windows 2009-07-16 18:53:20 -04:00
David Cole 85733c17c5 BUG: Re-fix issue #8682. Use new variable CPACK_NSIS_PACKAGE_NAME in appropriate places rather than CPACK_NSIS_DISPLAY_NAME. CPACK_NSIS_DISPLAY_NAME is the Add/Remove control panel's description string for the installed package. Using it as the "Name" of the NSIS installer package made the CMake installer itself use really long strings in the installer GUI. This fix still allows for the original intent of the first fix for #8682 -- the ability to separate the installer name from the default install directory, but it uses a new/different variable to achieve the separation. 2009-07-16 11:48:30 -04:00
Bill Hoffman d10d57fedd ENH: remove debug message 2009-07-15 12:43:09 -04:00
Bill Hoffman 6d80f66456 ENH: do not use /INCREMENTAL:YES with VS 10 compiler 2009-07-15 12:18:37 -04:00
Brad King 69e366f49b ENH: Check _SGI_COMPILER_VERSION for compiler id
Some SGI compilers define _SGI_COMPILER_VERSION in addition to the old
_COMPILER_VERSION preprocessor symbol.  It is more distinctive, so we
should check it in case the old one is ever removed.
2009-07-14 15:17:21 -04:00
Brad King eff381185a BUG: Avoid SGI preprocessor bug for Fortran Id
The SGI preprocessor /usr/lib/cpp produces bad output on this code:

  #if 1
  A
  #elif 1
  B
  #else
  C
  #endif

Both 'A' and 'C' appear in the output!  We work around the problem by
using '#elif 1' instead of '#else'.

This fixes detection of the SGI Fortran compiler id in -o32 mode.
2009-07-14 15:16:59 -04:00
Alexander Neundorf 1e20be319f STYLE: add documentation for MACRO_ADD_FILE_DEPENDENCIES()
Alex
2009-07-14 14:44:27 -04:00
Brad King de6f88d06f ENH: Create Fortran ABI detection framework
This invokes CMakeDetermineCompilerABI.cmake for Fortran at the same
place it is already done for C and CXX.
2009-07-13 11:24:01 -04:00
Brad King a03bb5a28f ENH: Check tarball filename in ep_add
This teaches the ExternalProject module to check the download URL file
name.  If it is not a tarball (.tar, .tgz, .tar.gz) it is an error
because UntarFile does not yet understand other archive formats.
2009-07-13 10:46:32 -04:00
Brad King 87434fc38f BUG: Teach UntarFile to delete dir on error
When tarball extraction fails we should still cleanup the temporary
extraction directory.  Otherwise the next attempt will create a new
directory and the first one will never be removed.
2009-07-13 10:46:20 -04:00
Brad King 82c081ba35 BUG: Fix rpath-link flag for SunPro C++ on Linux
This teaches Modules/Platform/Linux-SunPro-CXX.cmake the -rpath-link flag.  The
SunPro C++ compiler does not have a '-Wl,' option, so we just pass the flag
directly.

This problem was exposed by the ExportImport test now that it links an
executable through the C++ compiler with the -rpath-link flag.
2009-07-13 10:40:15 -04:00
Alexander Neundorf 7048373296 STYLE: don't load CMakeDetermineSystem and CMakeSystemSpecific directly from
cmCTestScriptHandler, but have it load the new script CTestScriptMode.cmake
-> that makes it more flexible, also add a simple test that the system name
has been determined correctly

Alex
2009-07-12 04:51:51 -04:00
Brad King d4d467dbd5 ENH: Teach CTest to handle Mercurial repositories
This creates cmCTestHG to drive CTest Update handling on hg-based work
trees.  Currently we always update to the head of the remote tracking
branch (hg pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.

See issue #7879.  Patch from Emmanuel Christophe.  I modified the patch
slightly for code style, to finish up some parsing details, and to fix
the test.
2009-07-10 11:08:05 -04:00
Bill Hoffman 5c4208f50e ENH: only 5 failing tests for VS 10 2009-07-10 09:12:39 -04:00
Brad King a30a41e5ca ENH: Identify HP C compiler
This compiler does not enable ANSI mode by default.  When identifying
the C compiler we try passing -Aa in case it is the HP compiler.
2009-07-08 09:14:56 -04:00
David Cole 10f4e911f0 BUG: Allow arbitrary text in values for some keywords. (And avoid warning that the arbitrary text is an unknown keyword.) 2009-07-02 17:38:30 -04:00
David Cole 04fb177de1 BUG: cmd_set logic was missing from update and patch steps. Fix it so that UPDATE_COMMAND "" means "no update step even though this is a CVS/SVN repository..." 2009-07-02 13:17:55 -04:00
Alexander Neundorf 93169dbd56 BUG: recognize system include paths also when the languages are set to
something different from "C", by resetting them to "C" (#9122)

Alex
2009-06-28 05:59:42 -04:00
Bill Hoffman 7491f52992 ENH: first pass at VS 10, can bootstrap CMake, but many tests still fail 2009-06-25 16:41:57 -04:00
Brad King ef756b96e4 ENH: Identify Fortran compilers with fixed format
This enhances the Fortran compiler id detection by using a source that
can compile either as free or fixed format.  As long as the compiler
knows it should preprocess the source file (.F) the identification can
work.  Even free-format compilers may try fixed-format parsing if the
user specifies certain flags, so we must support both.
2009-06-25 08:45:19 -04:00
Brad King 031379abe6 ENH: New ExternalProject.cmake module interface
This creates new module ExternalProject.cmake to replace the prototype
AddExternalProject.cmake module.  The interface is more refined, more
flexible, and better documented than the prototype.

This also converts the ExternalProject test to use the new module.  The
old module will be removed (it was never in a CMake release) after
projects using it have been converted to the new module.
2009-06-24 15:03:26 -04:00
Bill Hoffman 1287fc1fbf ENH: boost lib is often found under the boost include dir 2009-06-23 16:40:50 -04:00
Bill Hoffman 65aa0b8765 ENH: add additional place to look for boost so it works out of the box on windows 2009-06-23 16:31:41 -04:00
Bill Hoffman 34744b6bc0 BUG: remove warning in test of compiler so -Werror does not fail 2009-06-22 10:02:51 -04:00
Brad King b4b52451ae BUG: Look in arch-specific HPUX implicit link dirs
On HP-UX machines some system libraries appear in architecture-specific
implicit linker search paths.  We need to add these paths to our system
library search path.  However, at the time we construct the search path
we do not know the target architecture.

A full solution requires re-organizing platform configuration files so
that the target architecture can be known when needed.  Until that
happens we can avoid the problem by searching in both 32-bit and 64-bit
implicit link directories.  By telling CMake that they are implicit
directories the generated link lines will never pass the paths, leaving
the linker free to find the library of the proper architecture even if
the find_library call finds the wrong one.
2009-06-19 17:09:36 -04:00
Bill Hoffman dbc4e2f101 ENH: add path for 64 bit on old hp 2009-06-15 13:22:00 -04:00
Bill Hoffman b6fc0a78ff ENH: put the 64 bit paths first 2009-06-15 13:17:54 -04:00
Bill Hoffman 62a634aeba ENH: add more search paths on HPUX 2009-06-15 12:39:12 -04:00
Bill Hoffman 8446a48054 ENH: use .exe on vms 2009-06-11 15:25:48 -04:00
Brad King 41b0f92c6a ENH: Enable basic OpenVMS platform support
This adds the Modules/Platform/OpenVMS.cmake platform file for OpenVMS.
We just use Unix-like rules to work with the GNV compiler front-end.

A problem with process execution currently prevents CMake link scripts
from working, so we avoid using them.
2009-06-10 13:04:04 -04:00
Brad King d2b108150f BUG: Recognize .so shared libraries on HP-UX
HP-UX uses both .sl and .so as extensions for shared libraries.  This
teaches CMake to recognize .so shared libraries so they are treated
properly during link dependency analysis.
2009-06-03 15:08:30 -04:00
Alexander Neundorf 79ed6b8ebc BUG: fix #9031: newer rpm versions complain about the "#%" lines
Alex
2009-05-29 16:09:56 -04:00
Brad King a6bc1c34b1 ENH: Auto-import symbols for cygwin executables
This enables the --enable-auto-import linker flag on Cygwin when linking
executables.  It works with the old gcc 3.x compiler and is necessary
for the new gcc 4.x compiler.  See issue #9071.
2009-05-27 11:33:37 -04:00
David Cole 08817ac400 BUG: Rearrange paths to find correct installations of Visual Studio. Patch devenv.modified_search_order.patch came from issue #7919. 2009-05-26 09:55:10 -04:00
Clinton Stimpson c171d57ed0 ENH: Better error message for those who switch from Qt3 to Qt4 and don't clean their cache file. 2009-05-19 11:38:18 -04:00
Brad King 2bb13f2ca5 ENH: Remove CTest public.kitware.com drop default
Previously CTest would drop dashboard submissions at public.kitware.com
on the PublicDashboard project if there was no configuration.  The
server no longer supports forwarding to cdash.org, so there is no point
in this default.  Furthermore, there should be no default at all because
it could leak information about proprietary projects that are not
configured correctly.
2009-05-15 15:39:43 -04:00
Brad King a524e07152 ENH: Teach CTest to handle Bazaar repositories
This creates cmCTestBZR to drive CTest Update handling on bzr-based work
trees.  Currently we always update to the head of the remote tracking
branch (bzr pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.  Patch from Tom Vercauteren.
See issue #6857.
2009-05-14 16:13:52 -04:00
Alexander Neundorf ca3e9623e9 STYLE: add documentation for CPackRPM (#9029)
Alex
2009-05-14 15:31:18 -04:00
Alexander Neundorf a36465bc36 STYLE: remove these files now that I added them with a more consistent name
as CMakeFind<GENERATOR>.cmake
(should have been in the same commit...)

Alex
2009-05-12 15:17:10 -04:00
Alexander Neundorf f43e36a65d BUG: apply patch from Eric Noulard, so cpack works with rpmbuild 4.6.0, #8967
Alex
2009-05-12 15:13:10 -04:00
Alexander Neundorf ea8c04a4f8 STYLE: rename the files from CMake<GENERATOR>.cmake to
CMakeFind<GENERATOR>.cmake, so it is more consistent e.g. with
CMakeFindXcode.cmake

Alex
2009-05-12 15:11:16 -04:00
Alexander Neundorf 8e03bfb57d STYLE: first lower-casing the string makes comparing its contents easier
Alex
2009-05-10 06:01:59 -04:00
Alexander Neundorf 352fb9ff66 ENH: move the code which queries gcc for the system include dirs from
CMakeSystemSpecificInformation.cmake into a separate file,
CMakeEclipseCDT4.cmake
-if CMAKE_EXTRA_GENERATOR is set, i.e. either CodeBlocks or KDevelop3 or
EclipseCDT4, load a matching cmake script file, which can do things specific
for this generator
- added such files for Eclipse, KDevelop and CodeBlocks, one thing they all
do is they try to find the respective IDE and store it in the
CMAKE_(KDEVELOP3|CODEBLOCKS|ECLIPSE)_EXECUTABLE variable.
This could be used by cmake-gui to open the project it just generated with
the gui (not sure this is possible with eclipse).

Alex
2009-05-10 06:00:27 -04:00
Alexander Neundorf e0e93a3912 ENH: when cross compiling, e.g. for WinCE, don't use VCExpress, since this doesn't support it
This is the first patch to add support for WinCE to cmake (#7919)

Alex
2009-05-09 08:15:53 -04:00
Clinton Stimpson 22f1c78677 BUG: Fix spaces in file paths for lupdate command 2009-05-06 11:21:22 -04:00
Clinton Stimpson 2d22e11a4a ENH: Add support for QtScriptTools in Qt 4.5. 2009-05-06 09:44:36 -04:00
Clinton Stimpson f4f5da869c ENH: Add support for QtScriptTools in Qt 4.5. 2009-05-06 09:42:01 -04:00
Brad King 0d40703f49 ENH: Teach UntarFile to preserve file timestamps
After extracting the tarball in a temporary directory we copy the tree
to the destination directory.  The 'cmake -E copy_directory' command
does not preserve file timestamps, so we use file(COPY) instead.
2009-04-29 15:07:09 -04:00
Alexander Neundorf 753385d639 ENH: search also for mpeg2dec/mpeg2.h, as the documentation says, and as it
is also installed by plain libmpeg2 (#8455)
Also mark the variables as advanced.

Alex
2009-04-21 18:18:35 -04:00
Alexander Neundorf f1149df8cf ENH: add even more search directories for debian-like systems (see #8821)
Alex
2009-04-21 17:12:32 -04:00
Alexander Neundorf e16d1e37f3 ENH: add one more search directory (see #8919)
Alex
2009-04-21 17:09:29 -04:00
Alexander Neundorf 879f2f98fe STYLE: fix typos in the docs
Alex
2009-04-19 12:47:01 -04:00
Bill Hoffman ad113d4df2 BUG: fix cmake so that if you configure with a bad env for cl, then with a good path, it will configure correctly 2009-04-18 14:37:04 -04:00
Bill Hoffman be7824c369 ENH: make sure CTEST_CURL_OPTIONS work from script mode 2009-04-17 14:44:01 -04:00
Philip Lowman 63a1e45076 ENH: New function for determining Visual Studio service pack 2009-04-14 00:50:23 -04:00
Bill Hoffman 4ec691a9d1 ENH: add ability to control ssl cert checking 2009-04-10 12:15:03 -04:00
Brad King 68248be52e ENH: Allow lists in AddExternalProject arguments
The add_external_project function separates its arguments with ';'
separators, so previously no command line argument could contain one.
When specifying CMAKE_ARGS, some -D argument values may need to contain
a semicolon to form lists in the external project cache.

This adds add_external_project argument LIST_SEPARATOR to specify a list
separator string.  The separator is replaced by ';' in arguments to any
command created to drive the external project.  For example:

  add_external_project(...
    LIST_SEPARATOR ::
    CMAKE_ARGS -DSOME_LIST:STRING=A::B::C
    ...)

passes "-DSOME_LIST:STRING=A;B;C" to CMake for the external project.
2009-04-09 13:56:08 -04:00
David Cole 698cf0c886 BUG: Fix issue #8682. Use CPACK_NSIS_DISPLAY_NAME in appropriate places rather than CPACK_PACKAGE_INSTALL_DIRECTORY. Clean separation of these two variables (which have the same value by default) allows an easy workaround for issue #7881, too. 2009-04-07 15:31:51 -04:00
David Cole a20b1ecabc BUG: Fix issue #8804. Add vtk-5.4 lib path to the FindVTK.cmake module. 2009-03-31 16:15:55 -04:00
Brad King a30b84e4cc BUG: Fix AddExternalProject config command id
This fixes the get_configure_command_id function to not mistake
CONFIGURE_COMMAND values that run "cmake -P" or "cmake -E" for a CMake
project configuration.  These values just help run scripts.
2009-03-31 10:13:01 -04:00
Brad King 88184bb698 ENH: Simpler AddExternalProject install step
This simplifies the implementation with add_external_project_step.
2009-03-30 11:38:43 -04:00
Brad King bf09570615 ENH: Simpler AddExternalProject build step
This simplifies the implementation with add_external_project_step.
2009-03-30 11:38:26 -04:00
Brad King f3ba510a65 ENH: Simpler AddExternalProject configure step
This simplifies the implementation with add_external_project_step.
2009-03-30 11:38:05 -04:00
Brad King 385eb4dea7 ENH: Simpler AddExternalProject patch step
This simplifies the implementation with add_external_project_step.
2009-03-30 11:37:50 -04:00
Brad King aa7e41c16e ENH: Simpler AddExternalProject update step
This simplifies the implementation with add_external_project_step.
2009-03-30 11:37:29 -04:00
Brad King feef81b34f ENH: Simpler AddExternalProject download step
This simplifies the implementation with add_external_project_step.
2009-03-30 11:37:03 -04:00
Brad King d2175580e7 ENH: Generalize AddExternalProject step creation
This creates function 'add_external_project_step' to centralize creation
of external project steps.  Users may call it to add custom steps to
external project builds.
2009-03-30 11:36:32 -04:00
Brad King c45c862ef4 ENH: Factor argument parsing in AddExternalProject
The add_external_project function parses its arguments and puts them in
properties of the target it creates.  This factors out implementation of
the behavior for use by other functions in the module.
2009-03-30 11:35:50 -04:00
Brad King 5bc6869551 ENH: Teach AddExternalProject a 'complete' step
This separates creation of the project completion sentinel file from the
'install' step to allow more steps to be added in between later.
2009-03-30 11:35:22 -04:00
Alexander Neundorf 9b8281eadc ENH: mark the two variables as advanced
-remove unnecessary deault search dirs

Alex
2009-03-27 17:11:38 -04:00
Clinton Stimpson ff561cd1d3 ENH: Do a recheck of QT_MAC_USE_COCOA when qmake executable changes. 2009-03-26 11:04:18 -04:00
Clinton Stimpson 6a6ade8de2 ENH: Support OUTPUT_LOCATION property for qm files.
Fixes #8492.
2009-03-25 15:29:46 -04:00
Philip Lowman 45a3397bac ENH: NEW: FindGTK2 module 2009-03-22 17:13:31 -04:00
Philip Lowman 1a0512b061 BUG: LIST(REMOVE_ITEM...) was being called on a variable that could be empty. 2009-03-20 23:52:32 -04:00
Clinton Stimpson 55a6042d9c BUG: Need to fix find of qtmain library when qmake executable is changed. 2009-03-19 15:44:54 -04:00
Brad King 566c8bb15b STYLE: Reminder note for add_external_project work 2009-03-18 11:01:25 -04:00
Brad King 2cc46c12f8 ENH: Add patch step for add_external_project
The patch step runs parallel to the update step since it does not make
sense to have both.  Configuration of the step requires specification of
a PATCH_COMMAND argument to add_external_project.
2009-03-18 11:01:02 -04:00
Brad King 6ae0ff626a ENH: Improve add_external_project interface
This rewrites the keyword/argument parsing and handling in the
AddExternalProject module to use arguments more literally:

  - The strict keyword-value pairing is gone in favor of keywords with
    arbitrary non-keyword values.  This avoids requiring users to escape
    spaces and quotes in command lines.

  - Customized step command lines are now specified with a single
    keyword <step>_COMMAND instead of putting the arguments in a
    separate entry (previously called <step>_ARGS).

  - Build step custom commands now use VERBATIM mode so that arguments
    are correctly escaped on the command line during builds.
2009-03-18 11:00:30 -04:00
Philip Lowman 10da3f74ea BUG: Eliminates detection of Boost system library prior to 1.35 (see issue #8734) 2009-03-16 22:28:35 -04:00
Brad King 493f88ce55 ENH: Allow projects to disable per-rule echo lines
This creates global property RULE_MESSAGES which can be set to disbale
per-rule progress and action reporting.  On Windows, these reports may
cause a noticable delay due to the cost of starting extra processes.
This feature will allow scripted builds to avoid the cost since they do
not need detailed information anyway.  This replaces the RULE_PROGRESS
property created earlier as it is more complete.  See issue #8726.
2009-03-16 16:55:58 -04:00
Brad King 2f651c2e59 ENH: Allow projects to disable per-rule progress
This creates global property RULE_PROGRESS which can be set to disbale
per-rule progress reporting.  On Windows, progress reports may cause a
noticable delay due to the cost of starting an extra process.  This
feature will allow scripted builds to avoid the cost since they do not
need detailed progress anyway.  See issue #8726.
2009-03-16 16:22:19 -04:00
Alexander Neundorf cbb7a509e8 ENH: when using the Eclipse project generator, run gcc so that it tells us
its system include directories. These are catched in CMakeSystemSpecificInformation.cmake
(only with the Eclipse generator) and then written by the Eclipse generator
in the Eclipse project file. This way Eclipse can find the standard headers
(#7585)
Not sure CMakeSystemSpecificInformation.cmake is the best place to do this.

Alex
2009-03-13 16:52:58 -04:00
Philip Lowman cd3984eea3 STYLE: Moved functions/macros to top of file so main is more readable. 2009-03-12 21:06:08 -04:00
Alexander Neundorf 8d5b090188 STYLE: fix documentation: the second short description discarded the first
one, but the first one was the correct one (i.e. the one which mentioned
that CheckC[XX]SourceRuns.cmake also tries to run the executable)

Alex
2009-03-11 18:13:53 -04:00
David Cole 6d242ca2dc STYLE: Use $ style variable dereference instead of @ style. 2009-03-05 10:08:03 -05:00
Bill Hoffman f9dd6a38c5 ENH: add file back bug use cmake image 2009-03-04 12:30:23 -05:00
Brad King ba5cbf0fb1 ENH: Better recursive make in AddExternalProject
This teaches AddExternalProject to run "$(MAKE)" for build and install
steps of CMake-based external projects when using a Makefile generator.
It allows the external project to participate in a parallel make invoked
on the superproject.
2009-03-04 11:45:42 -05:00
Brad King 726114077d ENH: Allow empty arguments in external project API
This uses the get_property command to simplify property lookup in the
AddExternalProject module.  It distinguishes for build and install
argument properties the cases of unset and set to empty.
2009-03-04 09:21:16 -05:00
Bill Hoffman 5308afa3f7 ENH: remove unused file 2009-03-03 07:56:44 -05:00
Philip Lowman feb21f1dc0 STYLE: Fix documentation bug regarding Boost_<COMPONENT>_LIBRARY (COMPONENT
should be uppercase).
2009-03-02 21:09:36 -05:00
Philip Lowman f0edae98ea ENH: Detect perl & python scripts based on CXXTEST_INCLUDE_DIR (patch from
Tyler Roscoe on mailing list).
2009-03-02 20:29:38 -05:00
Brad King 19d9c824a8 BUG: Fix ASM source file extension default list
This replaces @ASM_DIALECT@ syntax with ${ASM_DIALECT} syntax so it will
be replaced correctly.  Patch from Derek Bruening.  See issue #8639.
2009-02-27 13:08:05 -05:00
Miguel A. Figueroa-Villanueva 3dce55fde0 BUG: Fix copy/paste error in previous commit that references wrong variable
(wxWidgets_INCLUDE_DIRS instead of wxWidgets_DEFINITIONS).
2009-02-25 17:17:34 -05:00
Alexander Neundorf bc8f2f50a8 ENH: add patch from Debian, which adds support lrelease-qt4 and lupdate-qt4
http://patch-tracking.debian.net/patch/series/view/cmake/2.6.3-1/FindQt4_qt4_lupdate_lrelease.diff

Alex
2009-02-25 16:29:29 -05:00
Brad King cb788e8f6d ENH: Re-enable system include dir suppression
This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to
specify implicit include directories on a per-language basis.  This
replaces the previous platform-wide variable.  It is necessary to
avoid explicit specification of -I/usr/include on some compilers
(such as HP aCC) because:

  1.) It may break ordering among system include directories defined
      internally by the compiler, thus getting wrong system headers.
  2.) It tells the compiler to treat the system include directory
      as a user include directory, enabling warnings in the headers.

See issue #8598.
2009-02-25 11:44:46 -05:00
Miguel A. Figueroa-Villanueva cf55e01ada BUG: Using PROPERTY COMPILE_DEFINITIONS_DEBUG to support Debug only preprocessor options (e.g., _DEBUG __WXDEBUG__). 2009-02-24 16:49:15 -05:00
Brad King 39f8b91125 BUG: Remove implicit include dir suppression
We used to suppress generation of -I/usr/include (and on OSX also
-I/usr/local/include).  This behavior seems to cause more trouble than
it's worth, so I'm removing it until someone encounters the original
problem it fixed.  See issue #8598.
2009-02-24 15:37:09 -05:00
Philip Lowman a58e183636 BUG: Fix issue #8576 FindBoost regression finding static libs, impacts MinGW and Intel/Windows compilers. 2009-02-24 00:49:01 -05:00
Clinton Stimpson 08ca8f5053 ENH: Support COMPONENTS argument to find_package().
See bug #8542.
2009-02-19 16:04:57 -05:00
Clinton Stimpson abdcf91422 ENH: Support version argument in find_package().
See bug #8542.
2009-02-19 15:51:43 -05:00
David Cole 553ddde8d1 BUG: Allow third component of Mac OSX sw_vers output to be empty. Mac OSX 10.5 was recently reinstalled on dashmacmini3 and pointed out the fact that this expression is faulty when the reported version is simply 10.5 rather than 10.5.x... for example. This fixes it. 2009-02-17 16:59:58 -05:00
Brad King 0d34d44917 STYLE: Note find_package COMPONENTS in modules doc
This mentions the COMPONENTS option of find_package in the module author
documentation file "Modules/readme.txt".  See issue #8539.
2009-02-16 10:33:09 -05:00
Clinton Stimpson 2b4a472e81 ENH: Allowing finding a relocated Qt installation which contains a qt.conf to override the hardcoded paths in qmake.
Fixes #8532.
2009-02-13 18:52:02 -05:00
Brad King 0e067ad3d1 ENH: Create include(CTest) launcher interface
This defines a new CTest configuration variable CTEST_USE_LAUNCHERS.
When set to true it puts 'ctest --launch' in RULE_LAUNCH_* properties
and enables the CTest configuration option 'UseLaunchers'.  Currently
this works only for Makefile generators.
2009-02-11 15:18:13 -05:00
Clinton Stimpson 54e258414d ENH: Change FILEPATH to STRING for a list of libraries. 2009-02-10 18:13:24 -05:00
Bill Hoffman 016d17f0cb ENH: change include command 2009-02-10 12:56:32 -05:00
Brad King b604b98c56 ENH: Define RULE_LAUNCH_* properties
This defines global, directory, and target properties
RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM.  Their
values specify 'launcher' command lines which are prefixed to compile,
link, and custom build rules by Makefile generators.
2009-02-10 08:51:15 -05:00
Philip Lowman 39888c4ae1 STYLE: Clarified example to illustrate need to call target_link_libraries() in response to Issue #8485. Changed CMake commands to lowercase. Added licensing info to copyright 2009-02-09 23:05:38 -05:00
Philip Lowman 17656ace03 BUG: Resolves Issue #8393, Remove workarounds in FindBoost once UNC-Path bug
is fixed
2009-02-09 22:39:31 -05:00
Philip Lowman cae2da8d16 STYLE: Improved examples, spelling & grammar in documentation 2009-02-09 22:34:13 -05:00
Clinton Stimpson dda19cd36f ENH: Support .hpp with automoc. 2009-02-09 16:42:19 -05:00
Christopher Harvey e18a33e491 ENH: Made the documentation for FindDevIL.cmake cleaner. Changed the XXX_LIBRARYs to XXX_LIBRARIES. 2009-02-09 16:25:48 -05:00
Clinton Stimpson f26c235aba BUG: When detecting if qmake executable is changed, don't error if path
contains regex chars.
2009-02-07 12:23:02 -05:00