Commit Graph

55 Commits

Author SHA1 Message Date
Brad King d5719f22c1 ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds. 2006-04-11 11:06:19 -04:00
Brad King 2301a025ea ENH: Added global TargetManifest computation between Configure and Generate steps. This allows generators to know what other targets will exist on disk when the build completes. 2006-04-04 11:48:19 -04:00
Bill Hoffman f7c1723135 ENH: add support for universal binaries 2006-03-24 09:15:05 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 89e5fc63fe STYLE: fix line lengths 2006-03-10 13:54:57 -05:00
Bill Hoffman 3f532f5489 ENH: add support for language flags at rule expansion time 2006-03-06 15:14:23 -05:00
Brad King 586a9427d3 ENH: Created target property INSTALL_NAME_DIR initalized by CMAKE_INSTALL_NAME_DIR specifying the directory portion of the OSX install_name field in shared libraries. This is the OSX equivalent of RPATH. 2006-02-24 13:13:14 -05:00
Brad King 576f0b65c7 BUG: Fix generation of Xcode 2.0 and earlier projects to use CMAKE_BUILD_TYPE. 2006-02-24 11:13:31 -05:00
Bill Hoffman 398827ebc1 ENH: make it compile on vs6 2006-02-20 14:37:24 -05:00
Bill Hoffman 39e636a4a4 ENH: change expand stuff to pass a struct for all the args 2006-02-20 13:42:18 -05:00
Brad King 3fa4a95f56 BUG: Xcode generator should use local generator computation of include directories. 2006-02-20 09:54:25 -05:00
Brad King 96f0266228 ENH: Created new install script generation framework. The INSTALL command creates the generators which are later used by cmLocalGenerator to create the cmake_install.cmake files. A new target installation interface is provided by the INSTALL command which fixes several problems with the INSTALL_TARGETS command. See bug#2691. Bugs 1481 and 1695 are addressed by these changes. 2006-02-19 15:25:27 -05:00
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
Bill Hoffman 347c5f4b46 ENH: add working directory support 2006-02-08 10:58:36 -05:00
Brad King 8340c0d186 ENH: Further centralized custom command dependency computation. Custom command dependencies in the source tree may now also be specified relative to the source directory. 2006-01-13 20:51:45 -05:00
Brad King 327489ae59 COMP: Removed unused paramter from cmLocalGenerator::OutputLinkLibraries. 2006-01-13 18:33:51 -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 f6588b7919 ENH: fix borland make clean targets before build, add new generators for msys and mingw 2005-12-22 16:42:36 -05:00
Ken Martin f85f919dbc ENH: reduce the number of files produced still needs a bit more cleanup 2005-07-27 09:49:37 -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 e559aa11ac ENH: added support for forcing recomputation of depends 2005-06-10 10:45:08 -04:00
Ken Martin 708828dc37 ENH: removed old convert calls 2005-06-10 08:41:47 -04:00
Ken Martin 8c65179339 ENH: warning fixes and some first steps in cleaning up the convert code 2005-05-13 09:54:30 -04:00
Ken Martin caf17c123b ENH: added new generator 2005-05-12 10:49:56 -04:00
Andy Cedilnik d395b563ed ENH: Improve internal test handling by creating a test class. Command cmEnableTesting now only sets CMAKE_TESTING_ENABLED and cmAddTest only adds a test to the list. The actual test files are written by local generator. This way we can at some point in the future replace DartTestfile with some XML file 2005-04-24 15:59:51 -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
Bill Hoffman 1004073942 ENH: performance improvements 2005-04-12 13:27:07 -04:00
Ken Martin 345cf04012 ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings 2005-03-18 10:41:41 -05:00
Ken Martin 791aa6052b ENH: add support for out of source source 2005-03-14 11:29:15 -05:00
Brad King cb48e0c161 ENH: Merged implementations of ConvertToRelative*Path methods. The main ConvertToRelativePath method is now in cmGlobalGenerator. It converts paths only if they are at least inside the deepest common directory between the top-level source and build trees. Each cmLocalGenerator instance calls this global method with its own output directory as the "local" argument from which paths are relative. Added separate ConvertToOptionallyRelative path that pays attention to the CMAKE_USE_RELATIVE_PATHS option. 2005-02-24 16:04:54 -05:00
Bill Hoffman 2ebbf64508 ENH: remove unused code 2005-02-24 14:27:16 -05:00
Bill Hoffman ff812580eb ENH: add a new library path ordering algorithm to make sure -L paths will pick the correct libraries if possible 2005-02-24 13:16:41 -05:00
Brad King 39af9ee1e4 ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues. 2005-02-22 10:32:44 -05:00
Bill Hoffman 34e7e36cae ENH: getting closer 2005-02-14 16:46:32 -05:00
Bill Hoffman fd0f29e6f4 ENH: depends work between targets 2005-02-03 17:42:55 -05:00
Bill Hoffman 68c419c780 ENH: getting closer 2005-02-02 17:16:07 -05:00
Bill Hoffman 35ec09480a ENH: move AddFlags stuff up to LocalGenerator from LocalUnix generator 2005-02-02 13:19:57 -05:00
Brad King 16e86a3ea9 ENH: Split part of GetIncludeFlags method into separate GetIncludeDirectories method. 2004-10-26 10:15:49 -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 46a493ae74 ENH: remove warnings 2004-09-03 13:24:10 -04:00
Bill Hoffman c2ef51e181 ENH: define language extensions in cmake files and not hard coded, also fix trycompile problem 2004-09-03 12:03:41 -04:00
Andy Cedilnik f9b43b9212 BUG: Implement installing of shared library versioning and add test for the whole thing 2004-06-28 14:40:17 -04:00
Andy Cedilnik 5a5cd54730 ENH: GetSafeDefinition is now in cmMakefile 2004-04-27 12:02:32 -04:00
Bill Hoffman ddb815c125 ENH: add new subdirectory exclude from top option 2004-03-09 16:28:44 -05:00
Andy Cedilnik d13e30f3ae ENH: Make install on windows seems to work now 2004-01-27 12:37:30 -05:00
Andy Cedilnik 7608d3f586 ERR: Fix std:: namespace 2004-01-25 19:30:24 -05:00
Andy Cedilnik 797db2bd82 ENH: Start adding new installation framework 2004-01-25 19:25:26 -05:00
Bill Hoffman d79e3ae698 ENH: move relative path to parent generator class 2003-12-22 15:16:46 -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