1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 30 Jul, 2008 1 commit
  8. 22 Jul, 2008 1 commit
  9. 17 May, 2008 1 commit
  10. 30 Apr, 2008 1 commit
  11. 29 Apr, 2008 2 commits
  12. 28 Apr, 2008 1 commit
  13. 28 Mar, 2008 1 commit
  14. 13 Mar, 2008 1 commit
  15. 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
  16. 02 Mar, 2008 1 commit
    • Brad King's avatar
      ENH: Cleanup builtin chrpath support · d732de4a
      Brad King authored
        - Move computation of extended build-tree rpath
          to cmComputeLinkInformation
        - Only enable the extended build-tree rpath if
          the target will be installed
        - Generalize the interface of file(CHRPATH)
        - When changing the rpath on installation only
          replace the part generated by CMake because
          the native tools (ex SunCC on Linux) might have
          added their own part to the rpath
      d732de4a
  17. 01 Mar, 2008 1 commit
  18. 14 Feb, 2008 1 commit
  19. 01 Feb, 2008 1 commit
    • Brad King's avatar
      ENH: Pass dependent library search path to linker on some platforms. · 82fcaebe
      Brad King authored
        - Move runtime path ordering out of cmComputeLinkInformation
          into its own class cmOrderRuntimeDirectories.
        - Create an instance of cmOrderRuntimeDirectories for runtime
          path ordering and another instance for dependent library
          path ordering.
        - Replace CMAKE_DEPENDENT_SHARED_LIBRARY_MODE with explicit
          CMAKE_LINK_DEPENDENT_LIBRARY_FILES boolean.
        - Create CMAKE_LINK_DEPENDENT_LIBRARY_DIRS boolean.
        - Create variables to specify -rpath-link flags:
            CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG
            CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG
        - Enable -rpath-link flag on Linux and QNX.
        - Documentation and error message updates
      82fcaebe
  20. 29 Jan, 2008 2 commits
  21. 28 Jan, 2008 1 commit
    • Brad King's avatar
      ENH: Updated exporting and importing of targets to support libraries and configurations. · 5594ad48
      Brad King authored
        - Created cmExportFileGenerator hierarchy to implement export file generation
        - Installed exports use per-config import files loaded by a central one.
        - Include soname of shared libraries in import information
        - Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands
        - Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators
        - Import files compute the installation prefix relative to their location when loaded
        - Add mapping of importer configurations to importee configurations
        - Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries
        - Scope IMPORTED targets within directories to isolate them
        - Place all properties created by import files in the IMPORTED namespace
        - Document INSTALL(EXPORT) and EXPORT() commands.
        - Document IMPORTED signature of add_executable and add_library
        - Enable finding of imported targets in cmComputeLinkDepends
      5594ad48
  22. 23 Jan, 2008 2 commits
  23. 22 Jan, 2008 1 commit
    • Brad King's avatar
      ENH: Implement linking with paths to library files instead of -L and -l separation. See bug #3832 · 96fd5909
      Brad King authored
        - This is purely an implementation improvement.  No interface has changed.
        - Create cmComputeLinkInformation class
        - Move and re-implement logic from:
            cmLocalGenerator::ComputeLinkInformation
            cmOrderLinkDirectories
        - Link libraries to targets with their full path (if it is known)
        - Dirs specified with link_directories command still added with -L
        - Make link type specific to library names without paths
          (name libfoo.a without path becomes -Wl,-Bstatic -lfoo)
        - Make directory ordering specific to a runtime path computation feature
          (look for conflicting SONAMEs instead of library names)
        - Implement proper rpath support on HP-UX and AIX.
      96fd5909
  24. 19 Jan, 2008 1 commit
  25. 18 Jan, 2008 1 commit
  26. 17 Jan, 2008 4 commits
  27. 14 Jan, 2008 1 commit
  28. 13 Jan, 2008 2 commits