Commit Graph

410 Commits

Author SHA1 Message Date
Brad King 98c51ff6dc ENH: Overhaul CMake version numbering
This moves the version numbers into an isolated configured header so
that not all of CMake needs to rebuild when the version changes.

Previously we had spaces, dashes and/or the word 'patch' randomly chosen
before the patch number.  Now we always report version numbers in the
traditional format "<major>.<minor>.<patch>[-rc<rc>]".

We still use odd minor numbers for development versions.  Now we also
use the CCYYMMDD date as the patch number of development versions, thus
allowing tests for exact CMake versions.
2009-03-05 15:17:07 -05:00
Brad King 83f39ba41b STYLE: Remove unused cmake::CacheVersionMatches
This remove the method completely since nothing uses it.
2009-03-05 13:57:10 -05:00
Brad King 170febac52 ENH: Cleanup cmake --build interface.
This cleans up the 'cmake --build' command-line interface:
  - Rename --clean to --clean-first to better describe it.
  - Replace --extra-options with a -- separator to simplify passing of
    multiple native build tool options.
  - Document the options in the main CMake man page description of the
    --build option, and shares this with the usage message.
  - Require --build to be the first argument when present.
  - Move implementation into cmakemain where it belongs.
2009-03-04 15:39:27 -05:00
Brad King ed5e4d8be2 BUG: Gracefully handle broken version symlinks
This teaches the helper commands 'cmake -E cmake_symlink_executable' and
'cmake -E cmake_symlink_library' to remove broken symlinks before
creating a symlink and report an error when the symlink cannot be
created.  See issue #8654.
2009-03-02 16:02:19 -05:00
Brad King b604b98c56 ENH: Define RULE_LAUNCH_* properties
This defines global, directory, and target properties
RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM.  Their
values specify 'launcher' command lines which are prefixed to compile,
link, and custom build rules by Makefile generators.
2009-02-10 08:51:15 -05:00
Brad King f35c0c2a17 BUG: Fix OS X FW symlink byproduct dependencies
When testing whether to re-run CMake, a byproduct may be a symlink.  If
so, the existence of the link is important rather than the link's
target.  See issue #8465.
2009-02-06 11:49:00 -05:00
Brad King 2282748907 BUG: Fix OS X AppBundle/FW byproducts dependencies
App Bundle and Framework directories, symlinks, and Info.plist files we
create during generation are byproducts, not outputs.  We should re-run
CMake only when they are missing, not when they are old.
See issue #8465.
2009-02-06 11:18:56 -05:00
Brad King 7d6a5e097f ENH: More robust property lookup
This teaches cmMakefile::GetProperty and cmake::GetProperty methods to
return NULL when the property name is NULL, making them more robust and
consistent with the behavior of cmTarget::GetProperty.
2009-02-02 13:27:30 -05:00
Bill Hoffman f6cb5c39bd BUG: fix for #8418 -E chdir should return fail of dir does not exist 2009-01-29 14:31:45 -05:00
David Cole 16f35e189e COMP: Fix the ExternalProject test for Visual Studio 6. Visual Studio 6 *.dsp files cannot have hyphens in them. Add utility function GetVS6TargetName to replace hyphens with underscores when generating *.dsp file names. Use the function everywhere necessary in the VS6 generators. And, a workaround: VS6 uses ".\Debug" (for example) as an "$(IntDir)" value - strip any leading ".\" when processing a --config argument in the cmake --build handling code. 2008-12-09 16:07:10 -05:00
Bill Hoffman 3fc5ca34f9 ENH: fix bootstrap test and warning 2008-10-15 15:13:06 -04:00
Bill Hoffman 1777bb502a BUG: 4244, add a --build option to cmake that can build projects configured by CMake 2008-10-15 13:56:07 -04:00
Bill Hoffman 05f908e08c BUG: fix for 6280, -E time was not sending back return value 2008-10-01 16:16:43 -04:00
Bill Hoffman ecf312ccc8 STYLE: fix line length stuff for KWStyle 2008-10-01 09:04:27 -04:00
Brad King 434a99bbeb ENH: Teach find_library to find OpenBSD-style libs
OpenBSD shared libraries use a ".so.<major>.<minor>" extension and do
not have a symlink with just a ".so" extension.  Its "ld" is capable of
finding the library with the best version.  This change adds support for
finding such libraries.  See issue #3470.
2008-09-22 11:08:17 -04:00
Brad King 3c5cf1bb8c ENH: Allow a custom list of debug configurations
Create a DEBUG_CONFIGURATIONS global property as a way for projects to
specify which configuration names are considered to be 'debug'
configurations.
2008-09-04 17:34:25 -04:00
Brad King 92a51377a1 BUG: Fix unsetting of global properties
The set_property command unsets a property if it is given no value.  In
the case of GLOBAL properties, the cmake::SetProperty method would
replace a NULL value with "NOTFOUND".  Instead it should be left as NULL
so that the property is unset as expected.  Once it is unset the
get_cmake_property command will still report NOTFOUND while the
get_property command will return the empty string as documented.
2008-09-04 13:15:08 -04:00
Bill Hoffman 1bda46564e BUG: 7448 fix crash in ccmake when compiler is changed 2008-08-19 13:31:21 -04:00
Bill Hoffman 45b9a2d575 BUG: fix for 7426 bad check for cpack 2008-07-31 13:36:53 -04:00
Bill Hoffman 6f31b0dfbd ENH: add a --trace option 2008-07-31 10:33:25 -04:00
David Cole 17452105cd BUG: Fix issue #7088 - do not emit error messages when attempts to run Visual Studio macros fail. You can still get the error output as messages if you want using --debug-output from the cmake command line. 2008-07-30 15:26:34 -04:00
Brad King dd1ee6975f ENH: Do not auto-create out-dated cache variables
- We used to always put LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH
    in the cache if the project did not.
  - In CMake 2.6 these variables should no longer be used.
  - Now add them only if CMAKE_BACKWARDS_COMPATIBILITY is also cached.
  - This happens only when CMP0001 is set to OLD or WARN or if
    the user or project sets it.  In any case compatibility is needed.
  - Reported by Miguel A. Figueroa-Villanueva and Philip Lowman.
2008-07-03 13:55:33 -04:00
Bill Hoffman 08b95e9cd8 BUG: fix for bug 7222 manifest:no not working for makefiles 2008-06-20 16:25:02 -04:00
Bill Hoffman 101337c63e ENH: support large object file lists with incremental visual studio linking 2008-06-18 13:28:24 -04:00
Bill Hoffman 5b5cd07d8d ENH: add an enabled language property 2008-06-17 13:13:21 -04:00
Brad King e77f5cfaed ENH: Whenever CMake re-runs from inside the VS IDE inform the user why. 2008-06-08 11:41:24 -04:00
Alexander Neundorf 96525cf3c3 BUG: make "cmake -Wno-dev ../srcdir" work, advancing i had the effect that
the argument after -Wno-dev was skipped, which happened to be the source
directory, and so the current working directory was assumed as source
directory, although it was the build directory (maybe this didn't have an
effect if there was already a CMakeCache.txt in the build dir)

Alex
2008-05-12 16:54:43 -04:00
Brad King 1381aab4b7 BUG: Remove check for files written by file(WRITE) being loaded.
- CMake 1.8 and below did not do the check but could get in
    infinite loops due to the local generate step.
  - CMake 2.0 added the check but failed to perform it in directories
    with no targets (see bug #678).
  - CMake 2.2 removed the local generate which fixed the problem but
    did not remove the check.
  - Between CMake 2.4 and 2.6.0rc6 the check was fixed to work even
    when no targets appear in a directory (see bug #6923).
  - Bottom line: the check is no longer needed.
2008-04-30 13:42:40 -04:00
Bill Hoffman 45ce11a075 ENH: install the mac application bundle into /Applications directly with no enclosing folder 2008-04-04 16:02:50 -04:00
Alexander Neundorf 6292341841 ENH: make it possible to disable debug output again
Alex
2008-04-02 17:29:25 -04:00
Bill Hoffman cae34d2df3 ENH: try to fix mac symlinks to the executable 2008-03-28 14:29:29 -04:00
Bill Hoffman 7dcfdf5005 BUG: fix install problem on make and allow symlinks to cmake bin directory 2008-03-27 17:05:11 -04:00
Bill Hoffman b487030bd9 ENH: clean up annoying output from rc tool in VS9 2008-03-26 22:34:27 -04:00
Bill Hoffman 6d0845f2f8 ENH: make sure -Wno-dev sticks so make rebuild_cache will work 2008-03-22 10:24:06 -04:00
Brad King 36c37a60b0 ENH: Clarify end of (dev) warnings to explicitly state they are meant for project developers. 2008-03-20 10:11:52 -04:00
Bill Hoffman f12ea8bd32 ENH: move the clear to before things are added to the maps 2008-03-13 15:34:17 -04:00
Brad King 3e997c9fc8 ENH: Make (dev) warnings show note about -Wno-dev option. Fix -Wdev and -Wno-dev options to not be mistaken for the source directory specification. 2008-03-13 15:06:35 -04:00
Brad King f7f03347a6 ENH: Improve new error/warning message generation
- Add cmListFileBacktrace to record stack traces
  - Move main IssueMessage method to the cmake class instance
    (make the backtrace an explicit argument)
  - Change cmMakefile::IssueMessage to construct a backtrace
    and call the cmake instance version
  - Record a backtrace at the point a target is created
    (useful later for messages issued by generators)
2008-03-13 13:48:57 -04:00
Ken Martin 73df9a5cd4 ENH: change CMP_ to CMP 2008-03-13 11:38:46 -04:00
Bill Hoffman 8bf388109d ENH: make sure properties are re-set on each configure 2008-03-12 17:02:30 -04:00
Bill Hoffman fc26c1459c ENH: add ability to suppress dev warnings to gui code 2008-03-11 22:50:35 -04:00
Brad King fdf169be3a BUG: Fixes to VS8/VS9 project regeneration rules
- ZERO_CHECK should check all stamps in case
    of parallel build (fixes complex test failure)
  - ZERO_CHECK should not appear when
    CMAKE_SUPPRESS_REGENERATION is on (fixes bug 6490)
2008-03-11 17:25:49 -04:00
Bill Hoffman a547ff61cd ENH: add a way to suppress the new policy warnings, still need ccmake and gui's 2008-03-11 15:17:58 -04:00
Brad King 46bf0347a3 ENH: Finish creating, documenting, and enforcing policy CMP_0002. 2008-03-07 16:36:57 -05:00
Brad King 5233b75a77 ENH: Improve handling of old-style compatibility.
- Remove CMP_0001 (no slash in target name) and restore
    old CMAKE_BACKWARDS_COMPATIBILITY check for it
  - Replace all checks of CMAKE_BACKWARDS_COMPATIBILITY
    with cmLocalGenerator::NeedBackwardsCompatibility calls
  - Create new CMP_0001 to determine whether or not
    CMAKE_BACKWARDS_COMPATIBILITY is used.
    (old = use, new = ignore)
  - Show CMAKE_BACKWARDS_COMPATIBILITY in cache only when
    CMP_0001 is set to OLD or WARN
  - Update documentation of cmake_policy and cmake_minimum_required
    to indicate their relationship and the 2.4 version boundary
  - When no cmake policy version is set in top level makefile
    implicitly call cmake_policy(VERSION 2.4) which restores
    CMAKE_BACKWARDS_COMPATIBILITY and other 2.4 compatibility
  - Fix tests MakeClean and Preprocess to call
    cmake_policy(VERSION 2.6) because they depend on new policies
2008-03-07 15:30:35 -05:00
Ken Martin 55eede4b13 ENH: clean up some policy stuff and interactions with CMAKE_BACKWARDS_COMPATIBILITY and CMAKE_MINIMUM_REQUIRED 2008-03-07 11:43:47 -05:00
Ken Martin cd4d2acbe6 ENH: more policy changes 2008-03-04 14:51:25 -05:00
Ken Martin d47a5951ed ENH: add --help-policies and --help-policy command line options 2008-03-04 09:16:33 -05:00
Ken Martin d49ef18f8a ENH: add first cut and policies still need to add the doc support 2008-03-01 15:20:35 -05:00
Bill Hoffman 0dd276a311 ENH: remove CMAKE_PREFIX so changing it does not rebuild all 2008-02-18 13:03:40 -05:00