Commit Graph

84 Commits

Author SHA1 Message Date
Brad King 81677b3130 ENH: Generate import libraries for DLLs on Cygwin and MinGW. 2006-02-18 15:37:23 -05:00
Brad King 537e2b4ed5 ENH: Implemented RPATH specification support. It is documented by the command SET_TARGET_PROPERTIES. 2006-02-16 15:19:00 -05:00
Brad King afa8367885 BUG: Fixed cmTarget::GetFullPath to not append the configuration name when only one configuration is built. It now asks the generator what subdirectory if any to use for a given configuration name. 2006-02-03 11:36:11 -05:00
Brad King 22c62c9e65 BUG: Sweeping changes to cleanup computation of target names. This should
fix many bugs related to target names being computed inconsistently.

- Centralized computation of a target's file name to a method in
  cmTarget.  Now that global knowledge is always available the
  *_CMAKE_PATH cache variables are no longer needed.

- Centralized computation of link library command lines and link
  directory search order.

- Moved computation of link directories needed to link CMake targets
  to be after evaluation of linking dependencies.

This also removed alot of duplicate code in which each version had its
own bugs.

This commit is surrounded by the tags

  CMake-TargetNameCentralization1-pre

and

  CMake-TargetNameCentralization1-post

so make the large set of changes easy to identify.
2006-01-13 18:18:32 -05:00
Bill Hoffman a91947039a ENH: for all custom commands that can not be given to a target, add them to all targets in the current makefile 2006-01-09 14:40:31 -05:00
Bill Hoffman 86ad253427 BUG: fix for bug 2322, use CMAKE_EXECUTABLE_SUFFIX variable for exe suffix 2006-01-02 13:37:53 -05:00
Andy Cedilnik 416bbaef53 COMP: Remove warnings 2005-12-30 12:58:00 -05:00
Bill Hoffman 452925649a ENH: add better support for framework linking 2005-12-26 13:14:19 -05:00
Brad King 163e3ff56c ENH: Removed cmMakefile arguments from cmTarget methods because cmTarget has the ivar m_Makefile now. Re-implemented cmLocalUnixMakefileGenerator3::AppendAnyDepend to use the new global knowledge and avoid the need to look at the cache for information about other targets. This should fix problems with custom commands and executables with the OUTPUT_NAME set. Also the <target>_LIBRARY_TYPE cache variable is no longer needed at all and has been removed. 2005-12-14 10:47:33 -05:00
Bill Hoffman d0e801247f ENH: executable prefix and post fix variables should not be the same as the executable extension 2005-11-23 10:27:05 -05:00
Brad King 102dd34bdc BUG: Do not expand escape sequences when re-expanding variables in include directories, link directories, and link libraries. 2005-11-22 17:03:07 -05:00
Brad King d392acb4e6 ENH: Added versioned executable support. This partially addresses bug#2143. Also made OUTPUT_NAME work when installing executables. 2005-08-17 16:11:18 -04:00
Bill Hoffman 35e36b5b76 ENH: make sure source file depends are used to determine if custom commands are used 2005-07-26 13:26:37 -04:00
Ken Martin 7f2e7443bf ENH: added Alexander's target property TYPE 2005-07-01 10:57:39 -04:00
Ken Martin 3b66c0a574 ENH: some better checks 2005-06-22 09:12:05 -04:00
Ken Martin 369308ca76 ENH: make LOCATION an computed property of the target and get rid of a bunch of const junk 2005-06-22 09:06:46 -04:00
Ken Martin ea0a77fd81 ENH: removed old 1.2 compatability 2005-06-09 11:33:55 -04:00
Ken Martin 78b5cca6e3 ENH: another step to the next generator still not optimized yet 2005-05-18 13:46:00 -04:00
Brad King b1c5289787 ENH: Created cmTarget::GetLibraryNames to replace cmLocalUnixMakefileGenerator2::GetLibraryNames. Added cmTarget::GetLibraryCleanNames to be used by cmLocalUnixMakefileGenerator2. Now when a library is linked both the shared and static versions are removed from the build tree. In this way we avoid having both kinds of libraries present when the user switches BUILD_SHARED_LIBS on/off. This prevents problems with turning off shared libraries and then expecting the linker to use the static libraries only to find it is using the out-of-date shared versions. 2005-04-22 16:11:00 -04:00
Brad King 1b71f4477b ENH: Added cmTarget::GetBaseName and cmTarget::GetFullName methods and removed cmLocalGenerator::GetFullTargetName and cmLocalUnixMakefileGenerator2::GetBaseTargetName. This functionality is more sensibly implemented in cmTarget. It is also needed for an upcoming feature in which both the shared and static versions of a library will be removed before one is linked. 2005-04-22 15:23:21 -04:00
Andy Cedilnik 030dd4b91e ENH: Speedup by only getting the source once 2005-04-13 16:34:52 -04:00
Brad King 04b5d1613c COMP: Using const_iterator instead of iterator to walk through custom command dependencies. 2005-02-18 16:12:33 -05:00
Bill Hoffman 43bc8a0d63 COMP: remove warnings 2004-10-22 16:58:59 -04:00
Bill Hoffman ab817f2e81 COMP: fix warnings 2004-10-21 15:21:38 -04:00
Bill Hoffman 7cef36c628 ENH: add the ability to generate custom commands for a language that is not supported by an IDE 2004-10-21 14:34:02 -04:00
Bill Hoffman 5bf55d1590 ENH: shorten the symbols a bit and remove maps of std::string for map of cmStdString 2004-09-29 16:07:07 -04:00
Bill Hoffman 8cb20b7052 BUG: fix perfered linker language code 2004-09-22 17:50:36 -04:00
Bill Hoffman 692ba48c4e ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
Bill Hoffman 9655299f08 ENH: initial fortran support 2004-08-06 14:51:41 -04:00
Bill Hoffman c8101e8e47 BUG: fix for bug 998, fix spelling errors 2004-07-26 16:59:55 -04:00
Bill Hoffman 86bf9f396e ENH: add a property for HAS_CXX to a target that will force the use of a c++ compiler in the linking of an executable that contains only c code 2004-04-22 14:38:17 -04:00
Bill Hoffman 1616135d4e ENH: remove warnings on sgi 2004-04-07 09:58:43 -04:00
Brad King 5c9fadee4f BUG: _LINK_TYPE cache variable should never be switched from optimized to debug or vice versa. 2004-04-02 13:21:20 -05:00
Andy Cedilnik c3840b5cc3 BUG: Fix Bug #445 - Same library in multiple projects can cause problems 2003-12-18 13:04:28 -05:00
Bill Hoffman 42b39099a7 ENH: add support for OBJECT_DEPENDS for visual studio 2003-07-31 15:32:53 -04:00
Andy Cedilnik ef20a2a8a9 BUG: Fix copy/paste typo 2003-07-22 13:15:45 -04:00
Ken Martin 117f961a5a moved function into cmTarget 2003-06-24 15:10:47 -04:00
Ken Martin a5a067fa1c removed some no longer required code 2003-06-23 11:16:20 -04:00
Ken Martin 703242071f more crazt changes source files now must match with full path 2003-06-05 14:40:25 -04:00
Bill Hoffman 0876c19dc8 ENH: remove warnings from borland 6 compiler 2003-05-29 09:34:06 -04:00
Bill Hoffman ca773a5d6d ENH: add stdlib.h for portability to borland 6 2003-05-24 10:07:58 -04:00
Bill Hoffman 94c396184e BUG: HasCXX did not use GetFileFormat and was broken 2003-03-15 10:04:37 -05:00
Bill Hoffman 3859417d1a ENH: add target properties 2002-12-20 17:15:45 -05:00
Brad King 4888c088ae ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside. 2002-12-11 18:13:33 -05:00
Amitha Perera 939035ad91 BUG: the dependency analysis would incorrectly alphabetically re-order the
link lines, which affects external libraries pulled up from deep within
the dependency tree. Fixed by preserving order everywhere.
2002-11-19 18:01:05 -05:00
Brad King 1f6a3c67b1 ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs. 2002-10-23 18:03:27 -04:00
Andy Cedilnik 9ed93397fb If you specify header file as source, it should still use C compiler and not CXX. Also fix COnly test so that it make sure that this still works... 2002-10-06 12:12:59 -04:00
Ken Martin 7ddb408621 removed some includes 2002-09-27 16:24:10 -04:00
Ken Martin 7b5a8762c6 modified how source files store properties 2002-08-16 11:20:18 -04:00
Ken Martin 44a7cd55ff removed all source lists from the system and made them vectors. Also appended _CMAKE_PATH to the end of the automatic cache entries for executables and libraries. Odds of all these changes working are slim but cmake builds and passes all its tests. VTK40 starts building 2002-06-27 15:57:09 -04:00