Brad King
b4542762a7
ENH: Added target property INSTALL_RPATH_USE_LINK_PATH to append the linker search path directories not inside the project to the INSTALL_RPATH automatically. The property is initialized by the variable CMAKE_INSTALL_RPATH_USE_LINK_PATH when the target is created.
2006-06-15 10:12:19 -04:00
Ken Martin
8e9a6beccc
ENH: centralized locaiton of CMakeFiles setting
2006-06-14 12:28:32 -04:00
Ken Martin
7dc8a92246
STYLE: fix line length
2006-05-12 11:56:09 -04:00
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
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
Ken Martin
f85f919dbc
ENH: reduce the number of files produced still needs a bit more cleanup
2005-07-27 09:49:37 -04:00
Bill Hoffman
b8b298104b
ENH: make sure flags set in CC or CXX environment variables stay with the compiler
2005-07-20 15:44:55 -04:00
Bill Hoffman
44b54d2b94
ENH: fix for bug 992, mac bundle install fix
2005-07-14 16:00:40 -04:00
Bill Hoffman
1b115dc2e3
ENH: add -L as possible library flag
2005-07-13 16:24:16 -04:00
Ken Martin
d11707c6e6
BUG: fix for debug optimized link libraries
2005-07-05 09:00:20 -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
708828dc37
ENH: removed old convert calls
2005-06-10 08:41:47 -04:00
Andy Cedilnik
6af66e8b20
ENH: Add capability to include files to DartTestfile.txt and add example of that
2005-06-07 09:57:05 -04:00
Ken Martin
a3a7f040c6
COMP: shut up warning
2005-05-13 15:50:42 -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
Andy Cedilnik
26d4dd174f
COMP: Remove warning
2005-04-25 09:59:59 -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
c8cc20a1af
BUG: add missing header for borland
2005-04-12 15:11:54 -04:00
Bill Hoffman
1004073942
ENH: performance improvements
2005-04-12 13:27:07 -04:00
Ken Martin
ee7fbdf058
BUG: local gen was setting proj dir when it shouldnt
2005-04-12 09:36:18 -04:00
Bill Hoffman
e0fab29395
ENH: remove commented code
2005-03-22 07:27:10 -05: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
ea258e9a1a
ENH: Converted some ConvertToRelativeOutputPath calls to ConvertToOptionallyRelativeOutputPath in preparation for making ConvertToRelativeOutputPath not check CMAKE_USE_RELATIVE_PATHS.
2005-02-24 16:25:47 -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
7c7b173042
ENH: Added better default install location for windows builds. The previous default /usr/local did not make much sense. Now "%SystemDrive%/Program Files/PROJECT_NAME" is used, which is the windows equivalent to /usr/local.
2005-02-22 15:22:40 -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
785b0dc012
ENH: all tests are passing for XCode
2005-02-18 13:32:51 -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
a5ae290a5b
STYLE: Adjusted signature of cmGeneratedFileStream to make copy-if-different more explicity.
2004-11-03 07:51:51 -05:00
Brad King
d46d8df0ed
ENH: Re-implemented cmGeneratedFileStream to look like a real stream and replace the destination file atomically. This will avoid problems with the process being terminated while generating a file.
2004-11-03 07:23:18 -05:00
Bill Hoffman
674349caed
FIX: fix shared flag
2004-10-29 15:32:06 -04:00
Bill Hoffman
36c8f1d157
ENH: put error checking for missing linker languages
2004-10-27 10:53:01 -04:00
Brad King
16e86a3ea9
ENH: Split part of GetIncludeFlags method into separate GetIncludeDirectories method.
2004-10-26 10:15:49 -04:00
Bill Hoffman
ab817f2e81
COMP: fix warnings
2004-10-21 15:21:38 -04:00
Bill Hoffman
560b7af06e
COMP: fix warning
2004-10-21 14:55:29 -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
39f112b71b
BUG: make sure all returns for ConvertToRelativeOutputPath get passed by ConvertToOutputPath
2004-10-14 16:50:38 -04:00
Bill Hoffman
9fe79b2297
BUG: now that system tools relative path works, clean up the convert to relative output path code
2004-10-14 15:09:20 -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
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
Brad King
419f53ea7b
BUG: install_manifest.txt should be overwritten each time the install is run.
2004-07-02 14:08:49 -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
b97ad900c0
ENH: Fix bug in cmake install when exec/librayr output path not defined. Closes Bug #899 - subdir INSTALL_TARGETS INSTALL_PROGRAMS dont work
2004-06-01 11:30:59 -04:00
Bill Hoffman
cc2ab62f1c
BUG: make sure install works with spaces in the path
2004-05-06 16:06:18 -04:00
Andy Cedilnik
5a5cd54730
ENH: GetSafeDefinition is now in cmMakefile
2004-04-27 12:02:32 -04:00
Andy Cedilnik
ac8232e140
ENH: Do preinstall and postinstall script even if the target is not installed
2004-04-21 11:32:27 -04:00
Bill Hoffman
d0cea4c7bb
ENH: make relative paths optional and default off, and add a test for them
2004-03-31 10:01:52 -05:00
Andy Cedilnik
99feab3528
ENH: When installing project, write manifest
2004-03-28 17:59:46 -05:00
Andy Cedilnik
4fbf360a26
BUG: Support paths with spaces
2004-03-28 10:14:25 -05:00
Andy Cedilnik
db68c543ff
ENH: Add pre and post install script support
2004-03-27 20:59:44 -05:00
Bill Hoffman
ddb815c125
ENH: add new subdirectory exclude from top option
2004-03-09 16:28:44 -05:00
Andy Cedilnik
b1a7421840
ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE
2004-02-28 18:59:19 -05:00
Andy Cedilnik
34b8852dbe
ENH: Improve coverage support and add more verbosity
2004-02-23 09:56:53 -05:00
Andy Cedilnik
038abb867e
ENH: Add support for install postfix
2004-02-03 10:53:41 -05:00
Andy Cedilnik
a721b96407
ENH: Cleanup output
2004-02-03 10:25:51 -05:00
Andy Cedilnik
c1002cccb0
ERR: Remove cout
2004-01-28 11:22:19 -05:00
Andy Cedilnik
d13e30f3ae
ENH: Make install on windows seems to work now
2004-01-27 12:37:30 -05:00
Andy Cedilnik
6eed8b55dd
BUG: Fix for spaces in path
2004-01-26 16:29:36 -05:00
Andy Cedilnik
5c8c6fa3da
ENH: Several windows bugs and fixes
2004-01-26 16:24:35 -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
Brad King
ed1c2573aa
BUG: Fix to build rule generation with relative paths.
2004-01-23 09:54:50 -05:00
Brad King
01e4c82bb4
STYLE: Deleted trailing whitespace.
2004-01-23 08:53:51 -05:00
Bill Hoffman
d1efed1415
ENH: fix for hp make and relative paths never have targets with a ./ at the start of the name
2004-01-06 16:18:38 -05:00
Bill Hoffman
ae69928e69
BUG: borland make treats ./target and target as different also convert to outputpathrelative may get passed a quoted path
2003-12-30 08:41:04 -05:00
Bill Hoffman
b753a6794b
BUG: use ./ infront of the current directory
2003-12-29 14:55:43 -05:00
Andy Cedilnik
b5035770bc
BUG: On Windows network paths do not really work as regular paths, so when the binary directory is on the network, we will not support relative paths
2003-12-24 15:02:25 -05:00
Bill Hoffman
09ba0a0a31
BUG: keep more of the case information
2003-12-23 15:01:10 -05:00
Bill Hoffman
79c23436d3
BUG: fix for vtk build
2003-12-23 13:31:11 -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
Ken Martin
38d1ea9b4c
always set PROJECT_SOURCE_DIR etc
2002-10-04 08:59:02 -04:00
Ken Martin
d2c4432bbe
changed handling of FinalPass
2002-09-15 08:54:16 -04:00
Brad King
1bad75e8a2
ERR: Removed stray semi-colon.
2002-09-10 15:37:52 -04:00
Ken Martin
5b0611d709
updates
2002-09-04 15:24:49 -04:00
Ken Martin
3ffc4b2ee1
in progress checkin
2002-08-30 16:00:35 -04:00