Commit Graph

11479 Commits

Author SHA1 Message Date
Brad King 08221c2a49 BUG: Preserve all non-targets on user link lines
In CMake 2.4 the generated link line for a target always preserved the
originally specified libraries in their original order.  Dependencies
were satisfied by inserting extra libraries into the line, though it had
some bugs.  In CMake 2.6.0 we preserved only the items on the link line
that are not known to be shared libraries.  This reduced excess
libraries on the link line.  However, since we link to system libraries
(such as /usr/lib/libm.so) by asking the linker to search (-lm), some
linkers secretly replace the library with a static library in another
implicit search directory (developers can override this by using an
imported target to force linking by full path).  When this happens the
order still matters.

To avoid this and other potential subtle issues this commit restores
preservation of all non-target items and static library targets.  This
will create cases of unnecessary, duplicate shared libraries on the link
line if the user specifies them, but at least it will work.  In the
future we can attempt a more advanced analysis to safely remove
duplicate shared libraries from the link line.
2008-07-30 10:23:41 -04:00
Brad King 96c9e7de7e BUG: Preserve shared lib order for 2.4 compatibility
We preserve the order and multiplicity of libraries directly linked by a
target as specified by the user.  Items known to be shared libraries may
be safely skipped because order preservation is only needed for static
libraries.  However, CMake 2.4 did not skip shared libs, so we do the
same when in 2.4 compatibility mode.
2008-07-30 09:25:52 -04:00
Brad King bd4601f987 STYLE: Nightly Date Stamp 2008-07-30 00:02:10 -04:00
Bill Hoffman d34068e2d4 BUG: #7416 fix error when jpeg is not found 2008-07-29 16:41:29 -04:00
Brad King f8f5dde2ee ENH: Warn when system libraries may be hidden.
We never explicitly specify system library directories in linker or
runtime search paths.  Furthermore, libraries in these directories are
always linked by asking the linker to search for them.  We need to
generate a warning when explicitly specified search directories contain
files that may hide the system libraries during the search.
2008-07-29 14:57:00 -04:00
Brad King 01d143c77b ENH: Provide context in path ordering warnings 2008-07-29 14:01:04 -04:00
Brad King 478fbdfc23 STYLE: Fix typo in comment in cmOrderDirectories 2008-07-29 14:00:59 -04:00
Bill Hoffman d652aed13a ENH: do not depend on files that do not exist 2008-07-29 10:51:46 -04:00
Brad King 1a08c9aa5e STYLE: Nightly Date Stamp 2008-07-29 00:02:16 -04:00
Douglas Gregor f0dac4d017 BUG: Be more careful with Boost_MINOR_VERSION in FindBoost module 2008-07-28 15:40:04 -04:00
Douglas Gregor c2a782a621 BUG: Work around Boost 1.36.0 bug fix on Darwin by setting the mangled compiler name to -xgccVERSION 2008-07-28 14:33:40 -04:00
Brad King 36b898ccf4 STYLE: Nightly Date Stamp 2008-07-28 00:02:22 -04:00
Brad King 1aefb48e5b STYLE: Nightly Date Stamp 2008-07-27 00:02:28 -04:00
Brad King 9d680d2c4d STYLE: Nightly Date Stamp 2008-07-26 00:02:07 -04:00
Bill Hoffman a4b30b8b25 BUG: fix source file extension bug that broke Second life build 2008-07-25 18:00:47 -04:00
Brad King 1782d90338 STYLE: Nightly Date Stamp 2008-07-25 00:02:13 -04:00
Brad King eea0cd3d8b STYLE: Nightly Date Stamp 2008-07-24 00:02:14 -04:00
Brad King b93f0318fe ENH: Support full-path libs w/out valid names.
This change introduces policy CMP0008 to decide how to treat full path
libraries that do not appear to be valid library file names.  Such
libraries worked by accident in the VS IDE and Xcode generators with
CMake 2.4 and below.  We support them in CMake 2.6 by introducing this
policy.  See policy documentation added by this change for details.
2008-07-23 12:59:14 -04:00
Brad King 74d6536024 ENH: Skip libs in known dirs for CMP0003 warnings.
Sometimes we ask the linker to search for a library for which the path
is known but for some reason cannot be specified by full path.  In these
cases do not include the library in CMP0003 warnings because we know the
extra paths are not needed for it.
2008-07-23 12:19:54 -04:00
Miguel A. Figueroa-Villanueva 363727f600 ENH: Updated FindImageMagick to:
- Find newer additions such as animate, compare, etc.
- Find development api: Magick++, MagickCore, MagickWand
- Use FindPackageHandleStandardArgs to output standard messages.
2008-07-23 02:47:36 -04:00
Brad King ffd231869f STYLE: Nightly Date Stamp 2008-07-23 00:02:19 -04:00
Bill Hoffman 8aae78d204 ENH: change to correct line feed 2008-07-22 13:35:07 -04:00
Bill Hoffman 87f3a15a80 ENH: change to correct line feed 2008-07-22 13:34:09 -04:00
Bill Hoffman 1d1d874cf1 COMP: fix compiler warning and follow style 2008-07-22 13:32:43 -04:00
Alin Elena a57fc5585a ENH: FindBLAS.cmake, FindLAPACK.cmake modules were redesigned so now you have three new variables BLA_VENDOR (you can specify the VENDOR), BLA_STATIC (gets the static version of libs), BLA_F95 (gets the fortran 95 interface). BLA_VENDOR can be specified as an environment variable. Intel mkls libs need FindThreads to be found correctly so you will need to enable the C/CXX 2008-07-22 07:15:31 -04:00
Brad King 6db292d656 STYLE: Nightly Date Stamp 2008-07-22 00:02:21 -04:00
Alexander Neundorf 4175b514fc ENH: handle HTML documentation for single items better: no warning about
ComputeSectionLinkPrefix, don't create an index for only one item

Alex
2008-07-21 17:52:59 -04:00
Bill Hoffman 76878d928e ENH: switch to using cdash for submissions 2008-07-21 15:44:36 -04:00
Bill Hoffman 7183a632f0 ENH: get out of module if no fortran 2008-07-21 15:34:11 -04:00
Bill Hoffman e1a2c08628 ENH: this should fail only if required is sent to find package 2008-07-21 15:11:03 -04:00
Alin Elena 834dd533ed ENH: checks if Fortran is enbaled. If not an error message is produced. 2008-07-21 13:40:31 -04:00
Brad King ff63bb1b44 ENH: Support full-path libs w/out extension in VS IDE.
- This case worked accidentally in CMake 2.4, though not in Makefiles.
  - Some projects build only with the VS IDE on windows and have this
    mistake.
  - Support them when 2.4 compatibility is enabled by adding the extension.
2008-07-21 10:07:56 -04:00
Alin Elena dbb89f47aa ENH: Modules/CheckFortranFunctionExists.cmake helps gfortran to check the existence of a file
ENH: Modules/FindLAPACK.cmake returns the full list of libraries required to link against Lapack
2008-07-21 04:56:26 -04:00
Brad King c52f9425c7 STYLE: Nightly Date Stamp 2008-07-21 00:02:24 -04:00
Alexander Neundorf 0b27f1f766 STYLE: fix #7146, add documentation for
CMAKE[_SYSTEM]_(LIBRARY|PROGRAM|INCLUDE|PREFIX)_PATH variables
-moved CMAKE_CROSSCOMPILING from "Variables that modify behaviour" to
"variables that Provide Information", since it should be used only for
testing whether we are currently in cross compiling mode, not for switching
between the modes.

Alex
2008-07-20 17:14:00 -04:00
Alexander Neundorf fdd99aa361 BUG: #7333, search dirs for Fedora
Alex
2008-07-20 15:50:13 -04:00
Alexander Neundorf ef2424c9da BUG: #7360: add support for FreeBSD
BUG: #7345: add support for ppc

Alex
2008-07-20 15:45:49 -04:00
Alexander Neundorf f889f9e35f BUG: fix #6416: provide JNI_LIBRARIES and JNI_INCLUDE_DIRS
Alex
2008-07-20 15:39:02 -04:00
Brad King 75e6fe0579 STYLE: Nightly Date Stamp 2008-07-19 23:52:22 -04:00
Brad King 5d39290bb2 STYLE: Nightly Date Stamp 2008-07-18 23:52:35 -04:00
David Cole b3752abc8d ENH: Improvements to the bundle cpack generator from second patch attached to feature request #7170. Thanks to Tim Shead. 2008-07-18 16:12:36 -04:00
Douglas Gregor fa458957ab ENH: Use the HINTS feature of find_library to find the right libraries for
MPI, and act a bit more intelligently when MPI cannot be found.
2008-07-18 08:17:23 -04:00
Brad King 6e9ea6c65a STYLE: Nightly Date Stamp 2008-07-17 23:52:46 -04:00
Brad King 129f3bef2d COMP: Check for -Wno-long-double before using
Older GCC on the Mac warns for use of long double, so we use
-Wno-long-double.  Newer GCC on the Mac does not have this flag and
gives an error.  We now check for the flag before using it.
See bug #7357.
2008-07-17 15:19:25 -04:00
Brad King eb85676928 ENH: Avoid cmcurl CMake macro name conflicts
Utilities/cmcurl/CMake provides macros with the same file names and
macro names as others in Modules, but with different interfaces.  We
rename the curl ones to avoid conflict.
2008-07-17 15:19:17 -04:00
Brad King 315fed9d49 STYLE: Nightly Date Stamp 2008-07-16 23:52:47 -04:00
Brad King 2bc9acb1ca BUG: Fix try_compile during EnableLanguage
- The source-file signature of try_compile looks up the language
    of the source file using the extension-to-language map so that
    it knows what language to enable in the generated project.
  - This map needs to be filled before loading a file specified by
      CMAKE_USER_MAKE_RULES_OVERRIDE
      CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>
    so that the user file may call the try_compile() source-file
    signature.
  - It must still be re-filled after loading CMake<LANG>Information.cmake
    in case the compiler- or platform-specific files added anything.
  - See bug #7340.
2008-07-16 11:03:58 -04:00
Bill Hoffman 299a0c826b ENH: remove test that does not work on all compilers 2008-07-16 09:29:56 -04:00
Brad King 9e0e27ccc7 STYLE: Nightly Date Stamp 2008-07-15 23:52:56 -04:00
Bill Hoffman ab3ed2b2bf ENH: add a test for bug 7316 2008-07-15 10:04:01 -04:00