Commit Graph

386 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