Commit Graph

436 Commits

Author SHA1 Message Date
Bill Hoffman a468872ccd ENH: add a check to make sure targets only link to libraries and not utility targets to avoid seg faults, bug 3194 2006-05-04 17:54:31 -04:00
Bill Hoffman fa415043d8 ENH: fix re-run of cmake based on configured files that are done with copy if different and never change 2006-04-11 22:39:12 -04:00
Ken Martin 535acdc7a0 ENH: some performance optimizations 2006-04-11 12:51:20 -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
Bill Hoffman 8c06f8e294 ENH: add support for re-running cmake if the cmakefiles change 2006-04-10 13:53:00 -04:00
Andy Cedilnik a2d8447fb9 BUG: Fix logic. If the variable is not set, then it is always ok to write the file 2006-03-22 14:45:12 -05:00
Andy Cedilnik ee1975570e ENH: Allow blocking of writing into the source tree 2006-03-22 14:40:36 -05:00
Ken Martin 10efe3b079 ENH: added some new functionality 2006-03-22 14:06:52 -05:00
Andy Cedilnik 3806c1050d ENH: Remove things from bootstrap 2006-03-22 09:58:11 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Brad King 6018c27993 BUG: Clarified confusing error message. 2006-03-14 09:37:50 -05:00
Bill Hoffman 0db4cb0d96 ENH: removed unused methods after find changes 2006-03-02 15:03:36 -05:00
Andy Cedilnik c4156b4531 COMP: Even more global target fixes 2006-02-24 17:35:35 -05:00
Andy Cedilnik ea5564624c ENH: Add a notion of a global target 2006-02-23 10:03:24 -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
Bill Hoffman c59937a4a8 ENH: put the system path ahead of the command path 2006-02-17 12:49:09 -05:00
Brad King f8a8e88a08 BUG: Need to include empty arguments when parsing prefix/suffix lists for FindLibrary. 2006-02-09 19:03:50 -05:00
Brad King 33587ce376 ENH: Added platform settings CMAKE_FIND_LIBRARY_PREFIXES and CMAKE_FIND_LIBRARY_SUFFIXES to allow customized searching for libraries. 2006-02-09 15:05:13 -05:00
Bill Hoffman 347c5f4b46 ENH: add working directory support 2006-02-08 10:58:36 -05:00
Brad King 9163af8745 BUG: Fixed finding of MinGW libraries with a windows build of CMake. 2006-02-07 17:09:41 -05:00
Andy Cedilnik 4259971961 ENH: Since list file cache does not make much sense any more (because of proper list file parsing), and it actually adds unnecessary complications and make ctest scripting not work, take it out 2006-02-07 08:49:42 -05:00
Brad King 938890757a ENH: Improved support for user-configured search paths. Paths given in the CMAKE_LIBRARY_PATH cmake variable are searched first, then those in the CMAKE_LIBRARY_PATH environment variable, then those listed in the call to the FIND_LIBRARY command and finally those listed in the PATH environment variable. The support is similar for finding include files with FIND_PATH, but the variable is CMAKE_INCLUDE_PATH. 2006-01-27 18:20:55 -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 7b1440ab9f ENH: fix bundles for Mac and Xcode 2006-01-05 09:13:06 -05:00
Bill Hoffman 2c73d2e0f3 ENH: add new cmakedefine01 feature from bug report 2603 2006-01-03 16:40:51 -05:00
Bill Hoffman 9e5c219b87 ENH: change framework order 2006-01-02 11:07:57 -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
Andy Cedilnik 1578bebdad ENH: Add variable for debugging. This variable CMAKE_PARENT_LIST_FILE holds the parent CMake list file of the current cmake list file. 2005-11-30 13:46:48 -05:00
Brad King 102dd34bdc BUG: Do not expand escape sequences when re-expanding variables in include directories, link directories, and link libraries. 2005-11-22 17:03:07 -05:00
Ken Martin 345fb993aa ENH: some fixes for better backwards compatibility 2005-10-10 11:49:17 -04:00
Andy Cedilnik bebc745824 ENH: Add set and get test propety command 2005-07-31 11:51:42 -04:00
Brad King 6873773487 BUG: InitializeFromParent should copy include file regular expressions. 2005-07-27 17:23:39 -04:00
Bill Hoffman a9692f0a18 BUG: fix for bug 1850 wrapping can leave out files if they are a substring of another file 2005-07-14 15:12:02 -04:00
Bill Hoffman aa47caab2d FIX: apply patch from bug# 1965 2005-07-13 11:21:30 -04:00
Ken Martin 13e99490fb BUG: library return values were not UNIX slashes on Win98 2005-07-07 15:06:57 -04:00
Ken Martin c5bfdf6917 ENH: cleaned up some old methods and vars 2005-07-07 11:44:36 -04:00
Ken Martin 121fa374a9 BUG: dont pass unverified char * to streams 2005-06-27 15:59:16 -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 e6f9ea3d13 BUG: goof in new feature fixed 2005-06-20 16:24:37 -04:00
Ken Martin 26c53fe14c ENH: modified GET_TARGET_PROPERTIES to work with all targets 2005-06-20 14:00:48 -04:00
Andy Cedilnik 1bbccc5bef ENH: Improve handling of escaped characters 2005-06-17 15:50:08 -04:00
Andy Cedilnik f7ddfbe1fd ENH: Add extra argument 2005-06-16 16:33:24 -04:00
Andy Cedilnik 29f7e505a5 ENH: Use the new parser that supports nested variables 2005-06-13 11:00:29 -04:00
Ken Martin 8f8b72164a ENH: remove old 1.2 compatability from cmake 2.2 2005-06-10 11:27:41 -04:00
Ken Martin 80f796039c ENH: remove old 1.2 compatability from cmake 2.2 2005-06-10 10:45:43 -04:00
Andy Cedilnik a9b729128f BUG: If there is a fatal error, stop processing list file 2005-05-05 10:40:37 -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
Andy Cedilnik 826405a1b6 ENH: Speedup by storing source name without last extension 2005-04-13 16:35:26 -04:00
Bill Hoffman 1004073942 ENH: performance improvements 2005-04-12 13:27:07 -04:00
Brad King 738bbc767b BUG: Do not repeat paths when trying the lib/ to lib64/ replacement. 2005-04-07 14:41:34 -04:00
Brad King 0d494a031c ENH: Adding automatic generation of several 64-bit search path forms. 2005-04-07 14:30:48 -04:00
Bill Hoffman 5e0a796acc ENH: better fix for 64 bit, add 64 to the name of all directories in the search path 2005-04-06 11:56:04 -04:00
Bill Hoffman 3ca1081419 BUG: try to address Bug 1673 . 2005-04-05 17:06:00 -04:00
Andy Cedilnik 86cebea79a ENH: More ctest changes and move SetupTest to superclass 2005-04-01 15:48:46 -05:00
Ken Martin 62969492b0 ENH: removed GetParentProjects 2005-03-29 15:34:27 -05:00
Brad King aa69a14495 BUG: Initializing from parent should copy link directories as well. 2005-03-22 10:23:04 -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
Ken Martin 3ff6722934 ENH: cleanup by removing all the olf local generate junk that i not longer needed 2005-03-10 13:39:38 -05:00
Brad King c1ca511331 COMP: HP compiler does not like initializing a const std::string & with a const char* (which requires the reference to be bound to a temporary with the scope of the reference). 2005-02-24 13:45:37 -05:00
Brad King df301a2542 BUG: Fixed GetCacheMinorVersion to not always return 0. 2005-02-24 10:31:17 -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
Brad King ffb2c0c0e5 BUG: cmSourceFile instances should delete their own custom commands when a new one is set. 2005-02-18 16:19:09 -05:00
Bill Hoffman cb73410ccb ENH: more tests are passing 2005-02-16 16:35:32 -05:00
Ken Martin b1c5f1a7ba ENH: fix for relative paths 2004-12-03 09:05:07 -05:00
Bill Hoffman e75992a871 BUG: fix for 1369 before include directories need to be always added 2004-12-02 13:14:14 -05:00
Bill Hoffman b69606da4c ENH: look in the windows LIB env variable for libraries 2004-10-27 16:00:54 -04:00
Andy Cedilnik 56234aed4b PERF: Remove several classes from the bootstrap and so making bootstrap smaller and faster 2004-10-27 10:47:14 -04:00
Bill Hoffman 5bf55d1590 ENH: shorten the symbols a bit and remove maps of std::string for map of cmStdString 2004-09-29 16:07:07 -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 b5bdf2cb0a ENH: add better error reporting for file open failures 2004-09-07 16:55:25 -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
Bill Hoffman 731369ef9c ENH: try to initialize all languages at the same time 2004-08-27 08:41:07 -04:00
Bill Hoffman 63e6237600 BUG: fix bug where custom command generated .h files do not get the header_file_only flag set 2004-08-09 13:03:41 -04:00
Bill Hoffman 9655299f08 ENH: initial fortran support 2004-08-06 14:51:41 -04:00
Brad King 3c5bccf8a1 BUG: Fix crash when adding a custom command to a source file that cannot be created. 2004-08-04 17:24:21 -04:00
Brad King 9b1771aef4 BUG: CMAKE_TRY_COMPILE_CONFIGURATION should be obtained from the cmMakefile instance for the listfile containing the TRY_COMPILE call, not the top level listfile. 2004-08-04 16:33:10 -04:00
Brad King f99d948916 ERR: Removed duplicate default arguments. 2004-08-04 14:34:03 -04:00
Brad King b6da1d1271 ENH: Added support for special variables CMAKE_CURRENT_LIST_FILE and CMAKE_CURRENT_LIST_LINE that evaluate to the file name and line number in which they appear. This implements the feature request from bug 1012. 2004-08-04 10:45:11 -04:00
Bill Hoffman c8101e8e47 BUG: fix for bug 998, fix spelling errors 2004-07-26 16:59:55 -04:00
Andy Cedilnik 42ea896d22 ENH: When running cmake with PreLoad make sure CMAKE_CURRENT_SOURCE/BINARY_DIR works 2004-07-20 11:07:37 -04:00
Bill Hoffman 5b63b1843e BUG: fix spelling errors BUG 952 2004-07-09 14:18:44 -04:00
Bill Hoffman 40fbba22a4 ENH: add CMAKE_FILE_PATH, CMAKE_PROGRAM_PATH, CMAKE_LIBRARY_PATH, and search them first, PATH second, and last the paths listed in the FIND call 2004-06-30 11:31:41 -04:00
Andy Cedilnik d1470b7d7c ENH: Detect if there were problems writing file 2004-05-27 12:53:15 -04:00
Andy Cedilnik 3031467e33 ENH: Implement additional make clean files as a directory property instead of cmake variable 2004-05-20 16:56:34 -04:00
Andy Cedilnik e09e1679ab ENH: Add method to get definition even if it does not exists 2004-04-27 11:30:31 -04:00
Bill Hoffman 8b0b749a11 ENH: add SUBDIR PREORDER and fix clean for non-relative paths 2004-04-23 12:52:48 -04:00
Bill Hoffman d59e06595c BUG: fix for 301 CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH env vars now used in FIND_LIBRARY and FIND_PATH in addtion to and before PATH 2004-04-22 13:24:20 -04:00
Andy Cedilnik 55a71ba572 ENH: Add check for infinite loops. Make sure that files written using WRITE_FILE and FILE WRITE are not used as input files. Fixes Bug #678 - WRITE_FILE and FILE(WRITE...) lead to infinite loops 2004-04-18 14:41:46 -04:00
Andy Cedilnik 504d0bc3b3 ENH: ADD REMOVE_DEFINITION command. Fix feature request: Bug #182 - Add opposite to ADD_DEFINITIONS 2004-04-15 13:58:10 -04:00
Andy Cedilnik 4a1f15c344 ENH: If configure file fails do not create directory 2004-03-28 16:00:57 -05:00
Bill Hoffman ddb815c125 ENH: add new subdirectory exclude from top option 2004-03-09 16:28:44 -05:00
Andy Cedilnik f93b1e6d48 ENH: Try to remove warning 2004-03-09 07:50:45 -05:00
Andy Cedilnik 3f752ea4cd ENH: Move implementation of configure_file to cmMakefile, so that other classes can use it 2004-03-08 19:05:04 -05:00
Brad King 1dd718457f ENH: Moved variable and #cmakedefine replacement from cmConfigureFileCommand.cxx to a ConfigureString method on cmMakefile. This will give other commands access to the configuration code. 2004-03-03 18:18:47 -05:00
Andy Cedilnik 07bd2d8264 ERR: Fix GetModulesFile 2004-02-29 15:13:01 -05:00
Andy Cedilnik b1a7421840 ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE 2004-02-28 18:59:19 -05:00
Bill Hoffman 5ccfaefb48 ENH: generate a sln and dsw file for each sub project in a project 2003-11-26 14:29:53 -05:00
Bill Hoffman eff0a824c4 BUG: hack fix for problem of MS vs 6 and custom target commands 2003-11-03 15:57:56 -05:00
Andy Cedilnik ac2859aaa3 ENH: Start includding the scripting support 2003-10-29 09:45:26 -05:00
Ken Martin 3baca1e34f added beta release support 2003-08-11 14:45:16 -04:00
Ken Martin 072db6ad70 removed redundent includes 2003-08-10 18:30:54 -04:00
Ken Martin 6a2f1926d8 removed duplicate include 2003-08-10 16:00:27 -04:00
Andy Cedilnik a6567329d7 ENH: When fixing cache value with uninitialized type, collapse full paths for PATH and FILEPATH. Closes Bug #82 - Specifying relative path when entering path can break things 2003-08-08 10:07:09 -04:00
Andy Cedilnik 2003b4987a ENH: Handle untyped but initialized values for boolean AddCacheDefinition. Closes Bug #118 - Specifying cache entries with -D should not need the type 2003-08-08 09:26:55 -04:00
Andy Cedilnik d0b3391642 ENH: oops, initialize variable 2003-08-06 19:19:17 -04:00
Andy Cedilnik 96d561aabc ENH: Add option to retrieve list of macros. Close Bug #25 - Get_CMAKE_PROPERTIES 2003-08-06 18:54:13 -04:00
Andy Cedilnik 32bfe66b5d BUG: Fix problem with uninitialized variables 2003-08-02 09:33:23 -04:00
Andy Cedilnik 2f98c791fa ENH: Allow specifying cmake variables on the command line without specifying the type Bug #118 - Specifying cache entries with -D should not need the type 2003-08-01 14:10:26 -04:00
Ken Martin 0e067f9223 bug fix for bug # 117 2003-07-31 14:46:17 -04:00
Brad King 48aedb2ba3 ENH: Fully implemented SOURCE_GROUP command. 2003-07-23 15:32:54 -04:00
Andy Cedilnik 18c6f9e0c5 ENH: Initial framework for deprecated commands 2003-07-21 14:44:00 -04:00
Brad King 53510fa603 BUG: Custom commands should have variables expanded before comparing with previously added custom commands. 2003-07-14 10:33:09 -04:00
Brad King 1a4ec91593 BUG#65: Fixed inheritance of CMAKE_CURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR. 2003-07-08 13:27:34 -04:00
Ken Martin e315bff47b performance improvements 2003-06-24 15:23:34 -04:00
Brad King 38482b46d1 ENH: Merged use of the kwsys RegularExpression class instead of cmRegularExpression. 2003-06-23 14:10:12 -04:00
Brad King dc3fd5c267 ENH: Merged use of kwsys library. 2003-06-23 08:58:58 -04:00
Ken Martin aaf2795050 fix to expand variables in custom command outputs and main dependencies 2003-06-20 20:33:43 -04:00
Ken Martin 454c7ad2b6 bug in not expanding variables for custom commands in targets 2003-06-20 13:56:51 -04:00
Ken Martin e9e312b441 minor perf improvement 2003-06-20 11:23:47 -04:00
Ken Martin 70c65ea016 bug fix for finding source files 2003-06-19 14:27:39 -04:00
Bill Hoffman 5394a75340 BUG: fix not being able to find generated files in the binary tree 2003-06-18 09:13:39 -04:00
Brad King a5d930a686 BUG: Fixed translation of relative path names to full path names. 2003-06-13 16:59:42 -04:00
Ken Martin 61a3e4fb80 more custom command 2003-06-05 16:45:06 -04:00
Ken Martin f698e306a7 more changes to support full paths 2003-06-05 16:12:25 -04:00
Ken Martin 5c217cf83f perf improvement 2003-06-05 15:28:51 -04:00
Ken Martin adbb5c5e79 more changes to handle full paths correctly 2003-06-05 15:18:16 -04:00
Ken Martin 703242071f more crazt changes source files now must match with full path 2003-06-05 14:40:25 -04:00
Ken Martin b53b467414 hopeful fix for backwards compat 2003-06-04 19:04:35 -04:00
Ken Martin 72be61fb57 tricky fix for backwards compat 2003-06-04 16:06:33 -04:00
Bill Hoffman 11a698558e better error reporting 2003-06-04 14:01:46 -04:00
Bill Hoffman 620b832da3 ENH: allow duplicate commands with the same output to be reduced automatically to one command 2003-06-04 14:00:30 -04:00
Bill Hoffman fc0a916eee ENH: allow duplicate commands with the same output to be reduced automatically to one command 2003-06-04 13:42:42 -04:00
Ken Martin 40123f1fce compielr errors on como 2003-06-04 08:40:09 -04:00
Ken Martin 0b3b21fa63 warning fixes 2003-06-03 14:55:20 -04:00
Ken Martin ba68f771b3 yikes added new custom command support 2003-06-03 10:30:23 -04:00
Bill Hoffman 5945a5a448 ENH: add some includes for borland 6 2003-05-23 16:40:55 -04:00
Bill Hoffman 90169d041c make sure M is after m 2003-03-14 11:58:56 -05:00
Brad King 0b6ae58a06 BUG: c extension must come before C. 2003-03-14 10:54:53 -05:00
Ken Martin 2f927a538b allow the same subdir to be added twice 2003-03-13 12:59:46 -05:00
Andy Cedilnik ce23446000 Fix regular expressions 2003-03-13 12:48:52 -05:00
Andy Cedilnik 84d15bf00e Synchronize extension lists 2003-03-13 12:24:16 -05:00
Andy Cedilnik ce750180ba Add method which returns a list of all variables 2003-03-06 11:19:28 -05:00
Brad King 1fe42129d4 ENH: Centralized setting of CMake version number to top-level CMake listfile. 2003-02-13 21:57:05 -05:00
Brad King cde384411d Several fixes/improvements:
- Fixed CollapseFullPath to work on relative paths with base paths
    not in the current working directory.
  - INCLUDE command now supports relative paths (using above fix).
  - Added ABSOLUTE option to GET_FILENAME_COMPONENT command to
    unwind symlinks and relative paths.
  - Fixed libName_EXPORTS macro definition to be valid C identifier.
  - Added DEFINE_SYMBOL target propterty for customizing the export symbol.
  - Implemented LINK_FLAGS target propterty for libraries in VC6 and VC7.

Several of these fixes were contributed by Gareth Jones.
2003-02-07 14:04:16 -05:00
Bill Hoffman 94b11a6ee4 ENH: fix warning 2003-02-01 16:39:39 -05:00
Bill Hoffman f58d7df66a ENH: add checking for NOTFOUND 2003-01-31 13:50:42 -05:00
Bill Hoffman 2f4ea98a4c add a fatal error, and make sure c and c++ compilers work before using them 2003-01-21 12:50:48 -05:00
Brad King d4d04b46cd BUG: Fix for custom commands with spaces in paths. The arguments were not having spaces escaped. 2003-01-20 19:17:17 -05:00