Commit Graph

8654 Commits

Author SHA1 Message Date
Brad King d35b5a2fb1 BUG: Do not convert RPATH entries to full path.
When generating RPATH entries on the link line using a repeated linker
flag (-R ... -R ... style) do not convert individual entries to a full
path.  We need to preserve what the user requested.
2008-08-05 09:55:08 -04:00
Brad King e44a9c9299 BUG: Fix escaping in link scripts
When generating escape sequences for the native build tool do not put in
Makefile escapes for paths generated into link scripts.  This fixes
putting "$ORIGIN" into the RPATH, and probably some other subtle
problems.
2008-08-05 09:55:02 -04:00
Brad King 090b90d727 STYLE: Nightly Date Stamp 2008-08-05 00:01:35 -04:00
Brad King aaa88d33a9 ENH: Build large archives incrementally
Creation of archive libraries with the unix 'ar' tool should be done
incrementally when the number of object files is large.  This avoids
problems with the command line getting too many arguments.
2008-08-04 11:37:19 -04:00
Brad King 0c20967a6b BUG: Fix operator precedence error in cmELF
When attempting to load the RPATH out of a non-ELF file cmELF would
crash because the check for a valid file was done with in correct
operator precedence.  See bug#7392.
2008-08-04 09:38:38 -04:00
Brad King acd9e9e5e9 STYLE: Nightly Date Stamp 2008-08-04 00:01:41 -04:00
Brad King 2d95311f75 STYLE: Nightly Date Stamp 2008-08-03 00:01:47 -04:00
Brad King 50fd6e7c3d STYLE: Nightly Date Stamp 2008-08-02 00:01:53 -04:00
David Cole 5c47163d41 BUG: Improve fix for issue #7058 - comsuppd did not yet exist in VC6. 2008-08-01 12:10:43 -04:00
Brad King ead5e0ce85 STYLE: Nightly Date Stamp 2008-08-01 00:01:59 -04:00
David Cole 5a0389a0b7 BUG: Fix issue#4792 - improve verbose and log output when ctest cannot find a file during coverage analysis. 2008-07-31 14:16:34 -04:00
David Cole 3312685616 BUG: Fix issue #7058 - link the commsup lib explicitly for use on some Visual Studio + SDK combinations 2008-07-31 13:46:17 -04:00
Bill Hoffman 45b9a2d575 BUG: fix for 7426 bad check for cpack 2008-07-31 13:36:53 -04:00
David Cole e1ac9227a0 BUG: Fix issue #5773 - add table entry to map /W0 to WarningLevel="0" 2008-07-31 12:54:09 -04:00
David Cole f059ebff69 BUG: Fix issue #4971 - use lower case when comparing file names from gcov output on _WIN32 since sometimes the drive letters have different case. 2008-07-31 11:28:45 -04:00
Bill Hoffman 6f31b0dfbd ENH: add a --trace option 2008-07-31 10:33:25 -04:00
Brad King 9926b7f717 STYLE: Nightly Date Stamp 2008-07-31 00:02:11 -04:00
David Cole 17452105cd BUG: Fix issue #7088 - do not emit error messages when attempts to run Visual Studio macros fail. You can still get the error output as messages if you want using --debug-output from the cmake command line. 2008-07-30 15:26:34 -04:00
Bill Hoffman beeebcdc40 BUG: fix for bug 7427, preinstall target name hard coded 2008-07-30 15:18:19 -04:00
David Cole b2f041f6a8 BUG: Fix issue #7414 - do not crash when given components with circular dependencies. Thanks to Doug Gregor for the patch. 2008-07-30 13:28:17 -04:00
Brad King 0247a495c1 ENH: Recognize src extensions of all enabled langs
For historical reasons we still support naming of source files without
their extension.  Sources without known extensions are located on disk
by iterating through a fixed set of possible extensions.  We now want
users to always specify the extension, so the fixed set will not be
expanded and is preserved for compatibility with older projects.

This change adds recognition of extensions of all enabled languages to
avoid checking the disk for files whose extensions are unambiguous but
not in the original fixed set.
2008-07-30 11:06:11 -04:00
Brad King 24c9434a81 BUG: Avoid double-slash in check for source file 2008-07-30 11:06:06 -04:00
Bill Hoffman d6f02cd911 BUG: fix for bug 7421, fortran did not get arch flags on the mac 2008-07-30 10:44:57 -04:00
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
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
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
Brad King ffd231869f STYLE: Nightly Date Stamp 2008-07-23 00:02:19 -04:00
Bill Hoffman 1d1d874cf1 COMP: fix compiler warning and follow style 2008-07-22 13:32:43 -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
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
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
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
Brad King 6e9ea6c65a STYLE: Nightly Date Stamp 2008-07-17 23:52:46 -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
Brad King 9e0e27ccc7 STYLE: Nightly Date Stamp 2008-07-15 23:52:56 -04:00
Brad King a744f2d131 STYLE: Nightly Date Stamp 2008-07-14 23:53:09 -04:00
Bill Hoffman e5ba0296c2 BUG: fix for bug 7316 2008-07-14 18:51:54 -04:00
Brad King 0d99216dfb STYLE: Nightly Date Stamp 2008-07-13 23:53:09 -04:00
Brad King 180e05acdc STYLE: Nightly Date Stamp 2008-07-12 23:53:20 -04:00
Brad King dbfe32d2ed STYLE: Nightly Date Stamp 2008-07-11 23:53:29 -04:00
Brad King dc08bb837a STYLE: Nightly Date Stamp 2008-07-10 23:53:45 -04:00
Bill Hoffman 0143b83264 COMP: remove warning and check for assignment to itself in operator= 2008-07-10 17:20:14 -04:00
Brad King 06d38d313f STYLE: Nightly Date Stamp 2008-07-09 23:53:43 -04:00
David Cole d7b9041516 COMP: Fix HP continuous. Pull stl headers into CMake header files using cmStandardIncludes.h 2008-07-09 16:30:53 -04:00
David Cole 71f61636b6 ENH: One more patch from Doug Gregor including PackageMaker functionality for componentized-for-the-end-user and download-some-bit-on-demand installers. 2008-07-09 13:38:56 -04:00
Bill Hoffman 3366e6c2cd ENH: fix memory leak 2008-07-09 11:46:03 -04:00
Brad King 0d54001276 ENH: Set version info for shared libs on OSX.
- Map SOVERSION major.minor.patch to compatibility_version
  - Map VERSION major.minor.patch to current_version
  - See issue #4383.
2008-07-09 10:09:46 -04:00
Brad King da4f142cc1 ENH: Add full target version signature cmTarget::GetTargetVersion. 2008-07-09 10:09:00 -04:00
Brad King ba84524207 STYLE: Nightly Date Stamp 2008-07-08 23:53:48 -04:00
David Cole 83ec8c3593 ENH: Further refinement of the CPack components functionality from Doug Gregor.
Details:
==========

 - New cpack_add_component, cpack_add_component_group, and
cpack_add_install_type "commands" defined as macros in the CPack
module.
 - Documentation for all of the variables and commands in the CPack module.
 - Added get_cmake_property(... COMPONENTS) to CMake to ask for the
names of all components. Used in the CPack module to automatically
build component-based installers. (Set CPACK_MONOLITHIC_INSTALL to
turn off component-based installation).
 - A group can declare its PARENT_GROUP, to build an arbitrary
hierarchy of groups.
 - New CPack command cpack_configure_downloads, which creates an
installer that downloads only the selected components on-the-fly.
Those components marked DOWNLOADED will be separate packages
downloaded on-the-fly (or, all packages can be marked as such with the
ALL option to cpack_configure_downloads). Individual components are
compressed with ZIP at installer-creation time and
downloaded/uncompressed by the installer as needed. This feature is
only available on Windows with NSIS at the moment.
 - NSIS installers can install themselves and enable the "Change"
button in Add/Remove programs, allowing users to go back and install
or remove components. This can be disabled through
cpack_configure_downloads, because it's only really useful is most of
the application's functionality is in downloaded components.
 - Bug fix: automatically install everything whose COMPONENT was not
specified (it's a hidden, required group)
 - Bug fix: fixed removal of components when re-running the NSIS
installer and unchecking components
 - Bug fix: NSIS installers now only install/remove the minimal
number of files when re-run to update the installation (or by clicking
"Change" in Add/Remove programs)
2008-07-08 11:52:25 -04:00
Brad King 7515492079 STYLE: Nightly Date Stamp 2008-07-07 23:53:59 -04:00
Bill Hoffman 2081dcbfce ENH: add get_test_property to bootstrap so bootstrap builds test the same as non-bootstrap builds 2008-07-07 15:07:54 -04:00
Brad King 9a3c0bf073 BUG: Do not build human-reference files in Xcode
- The Info.plist file in app bundles should not be built.
  - User-specified files such as foo.txt should not be built.
  - Only files with a recognized language should be built,
    just as in the Makefiles generators.
  - See bug #7277.
2008-07-07 13:12:21 -04:00
Brad King e225a377b9 ENH: Add projectRoot to Xcode projects
- This attribute points Xcode at the source tree.
  - Xcode 3 wants this to be set always.
  - See bug #7044.
2008-07-07 10:57:32 -04:00
Brad King 97e658c571 BUG: Fix AppBundle=>Library depends in Xcode
- The Xcode generator xcode-depend-helper needs to account
    for the paths of executables within application bundles.
  - See bug #7278.
2008-07-07 10:05:29 -04:00
Brad King 7a10a8ca33 STYLE: Nightly Date Stamp 2008-07-06 23:54:05 -04:00
Bill Hoffman bc58fe6485 COMP: fix warning 2008-07-06 22:06:08 -04:00
Bill Hoffman a4ae5a72a0 COMP: fix some more warnings 2008-07-06 20:03:08 -04:00
Bill Hoffman cb4eaeabe5 COMP: fix a few more warnings 2008-07-06 19:58:38 -04:00
Brad King c3933acc75 STYLE: Nightly Date Stamp 2008-07-05 23:54:11 -04:00
Clinton Stimpson f729538aaa ENH: Replace Advanced checkbox and group option in menu with a combo box to
choose view type.
2008-07-05 13:25:04 -04:00
Bill Hoffman 70662e7f86 COMP: fix warning 2008-07-05 09:29:33 -04:00
Brad King b44ac00240 STYLE: Nightly Date Stamp 2008-07-04 23:54:18 -04:00
Bill Hoffman 5292b3edef COMP: try to fix sgi compiler problem with set and also shorten symbol lengths for set class 2008-07-04 10:28:22 -04:00
Bill Hoffman 112d377fbb COMP: fix more warnings 2008-07-04 10:10:30 -04:00
Bill Hoffman fba54c56f2 COMP: fix warning 2008-07-04 09:55:26 -04:00
Bill Hoffman 7098b666fa COMP: fix some warnings 2008-07-04 09:50:32 -04:00
Brad King 9466dd3481 STYLE: Nightly Date Stamp 2008-07-03 23:54:30 -04:00
Bill Hoffman 9e167b6800 ENH: one more fix for the old hp c++ compiler 2008-07-03 16:26:03 -04:00
Bill Hoffman f188d0e241 ENH: one more fix for hp 2008-07-03 15:02:52 -04:00
Bill Hoffman 096c139c80 ENH: fix for old hp compiler 2008-07-03 13:55:36 -04:00
Brad King dd1ee6975f ENH: Do not auto-create out-dated cache variables
- We used to always put LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH
    in the cache if the project did not.
  - In CMake 2.6 these variables should no longer be used.
  - Now add them only if CMAKE_BACKWARDS_COMPATIBILITY is also cached.
  - This happens only when CMP0001 is set to OLD or WARN or if
    the user or project sets it.  In any case compatibility is needed.
  - Reported by Miguel A. Figueroa-Villanueva and Philip Lowman.
2008-07-03 13:55:33 -04:00
Brad King 1342965b05 BUG: Fix Xcode reference to Info.plist resource
- Generated Xcode projects for application bundles list the
    CMake-generated Info.plist input file as a resource.
  - The location of the input file was moved by a previous commit,
    but the reference to it as a resource file was not updated.
  - This change moves the file to CMakeFiles/<tgt>.dir/Info.plist
    to give it a more intuitive name in the Xcode project.
  - We also update the reference to point at the correct location.
  - See bug #7277.
2008-07-03 13:28:54 -04:00
Brad King 264af17bfc BUG: Fix Xcode per-config bundle name in Info.plist
- The Xcode generator creates one Info.plist input file which is
    converted at build time by Xcode and placed in the final bundle.
  - The <CONFIG>_OUTPUT_NAME target property can place different content
    for the exe name in Info.plist on a per-configuration basis.
  - Instead of generating a per-config Info.plist input file just let
    Xcode put the name in at build time using the $(EXECUTABLE_NAME) var.
2008-07-03 13:28:49 -04:00
Bill Hoffman 7950b99d9d ENH: add missing file 2008-07-03 09:49:49 -04:00
Bill Hoffman bb7b27e417 ENH: add initial ctest -j feature 2008-07-03 09:31:33 -04:00
Brad King ea71721b80 STYLE: Nightly Date Stamp 2008-07-02 23:54:33 -04:00
Brad King 1589e112e6 STYLE: Nightly Date Stamp 2008-07-01 23:54:43 -04:00
Brad King 7317f2cbe6 STYLE: Nightly Date Stamp 2008-06-30 23:55:16 -04:00
Clinton Stimpson 667d5f9446 BUG: Fix column widths on some systems. 2008-06-30 14:29:08 -04:00
Brad King b73cac6409 BUG: Do not escape make variable references in VS additional options. 2008-06-30 09:57:07 -04:00
Brad King 5b09901f69 STYLE: Nightly Date Stamp 2008-06-29 23:55:14 -04:00