1. 03 Sep, 2009 2 commits
    • Brad King's avatar
      Factor cmLocalGenerator::Configure object max path · 1db5c906
      Brad King authored
      Much of the code in this method was dedicated to computing ObjectMaxPath
      after configuring the directory.  We move this last step into its own
      ComputeObjectMaxPath method for better organization.
      1db5c906
    • Brad King's avatar
      Manage current local generator with automatic var · a6890a16
      Brad King authored
      The cmLocalGenerator::Configure method sets its cmLocalGenerator
      instance as the global generator's current local generator during
      configuration.  This commit refactors management of the current local
      generator to use an automatic variable.  This will allow early returns
      from the method.
      a6890a16
  2. 04 Aug, 2009 1 commit
  3. 17 Jul, 2009 1 commit
  4. 14 Jul, 2009 1 commit
  5. 07 Jul, 2009 1 commit
    • Brad King's avatar
      ENH: Simpler cmTarget::GetLinkerLanguage signature · a6084671
      Brad King authored
      This method previously required the global generator to be passed, but
      that was left from before cmTarget had its Makefile member.  Now the
      global generator can be retrieved automatically, so we can drop the
      method argument.
      a6084671
  6. 24 Apr, 2009 1 commit
    • Brad King's avatar
      ENH: Support more preprocessor values in VS6 · 708d1cf1
      Brad King authored
      Previously we rejected all preprocessor definition values containing
      spaces for the VS6 IDE generator.  In fact VS6 does support spaces but
      not in combination with '"', '$', or ';', and only if we use the sytnax
      '-DNAME="value with spaces"' instead of '-D"NAME=value with spaces"'.
      Now we support all definition values that do not have one of these
      invalid pairs.  See issue #8779.
      708d1cf1
  7. 07 Apr, 2009 1 commit
  8. 17 Mar, 2009 1 commit
  9. 16 Mar, 2009 1 commit
    • Brad King's avatar
      ENH: Refactor generation of CTestTestfile content · 66d69f86
      Brad King authored
      This moves code which generates ADD_TEST and SET_TESTS_PROPERTIES calls
      into CTestTestfile.cmake files out of cmLocalGenerator and into a
      cmTestGenerator class.  This will allow more advanced generation without
      cluttering cmLocalGenerator.  The cmTestGenerator class derives from
      cmScriptGenerator to get support for per-configuration script
      generation (not yet enabled).
      66d69f86
  10. 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
  11. 26 Feb, 2009 2 commits
  12. 25 Feb, 2009 1 commit
    • Brad King's avatar
      ENH: Re-enable system include dir suppression · cb788e8f
      Brad King authored
      This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to
      specify implicit include directories on a per-language basis.  This
      replaces the previous platform-wide variable.  It is necessary to
      avoid explicit specification of -I/usr/include on some compilers
      (such as HP aCC) because:
      
        1.) It may break ordering among system include directories defined
            internally by the compiler, thus getting wrong system headers.
        2.) It tells the compiler to treat the system include directory
            as a user include directory, enabling warnings in the headers.
      
      See issue #8598.
      cb788e8f
  13. 24 Feb, 2009 1 commit
    • Brad King's avatar
      BUG: Remove implicit include dir suppression · 39f8b911
      Brad King authored
      We used to suppress generation of -I/usr/include (and on OSX also
      -I/usr/local/include).  This behavior seems to cause more trouble than
      it's worth, so I'm removing it until someone encounters the original
      problem it fixed.  See issue #8598.
      39f8b911
  14. 10 Feb, 2009 2 commits
    • Brad King's avatar
      ENH: Add rule substitutions useful for launchers · 15c52e98
      Brad King authored
      This defines make rule substitutions <LANGUAGE>, <TARGET_NAME>,
      <TARGET_TYPE>, and <OUTPUT>.  They will be useful for RULE_LAUNCH_*
      property values.
      15c52e98
    • Brad King's avatar
      ENH: Define RULE_LAUNCH_* properties · b604b98c
      Brad King authored
      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.
      b604b98c
  15. 04 Feb, 2009 1 commit
    • Brad King's avatar
      BUG: Fix old-style install to prefix top · a27e9ca4
      Brad King authored
      The old install_files, install_programs, and install_targets commands
      used to permit installation to the top of the prefix by specifying
      destination '/'.  This was broken in 2.6.0 to 2.6.2 by changes to
      enforce valid destinations that did not account for this case.  This
      change fixes the case by converting the install destination to '.' which
      is the new-style way to specify the top of the installation prefix.
      a27e9ca4
  16. 27 Jan, 2009 1 commit
  17. 16 Dec, 2008 2 commits
    • Brad King's avatar
      ENH: Warn if build dir is too long for filesystem · 205fce61
      Brad King authored
      When an object file directory is too deep to place an object file
      without exceeding CMAKE_OBJECT_PATH_MAX, this issues a warning.
      Previously we silently ignored the problem.  See issue #7860.
      205fce61
    • Brad King's avatar
      ENH: Refactor passing of max length object dir · 3cf9265f
      Brad King authored
      When computing the maximum length full path to the build directory under
      which object files will be placed, pass the actual path instead of just
      its length.  This will be useful for error message generation.
      3cf9265f
  18. 09 Oct, 2008 2 commits
    • Brad King's avatar
      ENH: Fix optional use of relative paths. · ad44a41a
      Brad King authored
      These changes refactor cmLocalGenerator methods Convert and
      ConvertToOutputForExisting to support references inside the build tree
      using relative paths.  After this commit, all tests pass with Makefile
      generators when relative paths are enabled by default.  See issue #7779.
      ad44a41a
    • Brad King's avatar
      ENH: Simplify framework -F flag generation · 8bffd5af
      Brad King authored
      This removes an unnecessary use of ConvertToOutputForExisting which is
      needed only on Windows to consider short-pathing.
      8bffd5af
  19. 02 Sep, 2008 1 commit
    • Brad King's avatar
      ENH: Create Info.plist files in OS X Frameworks · f89dae7a
      Brad King authored
      A Mac OS X Framework should provide a Resources/Info.plist file
      containing meta-data about the framework.  This change generates a
      default Info.plist for frameworks and provides an interface for users to
      customize it.
      f89dae7a
  20. 21 Aug, 2008 1 commit
    • Brad King's avatar
      ENH: Allow custom limit on object file path length · 990c6b0b
      Brad King authored
      Some native build tools, particularly those for cross compiling, may
      have a limit on the length of the full path to an object file name that
      is lower than the platform otherwise supports.  This change allows the
      limit to be set by the project toolchain file through the variable
      CMAKE_OBJECT_PATH_MAX.
      990c6b0b
  21. 18 Aug, 2008 2 commits
    • Brad King's avatar
      ENH: Add UNKNOWN type for IMPORTED libraries · 061d20be
      Brad King authored
      When creating an IMPORTED target for a library that has been found on
      disk, it may not be known whether the library is STATIC or SHARED.
      However, the library may still be linked using the file found from disk.
      Use of an IMPORTED target is still important to allow per-configuration
      files to be specified for the library.
      
      This change creates an UNKNOWN type for IMPORTED library targets.  The
      IMPORTED_LOCATION property (and its per-config equivalents) specifies
      the location of the library.  CMake makes no assumptions about the
      library that cannot be inferred from the file on disk.  This will help
      projects and find-modules import targets found on disk or specified by
      the user.
      061d20be
    • Brad King's avatar
      STYLE: Convert unused target type cases to default · 0bf093fd
      Brad King authored
      In switch statements that deal with only a few target types, use a
      'default' case for the remaining target types instead of listing them
      explicitly.  This will make it easier to add more types in the future.
      0bf093fd
  22. 05 Aug, 2008 3 commits
    • Brad King's avatar
      BUG: Custom command depends may match sources · 7e11c5e9
      Brad King authored
      Custom command dependencies that are not full paths or targets may also
      match source files.  When one does, the full information about the
      source file's location and name may be used.  This fixes the case when a
      custom commands depends by relative path on a source file generated by
      another custom command specifying its output by relative path.
      7e11c5e9
    • Brad King's avatar
      BUG: Do not convert RPATH entries to full path. · d35b5a2f
      Brad King authored
      When generating RPATH entries on the link line using a repeated linker
      flag (-R ... -R ... style) do not convert individual entries to a full
      path.  We need to preserve what the user requested.
      d35b5a2f
    • Brad King's avatar
      BUG: Fix escaping in link scripts · e44a9c92
      Brad King authored
      When generating escape sequences for the native build tool do not put in
      Makefile escapes for paths generated into link scripts.  This fixes
      putting "$ORIGIN" into the RPATH, and probably some other subtle
      problems.
      e44a9c92
  23. 30 Jul, 2008 1 commit
  24. 22 Jul, 2008 1 commit
  25. 17 May, 2008 1 commit
  26. 30 Apr, 2008 1 commit
  27. 29 Apr, 2008 2 commits
  28. 28 Apr, 2008 1 commit
  29. 28 Mar, 2008 1 commit
  30. 13 Mar, 2008 1 commit
  31. 07 Mar, 2008 1 commit
    • Brad King's avatar
      ENH: Improve handling of old-style compatibility. · 5233b75a
      Brad King authored
        - 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
      5233b75a