Commit Graph

137 Commits

Author SHA1 Message Date
Brad King 50a0f71120 ENH: Added CONFIGURATIONS option to INSTALL command to allow per-configuration install rules. 2006-05-05 14:57:19 -04:00
Bill Hoffman 8d3d137dc9 ENH: make sure special vs ide path is only used for msvc_ide builds 2006-04-25 11:58:01 -04:00
Brad King 8c02cc6627 ENH: Added option CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE to put all in-project include directories before all out-of-project include directories. 2006-04-25 09:54:12 -04:00
Bill Hoffman 0005d625a0 ENH: add special windows CMAKE_MSVCIDE_RUN_PATH variable for adding to the path of vs IDE for running custom commands from cmake 2006-04-25 09:38:29 -04:00
Bill Hoffman e6ef33f598 ENH: name pdb files for visual studio make based builds 2006-04-19 16:36:14 -04:00
Bill Hoffman 8fa5ed7300 ENH: fix java for ide builds again 2006-04-17 15:35:51 -04:00
Bill Hoffman 5ecfd3d4d3 ENH: fix java and add OBJECT_DIR support 2006-04-17 14:01:22 -04:00
Bill Hoffman ed4974da55 ENH: enable test for java with IDE builds 2006-04-11 17:11:34 -04:00
Brad King 08289893b8 ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway. 2006-04-11 16:55:49 -04:00
Brad King bb014b0f4d ENH: Restored implementation of AddCustomCommandToCreateObject. Updated it to use newer custom command functionality. 2006-04-11 14:53:57 -04:00
Brad King ae2cbc346d BUG: Install scripts should honor EXCLUDE_FROM_ALL options for subdirectories. This addresses bug#3100. 2006-04-11 13:32:48 -04:00
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