Commit Graph

126 Commits

Author SHA1 Message Date
Brad King acf33ba191 BUG: Do not add non-per-config subdirectory name of cmake target libraries as full path libs. 2006-04-11 11:40:24 -04:00
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 8e39418f6c BUG: Fixed cmOrderLinkDirectories to deal with raw link items that do not yet exist and correct drive letter case to avoid duplicate paths on windows. Fixed cmLocalGenerator to pass CMake targets as full paths to cmOrderLinkDirectories to make sure the ordering will pick up the proper target libraries. 2006-04-05 11:05:06 -04:00
Brad King 99ee1883d4 BUG: Removing part of earlier fix because it does not work with VS generators. It may be restored later after cmOrderLinkDirs is further fixed. 2006-04-04 17:14:20 -04:00
Brad King 57a9e26c15 BUG: Fixed cmOrderLinkDirectories to make sure cmake-built libraries are found properly. Also taking libraries that will be built but may not yet exist into account. The per-configuration subdirectories that are included by generators in the link path are checked for conflicting libraries also. Potentially conflicting libraries that are actually symlinks back to the desired library are no longer considered conflicting, which avoids bogus impossible ordering warnings. 2006-04-04 14:25:17 -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 3c8e899102 ENH: add support for per config target LINK_FLAGS 2006-04-03 12:57:51 -04:00
Brad King 08b14163ee ENH: Added named component installation implementation. Installation behavior should be unchanged unless -DCOMPONENT=<name> is specified when cmake_install.cmake is invoked. 2006-03-30 13:33:48 -05:00
Andy Cedilnik 93f5712a7d COMP: Remove warnings 2006-03-28 16:25:29 -05:00
Bill Hoffman f7c1723135 ENH: add support for universal binaries 2006-03-24 09:15:05 -05:00
Brad King 0376fe4b9b ENH: Added support for linking to MS .lib libraries in MinGW. 2006-03-22 11:10:58 -05:00
Brad King bcfca6e1c1 ENH: Enabling CMAKE_INCLUDE_CURRENT_DIR even for in-source builds to be more consistent with its name. This also makes double-quote and angle-bracket include styles (almost) identical. 2006-03-21 08:45:57 -05:00
Brad King 77c65b954e BUG: Fixed generation of mismatched IF in install script. This bug was introduced during the m_ sweep. 2006-03-16 14:51:54 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -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 2b7e43961c BUG: Fix for generated install scripts to support prefixes with trailing slashes or just a single slash. 2006-03-05 09:09:12 -05:00
Brad King a2e136fd17 ENH: Added PERMISSIONS and RENAME options to the INSTALL command's FILES and PROGRAMS mode, and corresponding support to FILE(INSTALL). Default permissions for shared libraries on non-Windows/non-OSX platforms no longer has the execute bit set. 2006-03-03 18:44:32 -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
Andy Cedilnik f119d6e4ef COMP: Remove warnings 2006-02-24 10:56:39 -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 518080136d ENH: Implemented FILES and PROGRAMS forms of the INSTALL command as replacements for the INSTALL_FILES and INSTALL_PROGRAMS commands. This addresses the request for absolute path install destinations in bug#2691. 2006-02-19 18:47:13 -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 98a187a8d4 ENH: Automatic include directories should not be done by default as was just implemented. Instead a project may now set CMAKE_INCLUDE_CURRENT_DIR to get this behavior. The current source and binary directories are added automatically to the beginning of the include path in every directory. This simulates in-source behavior for double-quote includes when there are generated sources and headers in the directory. 2006-02-19 13:10:25 -05:00
Brad King 377f4e79b1 BUG: Remove trailing slashes from install destinations. 2006-02-18 16:47:28 -05:00
Brad King 644f6e83ee COMP: Fixed shadowed variable warning. 2006-02-18 15:42:14 -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 9ba0283870 ENH: If CMAKE_NO_AUTOMATIC_INCLUDE_DIRECTORIES is not set try to approximate in-source build include file behavior in an out-of-source build by adding the build tree directory corresponding to a source tree directory at the beginning of the include path. Also fixed VS6 and VS7 generators to use cmLocalGenerator's computation of include paths. The VS6 generator will now short-path the include directories if the total length is too long in order to try to avoid its truncation limit. 2006-02-18 11:51: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 b8a33fb424 ENH: Added INSTALL command as a placeholder for a future generic install specification interface. Currently it supports only a SCRIPT option specifying a script to run during the install stage. 2006-02-10 13:54:36 -05:00
Bill Hoffman 6cccf0ab30 ENH: fix bug for single char libraries 2006-02-10 10:11:16 -05:00
Bill Hoffman 347c5f4b46 ENH: add working directory support 2006-02-08 10:58:36 -05:00
Bill Hoffman a2c1777300 COMP: fix warning 2006-01-24 07:58:55 -05:00
Bill Hoffman a6a20d8ce2 ENH: fix warning 2006-01-23 17:24:18 -05:00
Bill Hoffman 7f237c51f4 ENH: fix problem with watcom and short paths and -I 2006-01-23 13:50:23 -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 079826d367 COMP: Removed unused variables. 2006-01-13 19:35:16 -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 82bb6fae0d ENH: add framework support to FIND_FILE 2005-12-27 14:56:56 -05:00
Bill Hoffman 452925649a ENH: add better support for framework linking 2005-12-26 13:14:19 -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
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
Andy Cedilnik ea7c7bb34d ENH: Allow the installer to overwrite the install prefix 2005-12-10 12:11:20 -05:00
Andy Cedilnik 34e7834451 ENH: Add support for output reguilar expression 2005-11-08 17:59:20 -05:00
Andy Cedilnik fcce3ac0a1 ENH: Add a way for test to intentionally fail 2005-09-06 23:31:41 -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
Bill Hoffman e59e9d0e59 ENH: fix bug 2087 lib prefix stripped off on windows 2005-08-10 12:55:41 -04:00
Andy Cedilnik bebc745824 ENH: Add set and get test propety command 2005-07-31 11:51:42 -04:00
Ken Martin c6b011e35e ENH: put cmake files intoa CMakeFiles subdir to clean up bin tree 2005-07-29 09:19:25 -04:00