Commit Graph

9670 Commits

Author SHA1 Message Date
Brad King 5b85a581a8 ENH: Separate option mapping from VS generators
Split cmVisualStudioGeneratorOptions core functionality out into a
base class cmIDEOptions.  It will be useful for other generators.
2009-07-29 11:29:08 -04:00
Brad King e339f3133f ENH: Separate VS flag table type
Move the cmVS7FlagTable type out of the VS generators and rename it to
cmIDEFlagTable.  It will be useful for other generators.
2009-07-29 11:28:55 -04:00
KWSys Robot 797f91bc0b STYLE: Nightly Date Stamp 2009-07-29 00:01:03 -04:00
Bill Hoffman b590e1dfae ENH: remove code duplication and use cmVisualStudioGeneratorOptions for all versions of vs 7 and greater. 2009-07-28 14:30:15 -04:00
Brad King e9d7ebb3ec BUG: Do not double-initialize local generators
All global generator CreateLocalGenerator methods automatically
initialize the local generator instances with SetGlobalGenerator.  In
several places we were calling SetGlobalGenerator again after receiving
the return value from CreateLocalGenerator.  The double-initializations
leaked the resources allocated by the first call to SetGlobalGenerator.
This fix removes the unnecessary calls.
2009-07-28 10:47:02 -04:00
Brad King 57057ee595 BUG: Do not filter non-library implicit link items
We list implicit link items of languages linked into a target but filter
them by the implicit libraries known to be passed by the main linker
language.  Implicit link flags like "-z..." should not be filtered out
because they are not libraries.
2009-07-28 08:36:17 -04:00
Brad King 855d07f80e BUG: Always pass linker flags untouched
In cmComputeLinkInformation we recognize link options that look like
library file names, but pass flags starting in '-' through untouched.
This fixes the ordering of the check to recognize '-' flags first in
case the rest of the option looks like a library file name, as in the
case of "-l:libfoo.a".
2009-07-28 08:08:00 -04:00
Brad King 06a1e35d8a BUG: Do not recognize ':' in a library name
In cmComputeLinkInformation we construct regular expressions to
recognize library file names.  This fixes the expressions to not allow a
colon (':') in the file name so that "-l:libfoo.a" is left alone.
2009-07-28 08:07:52 -04:00
KWSys Robot 87c3e1662c STYLE: Nightly Date Stamp 2009-07-28 00:01:06 -04:00
Brad King cf1225b9af BUG: Enable large files only if <cstdio> works
Some AIX/gcc version combinations the <cstdio> header breaks when large
file support is enabled.  See this GCC issue for details:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20366

We work around the problem by enhancing the configuration check for
large file support to include <cstdio> when available.  This will cause
LFS to be disabled when the above problem occurs.
2009-07-27 16:45:15 -04:00
Bill Hoffman 40850e7f1f ENH: add test times and a total time to the output of command line ctest 2009-07-27 14:17:38 -04:00
Brad King 0de8be8b49 ENH: Link runtime libraries of all languages
This adds implicit libraries and search directories for languages linked
into a target other than the linker language to its link line.  For
example, when linking an executable containing both C++ and Fortran code
the C++ linker is used but we need to add the Fortran libraries.

The variables

  CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
  CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES

contain the implicit libraries and directories for each language.
Entries for the linker language are known to be implicit in the
generated link line.  Entries for other languages that do not appear in
the known implicit set are listed explicitly at the end of the link
line.
2009-07-27 12:43:17 -04:00
KWSys Robot 4c0a142d3d STYLE: Nightly Date Stamp 2009-07-27 00:01:07 -04:00
Dave Partyka 1d158cffca ENH: try and see if using string.append instead of += will make valgrind not complaing that JoinPath is leaking. 2009-07-26 01:01:05 -04:00
KWSys Robot de83a83b8c STYLE: Nightly Date Stamp 2009-07-26 00:01:04 -04:00
KWSys Robot d0a2ff5d6e STYLE: Nightly Date Stamp 2009-07-25 00:01:04 -04:00
Brad King 3e5543c8bc BUG: Keep variable_watch() commands in memory
The "Keep only FinalPass commands in memory" commit caused instances of
this command to be deleted after the InitialPass.  Even though the
variable_watch command does not have a final pass, it does need to stay
alive because it owns the callback information.
2009-07-24 16:53:07 -04:00
David Cole 5bea9620dc BUG: Additional fix necessary for issue #8481 so that Xcode builds do not write files into the source tree. Also add a test that runs last to check for local modifications in CMake_SOURCE_DIR based on whether 'cvs -q -n up -dP' output is empty. Test fails on dashboard runs when there are local modifications. Test passes on non-dashboard runs with local modifications so that CMake developers may have mods when running the test locally. 2009-07-24 15:58:23 -04:00
Brad King 71c0e1417b ENH: Keep only FinalPass commands in memory
In cmMakefile we save all invoked commands so that FinalPass can be
called on them later.  Most commands have no final pass, so we should
keep only the few that do.
2009-07-24 13:31:34 -04:00
Mathieu Malaterre 961f9f583f COMP: Fix compilation of VTK on debian/sparc (sparc is a CPU not an OS) 2009-07-24 12:15:41 -04:00
KWSys Robot 2ec179dec8 STYLE: Nightly Date Stamp 2009-07-24 00:01:04 -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 f10c258167 BUG: Fix get_filename_component ABSOLUTE mode
This teaches the command to recognize full windows paths when built on
UNIX.  CollapseFullPath knows when the input path is relative better
than FileIsFullPath because the latter is only meant for paths from the
host platform.
2009-07-23 08:10:02 -04:00
KWSys Robot f5ce03ed59 STYLE: Nightly Date Stamp 2009-07-23 00:01:06 -04:00
Brad King fd10589995 ENH: Improve dynamic variable scope implementation
Previously each new variable scope (subdirectory or function call) in
the CMake language created a complete copy of the key->value definition
map.  This avoids the copy using transitive lookups up the scope stack.
Results of queries answered by parents are stored locally to maintain
locality of reference.

The class cmDefinitions replaces cmMakefile::DefinitionsMap, and is
aware of its enclosing scope.  Each scope stores only the definitions
set (or unset!) inside it relative to the enclosing scope.
2009-07-22 14:22:45 -04:00
David Cole c64b1456b6 BUG: Fix typo pointed out by Monsieur Francois Bertel. Merci, Francois. 2009-07-22 12:06:52 -04:00
David Cole 17d707254d BUG: Fix issue #8481 - generate Xcode projects such that breakpoints may be used from the Xcode debugger without adjusting any settings within the Xcode GUI first... Thanks to Doug Gregor for the patch. 2009-07-22 11:14:23 -04:00
KWSys Robot 7328a38480 STYLE: Nightly Date Stamp 2009-07-22 00:01:03 -04:00
Brad King 04b834f1b4 BUG: Disable color makefile inside try-compile
Generated makefiles for try-compile projects should never use color
output.  On MSYS the color escapes end up in the try-compile output text
because there is no way to identify whether the output is going to a
color-capable terminal.  Instead we should just always skip color for
try-compile projects.
2009-07-21 11:58:43 -04:00
KWSys Robot 0303589fd8 STYLE: Nightly Date Stamp 2009-07-21 00:01:04 -04:00
KWSys Robot 1b0b6b56e4 STYLE: Nightly Date Stamp 2009-07-20 00:01:04 -04:00
Bill Hoffman a5b06dcbb6 ENH: fix warning 2009-07-19 13:40:38 -04:00
KWSys Robot 7f0a5700a6 STYLE: Nightly Date Stamp 2009-07-19 00:01:04 -04:00
KWSys Robot cff19fc2dc STYLE: Nightly Date Stamp 2009-07-18 00:01:04 -04:00
Bill Hoffman eb5d0a7f61 ENH: fix warning 2009-07-17 16:15:11 -04:00
Clinton Stimpson df9c3b1a68 ENH: Edit button label for new changes dialog. 2009-07-17 14:51:31 -04:00
Clinton Stimpson 17acf0a310 ENH: Add a "Show my changes" to the Tools menu.
Changes by the user are recorded and when requested, it shows
      -D arguments for commandline or contents for a cache file.
2009-07-17 14:38:36 -04:00
Bill Hoffman 3250cb3d3b ENH: compute the max test name width based on the length of the tests 2009-07-17 10:06:38 -04:00
Bill Hoffman 300514fd25 ENH: make sure GUIDs for filters are cached 2009-07-17 10:05:54 -04:00
KWSys Robot 1be805609c STYLE: Nightly Date Stamp 2009-07-17 00:01:05 -04:00
KWSys Robot 611c120ad6 STYLE: Nightly Date Stamp 2009-07-16 00:01:04 -04:00
KWSys Robot ae9bff8e20 STYLE: Nightly Date Stamp 2009-07-15 00:01:02 -04:00
Clinton Stimpson 8289d0ed6e BUG: Don't let Qt suppress error dialogs. Add call to SetErrorMode(0);
See #9258.
2009-07-14 19:34:50 -04:00
Bill Hoffman 019252be80 ENH: fix vsexternal test on vs 71 2009-07-14 16:06:58 -04:00
Bill Hoffman 3d1c12b802 ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties instead, fix VXExternalInclude test for VS10 2009-07-14 14:16:46 -04:00
Brad King b23b1800a5 ENH: Teach separate_arguments() to parse commands
This adds UNIX_COMMAND and WINDOWS_COMMAND modes to the command.
These modes parse unix- and windows-style command lines.
2009-07-14 10:15:47 -04:00
Brad King 7a907f87f8 STYLE: Factor cmComputeLinkInformation constructor
This factors some code out of the constructor into a new method
cmComputeLinkInformation::LoadImplicitLinkInfo for readability.
2009-07-14 10:14:52 -04:00
Brad King d60608c858 STYLE: Factor CollectOriginalDirectories code
This factors code out of cmOrderDirectories::CollectOriginalDirectories
into cmOrderDirectories::AddOriginalDirectories.  Later a new call will
be added, and this is more readable anyway.
2009-07-14 10:14:41 -04:00
KWSys Robot 4d2dd55b9c STYLE: Nightly Date Stamp 2009-07-14 00:01:10 -04:00
Brad King b3e8fd3e9b BUG: Parse escapes in single-quoted unix arguments
This fixes KWSys's unix-style command-line parsing to interpret
backslash escapes inside single-quoted strings.
2009-07-13 17:35:08 -04:00