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
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
Ken Martin
345fb993aa
ENH: some fixes for better backwards compatibility
2005-10-10 11:49:17 -04: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
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
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
Brad King
1088f39327
COMP: Added missing forward declaration of cmMakefile. This was only working because cmCustomCommand.h declared it.
2005-02-18 16:12:08 -05: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
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
Andy Cedilnik
b1a7421840
ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE
2004-02-28 18:59:19 -05:00
Andy Cedilnik
d13e30f3ae
ENH: Make install on windows seems to work now
2004-01-27 12:37:30 -05:00
Ken Martin
072db6ad70
removed redundent includes
2003-08-10 18:30:54 -04:00
Ken Martin
117f961a5a
moved function into cmTarget
2003-06-24 15:10:47 -04:00
Ken Martin
ba68f771b3
yikes added new custom command support
2003-06-03 10:30:23 -04:00
Bill Hoffman
3859417d1a
ENH: add target properties
2002-12-20 17:15:45 -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
Ken Martin
7ddb408621
removed some includes
2002-09-27 16:24:10 -04:00
Amitha Perera
0e6b39e52f
BUG: Correct some of the dependency analysis code.
...
- Make sure the original link line is untouched
- Avoid duplicating the link line when supporting version < 1.4
- Make sure the cyclic dependencies and such are output correctly in
complicated cases.
- Avoid outputing dependencies that are already satisfied on the original
link line when possible.
2002-05-10 13:35:42 -04:00
Bill Hoffman
6734d3bb88
ENH: change set<string> to set<cmStdString> to avoid long symbols that crash ar on solaris
2002-05-09 09:33:52 -04:00
Bill Hoffman
cdf550de13
ENH: rework library depend stuff
2002-05-03 16:34:05 -04:00
Amitha Perera
4bff970413
- bug fix where paths weren't being output when LIB_OUT_PATH *isn't* used
...
- test case for above mentioned bug
- more comments. Comments are good.
2002-05-03 00:27:34 -04:00
Bill Hoffman
46e9d970e9
remove canonical conversion for lib names
2002-05-02 16:13:18 -04:00
Amitha Perera
4fe8947bcc
BUG: The library paths should stay with the libraries during dependency analysis.
2002-05-02 13:41:40 -04:00
Bill Hoffman
27fe57b716
ENH: change LINK_LIBRARY to add to targets
2002-05-02 13:17:10 -04:00
Amitha Perera
1f8df8585e
ENH: Add library dependency analysis.
2002-05-01 14:00:21 -04:00
Bill Hoffman
4ea0f6b949
ENH: add enable language support for PROJECT command, this means that a C only project can be built with cmake, even without a cxx compiler
2002-04-02 15:43:23 -05:00
Bill Hoffman
8b3b49a010
ENH: major change, the cmMakefile now contains a master list of cmSourceFile objects, the source lists reference the list via pointers, also you can now set properties on a file, like compile flags, abstract, etc.
2002-03-29 10:06:30 -05:00
Will Schroeder
a6a43d5320
ENH:Updated copyright
2002-01-21 15:30:43 -05:00
Luis Ibanez
bf7470be7c
FIX: GENERATED_CODE type is no longer needed: generated code is not a Target.
2001-12-11 02:17:53 -05:00
Luis Ibanez
f86418e99f
ENH: A type of target was added for representing GENERATED_CODE
2001-11-29 01:48:23 -05:00
Yves Starreveld
247c1640da
Changes to allow MODULE type target for a shared library
2001-08-28 18:02:59 -04:00
Bill Hoffman
ddd5a7d729
ENH: change all maps of string to be maps of cmStdString, to reduce symbol length in object files.
2001-08-22 11:58:17 -04:00
Brad King
cfa25e9e1a
ENH: Added INSTALL_PROGRAMS command and corresponding support. This involved splitting cmTarget::INSTALL into INSTALL_FILES and INSTALL_PROGRAMS enum values. INSTALL_FILES no longer adds execute permission. The INSTALL_PROGRAMS commnad takes either a list of explicit names, or a regex. It will not expand source lists like the INSTALL_FILES command will.
2001-07-31 11:29:21 -04:00
Brad King
e693d47253
ENH: Added support for selection of static/shared build on a per-library basis.
2001-07-02 15:38:02 -04:00
Ken Martin
012603c746
duh
2001-06-13 13:53:11 -04:00
Ken Martin
521e301116
minor cvs web changeCMakeLists.txt
2001-06-13 13:49:24 -04:00
Bill Hoffman
4f77d737c9
ENH: move utilities to targets from makefile, and add versioning to cache
2001-06-07 14:52:29 -04:00
Ken Martin
dbebd0a276
added install rules
2001-05-23 11:31:43 -04:00
Ken Martin
32f7cef6f3
added win32 executable option
2001-05-10 13:52:23 -04:00
Ken Martin
089aa3e106
option to make utilities in the all target
2001-05-04 15:50:26 -04:00
Bill Hoffman
96ec40943c
ENH: implement ADD_TARGET command, and add an ALL_BUILD target
2001-05-01 16:55:32 -04:00
Ken Martin
2da0c57d46
added TARGET_LINK_LIBRARY command and support for debug and release libraries to link against
2001-04-30 10:44:00 -04:00
Will Schroeder
54cfe84f3f
ENH:New copyright
2001-04-27 08:01:17 -04:00
Ken Martin
73f04d1409
many fixes and cleanup and features
2001-04-24 16:49:12 -04:00
Ken Martin
24bce99cbf
cleaned up the coding style made ivars private etc
2001-04-19 13:28:46 -04:00
Ken Martin
865ec96644
major changes to support multiple libraries and source lists
2001-04-11 14:59:02 -04:00