1. 08 Apr, 2009 3 commits
    • Brad King's avatar
      ENH: Allow IMPORTED_IMPLIB w/o IMPORTED_LOCATION · d05e98f8
      Brad King authored
      Linking to a Windows shared library (.dll) requires only its import
      library (.lib).  This teaches CMake to recognize SHARED IMPORTED library
      targets that set only IMPORTED_IMPLIB and not IMPORTED_LOCATION.
      d05e98f8
    • Brad King's avatar
      ENH: Teach Update* tests to report local mod step · d49978a9
      Brad King authored
      The CTest.UpdateCVS/SVN tests report every step with a message.  This
      adds a message for the local modification step.
      d49978a9
    • Brad King's avatar
      ENH: Make UpdateCVS test robust to 1s file time res · cd532b61
      Brad King authored
      CVS clients recognize file modifications only if a file's timestamp is
      newer than its CVS/Entries line.  This fixes intermittent failure of the
      test on filesystems with low timestamp resolution by delaying before
      creating a local modification.
      cd532b61
  2. 06 Apr, 2009 1 commit
  3. 31 Mar, 2009 2 commits
  4. 30 Mar, 2009 1 commit
  5. 25 Mar, 2009 1 commit
    • Brad King's avatar
      BUG: Fix CMAKE_CURRENT_LIST_FILE in macros · 5f468692
      Brad King authored
      The value of CMAKE_CURRENT_LIST_FILE is supposed to be the list file
      currently being executed.  Before macros were introduced this was always
      the context of the argument referencing the variable.
      
      Our original implementation of macros replaced the context of command
      arguments inside the macro with that of the arguments of the calling
      context.  This worked recursively, but only worked when macros had at
      least one argument.  Furthermore, it caused parsing errors of the
      arguments to report the wrong location (calling context instead of line
      with error).
      
      The commit "Improve context for errors in macros" fixed the latter bug
      by keeping the lexical context of command arguments in macros.  It broke
      evaluation of CMAKE_CURRENT_LIST_FILE because the calling context was no
      longer preserved in the argument referencing the variable.  However,
      since our list file processing now maintains the proper value of
      CMAKE_CURRENT_LIST_FILE with dynamic scope we no longer need the context
      of the argument and can just evaluate the variable normally.
      5f468692
  6. 23 Mar, 2009 1 commit
    • Brad King's avatar
      ENH: Support preprocessor def values in VS6 · 40854546
      Brad King authored
      The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src
      properties support preprocessor definitions with values.  Previously
      values were not supported in the VS6 generator even though the native
      tool supports them.  It is only values with spaces that VS6 does not
      support.  This enables support and instead complains only for values
      with spaces.  See issue #8779.
      40854546
  7. 18 Mar, 2009 2 commits
    • Brad King's avatar
      ENH: Add patch step for add_external_project · 2cc46c12
      Brad King authored
      The patch step runs parallel to the update step since it does not make
      sense to have both.  Configuration of the step requires specification of
      a PATCH_COMMAND argument to add_external_project.
      2cc46c12
    • Brad King's avatar
      ENH: Improve add_external_project interface · 6ae0ff62
      Brad King authored
      This rewrites the keyword/argument parsing and handling in the
      AddExternalProject module to use arguments more literally:
      
        - The strict keyword-value pairing is gone in favor of keywords with
          arbitrary non-keyword values.  This avoids requiring users to escape
          spaces and quotes in command lines.
      
        - Customized step command lines are now specified with a single
          keyword <step>_COMMAND instead of putting the arguments in a
          separate entry (previously called <step>_ARGS).
      
        - Build step custom commands now use VERBATIM mode so that arguments
          are correctly escaped on the command line during builds.
      6ae0ff62
  8. 17 Mar, 2009 1 commit
    • Brad King's avatar
      ENH: New foreach(<var> IN ...) mode · ecb0f3af
      Brad King authored
      This creates a new mode of the foreach command which allows precise
      iteration even over empty elements.  This mode may be safely extended
      with more keyword arguments in the future.  The cost now is possibly
      breaking scripts that iterate over a list of items beginning with 'IN',
      but there is no other way to extend the syntax in a readable way.
      ecb0f3af
  9. 16 Mar, 2009 3 commits
    • Brad King's avatar
      ENH: Allow projects to disable per-rule echo lines · 493f88ce
      Brad King authored
      This creates global property RULE_MESSAGES which can be set to disbale
      per-rule progress and action reporting.  On Windows, these reports may
      cause a noticable delay due to the cost of starting extra processes.
      This feature will allow scripted builds to avoid the cost since they do
      not need detailed information anyway.  This replaces the RULE_PROGRESS
      property created earlier as it is more complete.  See issue #8726.
      493f88ce
    • Brad King's avatar
      ENH: Allow projects to disable per-rule progress · 2f651c2e
      Brad King authored
      This creates global property RULE_PROGRESS which can be set to disbale
      per-rule progress reporting.  On Windows, progress reports may cause a
      noticable delay due to the cost of starting an extra process.  This
      feature will allow scripted builds to avoid the cost since they do not
      need detailed progress anyway.  See issue #8726.
      2f651c2e
    • Brad King's avatar
      ENH: Add NAME mode to ADD_TEST command · 9862f383
      Brad King authored
      This creates command mode add_test(NAME ...).  This signature is
      extensible with more keyword arguments later.  The main purpose is to
      enable automatic replacement of target names with built target file
      locations.  A side effect of this feature is support for tests that only
      run under specific configurations.
      9862f383
  10. 10 Mar, 2009 1 commit
    • Brad King's avatar
      ENH: Teach set/get_property about CACHE properties · e5e91d61
      Brad King authored
      This adds the CACHE option to set_property and get_property commands.
      This allows full control over cache entry information, so advanced users
      can tweak their project cache as desired.  The set_property command
      allows only pre-defined CACHE properties to be set since others would
      not persist anyway.
      e5e91d61
  11. 06 Mar, 2009 2 commits
  12. 05 Mar, 2009 1 commit
    • Brad King's avatar
      ENH: Overhaul CMake version numbering · 98c51ff6
      Brad King authored
      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.
      98c51ff6
  13. 04 Mar, 2009 2 commits
    • Brad King's avatar
      ENH: Cleanup cmake --build interface. · 170febac
      Brad King authored
      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.
      170febac
    • Brad King's avatar
      ENH: Better recursive make in AddExternalProject · ba5cbf0f
      Brad King authored
      This teaches AddExternalProject to run "$(MAKE)" for build and install
      steps of CMake-based external projects when using a Makefile generator.
      It allows the external project to participate in a parallel make invoked
      on the superproject.
      ba5cbf0f
  14. 26 Feb, 2009 1 commit
  15. 24 Feb, 2009 2 commits
  16. 23 Feb, 2009 4 commits
  17. 19 Feb, 2009 2 commits
  18. 09 Feb, 2009 1 commit
    • Brad King's avatar
      ENH: Add get_filename_component(... REALPATH) · ae873d4a
      Brad King authored
      This patch from Philip Lowman creates a REALPATH mode in the
      get_filename_component command.  It is like ABSOLUTE, but will also
      resolve symlinks (which ABSOLUTE once did but was broken long ago).
      See issue #8423.
      ae873d4a
  19. 06 Feb, 2009 1 commit
    • Brad King's avatar
      BUG: Alternative fix to bug #8423 · 16fe328d
      Brad King authored
      The patch used to fix this bug used SystemTools::GetRealPath which works
      only for existing files.  It broke the case of using the command
      get_filename_component for a non-existing file.  Also, it changed
      long-standing behavior in a possibly incompatible way even for existing
      files.  This reverts the original fix and instead updates the
      documentation to be consistent with the behavior.
      16fe328d
  20. 29 Jan, 2009 2 commits
  21. 27 Jan, 2009 1 commit
  22. 22 Jan, 2009 4 commits
  23. 21 Jan, 2009 1 commit