Commit Graph

460 Commits

Author SHA1 Message Date
Brad King 1c0595c73f ENH: Add global property ALLOW_DUPLICATE_CUSTOM_TARGETS to help existing projects that depend on having duplicate custom targets. It is allowed only for Makefile generators. See bug#6348. 2008-02-14 16:42:29 -05:00
Bill Hoffman 3fa087c8ab ENH: fix make edit_cache for cmake-gui 2008-02-12 09:49:42 -05:00
Brad King 2e2f9b4be3 ENH: Add global computed property IN_TRY_COMPILE. 2008-02-11 17:00:36 -05:00
Brad King 523ddedac5 ENH: Analyze inter-target dependencies to safely fix cycles
- Cycles may be formed among static libraries
  - Native build system should not have cycles in target deps
  - Create cmComputeTargetDepends to analyze dependencies
  - Identify conneced components and use them to fix deps
  - Diagnose cycles containing non-STATIC targets
  - Add debug mode property GLOBAL_DEPENDS_DEBUG_MODE
  - Use results in cmGlobalGenerator as target direct depends
2008-02-05 23:10:41 -05:00
Brad King 847c8403fe BUG: Added TARGET_ARCHIVES_MAY_BE_SHARED_LIBS global property to help compute proper rpath information on AIX when shared libraries have names like "libfoo.a". 2008-02-04 15:22:10 -05:00
Brad King 02b1767e42 BUG: Make cmake -E remove_directory work when directory is not present. 2008-01-24 14:37:48 -05:00
Brad King b28c2625c7 COMP: Fix build during bootstrap on MSys. 2008-01-20 13:36:13 -05:00
Ken Martin 7c473d4828 BUG: fix bugs 5539 (progress going beyond 100% when new files are added) and 5889 (tests are not found in some cases when using add_subdirectory to .. etc) 2008-01-18 10:25:25 -05:00
Brad King caca9b8065 ENH: Add AppendProperty methods for use by C++ code in CMake. Simplify implementation of SET_PROPERTY command by using them. 2008-01-17 18:13:55 -05:00
Brad King 34c04d6d02 ENH: Added partial implementation of recognizing per-configration properties. 2008-01-15 10:49:59 -05:00
Bill Hoffman 45a4ddd85c BUG: fix resource file with a full path 2008-01-03 07:28:12 -05:00
Bill Hoffman 603cd2ab6a ENH: fix new incremental link stuff to work with nmake @ files 2008-01-02 09:32:29 -05:00
Bill Hoffman ada4252c56 ENH: remove warning 2008-01-01 17:19:11 -05:00
Bill Hoffman b479c6a8a9 ENH: add ability to have manifest files and incremental linking with make and nmake 2008-01-01 15:13:41 -05:00
Brad King d83b4cd255 ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global. 2007-12-21 12:22:12 -05:00
Brad King 73704ede42 ENH: Enabled color printing of "Scanning dependencies of target ..." message. 2007-12-19 17:15:41 -05:00
Brad King de96fd1df9 ENH: Moved dependency integrity check from CheckBuildSystem over to a per-target UpdateDependencies step. This greatly reduces the startup time for make processes and allows individual targets to be built without a global dependency check. 2007-12-19 16:36:30 -05:00
Brad King 9ccba7c391 ENH: Improved speed of cmake::CheckBuildSystem when checking build system outputs versus dependencies. Instead of doing an O(m*n) comparison of every pair, just locate the oldest output and the newest input and compare them which is now O(m+n). 2007-12-19 11:51:30 -05:00
Bill Hoffman 58f671bb1c ENH: add support for vs 9 win64 2007-12-17 14:43:11 -05:00
Brad King 99dfcc05ef STYLE: Fixed line-too-long. 2007-12-15 14:13:14 -05:00
Brad King 6db2c473e2 COMP: Add missing return value from Bill's change. 2007-12-13 18:30:53 -05:00
Brad King 9f61e2a235 ENH: Centralized and globalized computation of CMake program locations. This eliminates startup paths that failed to produce this information. 2007-12-13 17:56:50 -05:00
Brad King ebc036bbda BUG: Fixed typo introduced by previous commit. 2007-12-13 17:39:53 -05:00
Bill Hoffman fd33bf93a5 ENH: fix for bug 6102, allow users to change the compiler 2007-12-13 15:54:29 -05:00
Bill Hoffman 5050706ae3 ENH: add a touch -E command to cmake 2007-12-04 16:03:19 -05:00
Ken Martin f4b1c3880b ENH: add functions and raise scope 2007-12-03 13:35:41 -05:00
Brad King 678bccc64b COMP: Do not build VS-specific code when generators are not included. 2007-11-19 14:22:38 -05:00
Brad King 3b59c7b97a ENH: Added call to StopBuild VS macro when projects fail to regenerate during a build. 2007-11-19 13:45:16 -05:00
David Cole 867de7fc67 ENH: Add ability to call Visual Studio macros from CMake. Add a CMake Visual Studio macro to reload a solution file automatically if CMake makes changes to .sln files or .vcproj files. Add code to call the macro automatically for any running Visual Studio instances with the .sln file open at the end of the Visual Studio Generate call. Only call the macro if some .sln or .vcproj file changed during Generate. Also, add handling for REG_EXPAND_SZ type to SystemTools::ReadRegistryValue - returned string has environment variable references expanded. 2007-11-16 07:01:58 -05:00
Brad King a546ba7ed4 BUG: Fix messages for time stamp file recreation. 2007-11-12 16:58:05 -05:00
Brad King 34c882a9f8 ENH: Allow VS 7 project Rebuild and Solution Rebuild to work without re-running CMake for every project during the rebuild. 2007-11-10 08:15:13 -05:00
Ken Martin 433a914910 ENH: different way of testing properties 2007-11-06 14:16:00 -05:00
Brad King f410f8578e COMP: Fix warnings on 64-bit Mac OS X build. Patch from issue #3697. 2007-11-05 14:34:36 -05:00
Ken Martin 29c9f1bc2b BUG: fix bad set property code in cmake 2007-10-30 10:57:09 -04:00
Ken Martin f72d666a7b ENH: add ability to get documentaiton of a property from a script 2007-10-24 14:43:10 -04:00
Ken Martin 6cdf032505 ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now 2007-10-22 12:49:09 -04:00
Bill Hoffman 5c4eadba23 ENH: add docs for variables 2007-10-18 09:10:42 -04:00
Ken Martin b63ff2fb6f ENH: minor doc cleanups and an example of documenting a variable 2007-10-15 14:50:18 -04:00
Ken Martin 35e13b11f3 BUG: revert doc changes since VS7 cannot compile them, will implement them in a different manner 2007-10-09 14:35:25 -04:00
Ken Martin 18ce24c748 ENH: make documentation entries actually store their data 2007-10-09 09:55:42 -04:00
Bill Hoffman 9cbb998737 ENH: add support for vs 2008 beta 2 2007-09-17 15:21:47 -04:00
Brad King 54a470dd03 BUG: Fix path to CMake executables when run from bootstrap build. 2007-08-31 09:09:41 -04:00
Bill Hoffman 8b07c96090 ENH: fix memory leak 2007-08-10 11:15:19 -04:00
Alexander Neundorf 8d7b502337 ENH: add global properties for collecting enabled/disabled features during
the cmake run and add macros print_enabled/disabled_features() and
set_feature_info(), so projects can get a nice overview at the end of the
cmake run what has been found and what hasn't
FIND_PACKAGE() automatically adds the packages to these global properties,
except when used with QUIET
Maybe this can also be useful for packagers to find out dependencies of
projects.

Alex
2007-08-07 15:41:57 -04:00
Alexander Neundorf 2246e0336d BUG: also offer the extra generators in CMakeSetup
Alex
2007-08-01 14:58:55 -04:00
Alexander Neundorf f7f522e61a ENH: add Eclipse CDT4 generator, patch from Miguel A. Figueroa-Villanueva
Alex
2007-08-01 09:18:50 -04:00
Alexander Neundorf d6a0c330bc ENH: deb generator can now generate deb packages
-remove the unscriptable commands also from the cpack cmake
-use CPACK_PACKAGE_CONTACT in CMakeCPack.cmake, it's used in the nsis and
the deb generator
-make set_properties() scriptable
-use a non-const char array for adding the python modules

Alex
2007-07-27 08:59:59 -04:00
Alexander Neundorf a39aff52a0 ENH: add an empty debian package generator, Mathieu volunteered to fill it
:-)

Alex
2007-07-25 10:57:33 -04:00
Alexander Neundorf 27244a1fde ENH: build codeblocks generator also on Windows
Alex
2007-07-18 10:19:33 -04:00
Alexander Neundorf b56815a4e9 COMP: fix build on Windows, where GetCurrentDirecty() is redefined to
GetCurrentDirectoryA()
-correct return value for md5sum

Alex
2007-07-17 12:01:39 -04:00
Alexander Neundorf a4429ad30a STYLE: fix line lengths and add "remove -f" to the docs
Alex
2007-07-17 10:44:09 -04:00
Alexander Neundorf 5bb94ce166 ENH: apply patch from Mathieu, add argument -E md5sum to compute md5sums of
files, compatible to md5sum output

Alex
2007-07-16 10:54:32 -04:00
Alexander Neundorf 378a8e99f9 ENH: add a simple CodeBlocks extra generator, early alpha stage, there seems
to be interest in it

Alex
2007-07-13 00:58:43 -04:00
Alexander Neundorf 9f16292b6a STYLE: sort the property documentation into
global/directory/target/test/sourcefile and variable sections

Alex
2007-07-11 15:53:58 -04:00
Alexander Neundorf 7fbd4161d5 STYLE: name the external generator "KDevelop3 - Unix Makefiles" instead of "Unix Makefiles -
KDevelop3"
-initialize Ignore to 0, crashes otherwise

Alex
2007-07-03 16:10:50 -04:00
Brad King eab81489f1 ENH: Added global property FIND_LIBRARY_USE_LIB64_PATHS to allow lib64 paths to be searched optionally. Turn off the feature on debian systems. This addresses debian report 419007. 2007-06-27 12:07:34 -04:00
Alexander Neundorf f8261ff9f7 STYLE: change global cmake variable CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS
to the first global cmake property TARGET_SUPPORTS_SHARED_LIBS

Alex
2007-06-26 13:05:27 -04:00
Ken Martin 0b9644910d ENH: added the ability to document variables and cached_variables 2007-06-25 10:34:21 -04:00
Ken Martin 509f1fb9cb ENH: some property cleanup and added GetProperty 2007-06-25 09:51:37 -04:00
Alexander Neundorf 1d9889c5d3 ENH: put compatibility commands in extra section and prepare for creating
separate man pages for properties, modules, commands and compatibility
commands

Alex
2007-06-22 08:44:51 -04:00
Alexander Neundorf f6a6556e3c COMP: include cmExternalMakefileProjectGenerator.h
Alex
2007-06-15 16:09:30 -04:00
Alexander Neundorf 6d200fa6be STYLE: minor fixes
Alex
2007-06-15 16:07:16 -04:00
Alexander Neundorf 9d4f3a0686 STYLE: remove duplicate non-const accessors GetLocalGenerator(int) and
GetLocaGenerators(cmLocalGenerators) from cmGlobalGenerator(). Now there is
one const accessor which is even faster since it returns a reference
(instead of copying a vector)
-more const to ensure that this the returned local generators don't actually
get modified
-removed duplicated code in GetCTestCommand() and GetCPackCommand()
-added some const accessors

Alex
2007-06-15 10:10:24 -04:00
Alexander Neundorf 6e28861c18 ENH: remove non/scriptable cmake commands from the script handler in ctest,
as discussed with David. This also gives a better ctest man page with just
the commands you should actually use in ctest scripts.
Until now these commands were more or less executed, but e.g. add_executable() didn't create an executable, project() failed with an
error. Now you get an error instantly if using one of these commands.

Alex
2007-06-12 10:56:40 -04:00
Alexander Neundorf 0ddc9f62e5 ENH: add cmExternalMakefileProjectGenerator, which should make it easier to
write generators for IDE projects, which use already existing makefiles
(current the kdevelop generator)
-first stept of the export interface, iniitial export() command
-more replacements for the FIND_XXX docs

Alex
2007-06-08 11:57:16 -04:00
Alexander Neundorf 18cc1228bb ENH: also remove uninitialized from the cache
Alex
2007-06-07 10:41:52 -04:00
Alexander Neundorf e9fc2cb086 STYLE: fix typo: now double space after -D
Alex
2007-06-04 13:50:34 -04:00
Alexander Neundorf 003654670b ENH: -U for removing variables now uses globbing expressions
-cmCacheManager: now also variables with type UNINITIALIZED are saved in
CMakeCache.txt, these are the vars defined using -DFOO=foo but without type

Alex
2007-06-04 13:48:11 -04:00
Alexander Neundorf 0be0283f30 BUG: also put a variable into the cache when defined using -D if no type is
given, then STRING is used. Also add command line option -U as suggested for
undefining cache variables. This fixes #4896 and #4264.

Alex
2007-06-01 14:16:46 -04:00
Andy Cedilnik f9f1ccadb3 ENH: Add variable watch command 2007-04-11 15:13:05 -04:00
Ken Martin f59e649dc2 ENH: added remove_directory bug 2937 2007-03-12 16:10:00 -04:00
Ken Martin 558dbc84ad ENH: typo 2007-03-12 13:30:36 -04:00
Ken Martin 03f3411c4f ENH: small enchancement for bug 3776. 2007-03-12 12:40:34 -04:00
Brad King 2f2b5b2503 ENH: SetupPathConversions is now called automatically on demand. 2007-03-08 08:38:40 -05:00
Ken Martin 4456013702 ENH: fix compiler warning 2007-03-02 10:49:32 -05:00
Ken Martin c733ab2701 BUG: a couple bugs in system informaiton 2007-03-01 10:53:09 -05:00
Ken Martin 56e3a35ece BUG: allow system information to accept the -G option 2007-02-28 12:25:19 -05:00
Ken Martin cbf6bae9f4 BUG: fix to naming of results file 2007-02-27 16:41:43 -05:00
Ken Martin 42c41d77fa BUG: fix for unused variable 2007-02-27 12:47:14 -05:00
Ken Martin 31a700188b ENH: added --system-information option to CMake 2007-02-27 10:10:10 -05:00
Andy Cedilnik 726c267f99 BUG: Produce an error when the script is not found 2007-02-22 09:10:37 -05:00
Andy Cedilnik ffc0b5e4de BUG: Overwrite the symlink if it already exists. Close Bug #4418 - cmake -create-symlink doesn't overwrite existing symlinks 2007-02-15 15:07:16 -05:00
Ken Martin 179579bed7 ENH: improve SetProperties and fix a couple warnings 2006-12-11 10:26:10 -05:00
Ken Martin 1dd5db0235 COMP: fix some warnings and style issues 2006-12-08 09:27:52 -05:00
Ken Martin 27379d7b08 ENH: make properties a bit more formal with documentation and chaining 2006-12-07 09:45:32 -05:00
Bill Hoffman b56a60d01e ENH: fix errors for unix builds 2006-11-29 17:45:55 -05:00
Bill Hoffman ccb77b65c6 ENH: unify version stuff, get rid of it out of cmake and cmMakefile and only use cmVersion 2006-11-29 15:59:16 -05:00
Andy Cedilnik 897a2a9029 ENH: Cleanup of install component list. There was already the list in the global generator. Use that one 2006-10-31 14:28:48 -05:00
Andy Cedilnik 7ded253013 ENH: Add support for displaying the list of components 2006-10-30 15:59:54 -05:00
Brad King 74c70d4078 BUG: Do not display cmake -E usage when any old command line error occurs. 2006-10-23 16:16:05 -04:00
Ken Martin 3a0b94131d BUG: partial fix for the progress after install bug 2006-10-16 12:49:26 -04:00
Bill Hoffman 017cec95ad ENH: do not print a call stack if the user does a message error unless --debug-output is used 2006-10-06 11:11:59 -04:00
Bill Hoffman 9c4302f79e ENH: do not allow null pointer access 2006-10-03 11:55:55 -04:00
Brad King accf93fc12 ENH: Added undocumented option -E cmake_unimplemented_variable to help print useful error messages for unimplemented features on a given platform. 2006-08-07 17:22:58 -04:00
Ken Martin 299bbcad86 ENH: fix color output inside of ctest runs 2006-07-21 14:58:13 -04:00
Andy Cedilnik 898dfe5a2d ENH: Cleanup. Replace c-style cast with static_cast and replace sprintf with cmOStringStream 2006-07-21 13:05:56 -04:00
Ken Martin 847c3a5849 ENH: add a higher performance method to get the number of files in a directory 2006-06-22 10:35:37 -04:00
Bill Hoffman 7e5509a260 ENH: avoid crash in sprintf 2006-06-20 13:13:13 -04:00
Brad King 0bbcb49f65 ENH: Added generation of link rules into script files executed by a cmake -E command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells. 2006-06-15 16:17:11 -04:00
Brad King 60487a227e BUG: Always check dependency integrity whether or not CMake will re-run because the generator no longer checks integrity during generation. 2006-06-15 09:45:02 -04:00
Ken Martin 14cc1efe2c ENH: some cleanup to progress 2006-06-12 11:40:31 -04:00
Brad King d9e060e062 BUG: Fixed cmake -E remove return code. 2006-05-30 11:15:27 -04:00
Brad King ec2104cd31 BUG: Updated Makefile dependency scanning to provide a full local generator to the dependency scanner to do proper path conversions. This allows the rules written into the depend.make files to use the same relative path conversion as those written into the build.make files. Several previous changes added more and more information for use by the dependency scanner and it was converging to having the full local generator anyway. 2006-05-25 09:47:30 -04:00
Ken Martin 50d058a3a1 ENH: always compile progress 2006-05-23 09:11:46 -04:00
Ken Martin 25c2ee32ae COMP: fix bootstrap 2006-05-22 16:10:35 -04:00
Ken Martin 108101c1dc COMP: fix mac warning 2006-05-22 16:07:50 -04:00
Ken Martin 53dce3b231 ENH: part of the progress reporting checkin 2006-05-22 15:41:52 -04:00
Bill Hoffman ed981ef0b7 ENH: fix crashes when command line arguments are not followed by the correct number of arguments 2006-05-18 23:24:00 -04:00
Andy Cedilnik fd8e45d4a1 ENH: Add simple progress reporting during make 2006-05-15 13:02:28 -04:00
Ken Martin bf5ed9b27b STYLE: fix line length 2006-05-12 14:36:39 -04:00
Brad King a3cd7fd1b5 COMP: Disable color support for bootstrap. 2006-04-26 21:53:21 -04:00
Brad King 4494c29078 ENH: Enabling color makefile support using cmsysTerminal_cfprintf. Support for color is automatically detected when messages are printed. Also made color scheme more readable on both black and white backgrounds. This option can be enabled by setting CMAKE_COLOR_MAKEFILE to true in the project. 2006-04-26 21:31:39 -04:00
Bill Hoffman cf23679d72 ENH: save the cache on fatal error so that users can set cache values 2006-04-20 17:00:43 -04:00
Bill Hoffman 852135074e ENH: add more verbose output in verbose mode 2006-04-11 22:39:34 -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 5a2668b326 ENH: add support for win64 for visual studio 2005 ide and nmake, also fix warnings produced by building for win64 2006-03-30 13:49:56 -05:00
Andy Cedilnik 43b9f184c2 COMP: Fix apple bootstrap issues 2006-03-22 13:04:49 -05:00
Andy Cedilnik b20cb78049 ENH: Handle missing unsetenv and add check for environ 2006-03-17 15:46:20 -05:00
Andy Cedilnik fe1fda6431 ENH: Use vector of plain strings and add cmake -E command for getting environment 2006-03-17 11:14:14 -05:00
Bill Hoffman 5208004560 ENH: fix up this changes for mac 2006-03-15 12:02:34 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 5a8e1e4942 ENH: remove print 2006-03-11 11:53:30 -05:00
Andy Cedilnik 634343c3e8 STYLE: Fix some style issues 2006-03-10 13:06:26 -05:00
Andy Cedilnik ccac9542b1 ENH: Add a way to overwrite some preferences and ignore certain targets 2006-03-07 15:31:05 -05:00
Brad King 6d4b7425fd ENH: Add CMAKE_COMMAND and CMAKE_ROOT variables when running in script mode. This partially addresses bug#2828. 2006-03-07 14:46:50 -05:00
Andy Cedilnik e82de6a5d5 COMP: Fix warnings 2006-03-07 12:03:11 -05:00
Andy Cedilnik 49c0a4b52a COMP: Oops, typo 2006-03-03 14:28:28 -05:00
Andy Cedilnik bc4e5581ee ENH: Add support for exporting graphviz of the project dependencies 2006-03-03 14:24:31 -05:00
Andy Cedilnik a488b192af BUG: Fix location of ctest for bootstrap 2006-02-24 08:57:05 -05:00
Andy Cedilnik f1fb182270 ENH: Add accessors for CTest and CPack 2006-02-23 10:00:44 -05:00
Brad King f2cf7e9197 ENH: Enable capture of output from VCExpress.exe and devenv.exe. 2006-02-15 10:22:55 -05:00
Bill Hoffman 14cbc9571a ENH: do not allow mingw makefiles to generate if sh.exe is in the path, also do not write CMakeCache.txt if there is a fatal error. 2006-02-14 22:03:16 -05:00
Brad King b403ad61e2 BUG: Fixed echo command to not print trailing space. 2006-02-10 11:41:52 -05:00
Brad King 73284a1c12 ENH: Enabled build of VS 7 and 8 generators for MinGW. 2006-01-31 19:34:57 -05:00
Brad King 576d8b41cb ENH: Enabled bootstrapping with MinGW from an MSYS prompt. 2006-01-31 18:50:16 -05:00
Bill Hoffman 9891260a6d ENH: add support for watcom wmake and wcl386 2006-01-17 10:21:45 -05:00
Andy Cedilnik c690311b76 ENH: Add a way to compare two files 2005-12-30 15:25:35 -05:00
Andy Cedilnik abe4fd77fc ENH: Make the syntax more line tar 2005-12-29 12:19:13 -05:00
Andy Cedilnik 14c256ddba ENH: Make additional file names optional 2005-12-29 10:52:19 -05:00
Andy Cedilnik d1180fc4e1 ENH: Add untaring support 2005-12-29 10:43:12 -05:00
Andy Cedilnik 5222266e7e ENH: Add command to create tar 2005-12-28 16:31:12 -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
Ken Martin d3d746ad7b STYLE: minor cleanup 2005-10-20 16:37:14 -04:00
Andy Cedilnik a51dfefe79 ENH: Optimize performance by caching stat results 2005-10-12 13:51:15 -04:00
Ken Martin 9be341383e BUG: the -P option was not working with relative paths and a couple types 2005-09-23 12:50:09 -04:00
Brad King 904305e3cb ENH: Added cmake -E create_symlink command that behaves like ln -s. 2005-08-19 09:38:17 -04:00
Brad King 78112eef25 ENH: Added -E cmake_symlink_executable command to help create symbolic links for versioned executables. 2005-08-17 16:06:52 -04:00
Ken Martin 039d4b604e ENH: added better error checking for cases when there is a CMakeCache.txt file but it is not readable 2005-08-11 13:20:23 -04:00
Brad King ce52a0802f BUG: When exiting before the configure step in script mode we must account for cmSystemTools::GetErrorOccuredFlag() for the return code. 2005-08-08 09:37:29 -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