1. 07 Oct, 2013 1 commit
  2. 15 Aug, 2013 1 commit
  3. 24 Jul, 2013 1 commit
  4. 16 Jul, 2013 1 commit
  5. 08 Jul, 2013 1 commit
    • Stephen Kelly's avatar
      Export: Generate INTERFACE_LINK_LIBRARIES property on targets. · 574fec97
      Stephen Kelly authored
      This property is generated only for targets which have recorded
      policy CMP0022 as NEW, and a compatibility mode is added to
      additionally export the old interfaces in that case too.
      
      If the old interfaces are not exported, the generated export files
      require CMake 2.8.12. Because the unit tests use a version which
      is not yet called 2.8.12, temporarily require a lower version.
      574fec97
  6. 10 Jun, 2013 1 commit
  7. 03 Jun, 2013 2 commits
  8. 23 May, 2013 1 commit
    • Clinton Stimpson's avatar
      Refactor how bundles and frameworks are supported. · 373faae5
      Clinton Stimpson authored
      Make handling of directory separators consistent between
      non-bundle and bundle code.
      
      Remove xcode specific flag from cmTarget when getting install_name.
      
      Add (more) consistent convenience functions in cmTarget to get
      directories inside of bundles and frameworks to add files to.
      
      This refactor also fixes bug #12263 where frameworks
      had the wrong install name when SKIP_BUILD_RPATH.
      
      Also make install_name for frameworks consistent between Makefile
      and Xcode generator.
      373faae5
  9. 18 May, 2013 1 commit
    • Stephen Kelly's avatar
      Add EXPORT_NAME property. · b5d6f5dd
      Stephen Kelly authored
      This allows for example, the buildsystem to use names like 'boost_any'
      instead of the overly generic 'any', and still be able to generate
      IMPORTED targets called 'boost::any'.
      b5d6f5dd
  10. 03 Apr, 2013 1 commit
    • Brad King's avatar
      Handle usr-move without forcing absolute paths (#14041) · 6c613b43
      Brad King authored
      In commit 0c727b90 (install(EXPORT): Force absolute paths for usr-move,
      2013-03-08) and commit d4774140 (configure_package_config_file: force
      absolute paths for usr-move, 2013-01-24) we supported Linux
      distributions implementing the "/usr move" by assuming that installation
      to (/usr)?/lib(64)? represents a non-relocatable system package.
      
      When cross-compiling one may prepare a package for installation into a
      system location on a target machine but install the package files on the
      *host* machine inside another path for use with CMAKE_FIND_ROOT_PATH.
      In this case the package development files must still be relocatable.
      
      Handle "/usr move" with a new approach that works with relocatable
      files.  Teach configure_package_config_file and install(EXPORT) to
      generate special logic in a package configuration file or targets file
      for installation under (/usr)?/lib(64)?.  Teach the file to recognize
      when it is loaded through a symlink that refers to the same realpath as
      its original install destination.  In such a case, use the original
      install prefix.  Otherwise, compute the prefix relative to the current
      file location to make it relocatable.
      6c613b43
  11. 26 Mar, 2013 1 commit
    • Stephen Kelly's avatar
      install(EXPORT): Ensure clean INTERFACE_INCLUDE_DIRECTORIES · af81a3c3
      Stephen Kelly authored
      Check that source and binary directories are not part of the
      INTERFACE_INCLUDE_DIRECTORIES for installed IMPORTED targets.
      
      This is limited to directories which do not contain generator
      expressions to evaluate. Such paths can only be checked at time
      of use of the imported target, which will be done in a follow up
      patch.
      af81a3c3
  12. 08 Mar, 2013 1 commit
    • Brad King's avatar
      install(EXPORT): Force absolute paths for usr-move · 0c727b90
      Brad King authored
      If the absolute install(EXPORT) destination for the CMAKE_INSTALL_PREFIX
      used during configuration is under (/usr)?/lib(64)? then assume the
      current build is for a system package installation instead of a
      relocatable distribution.  Generate an absolute path for _IMPORT_PREFIX
      in the target exports file instead of generating code to compute the
      value relative to the file location.  This is necessary for
      distributions implementing a move to /usr such as:
      
       https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib
       "All files in the /lib directory have been moved to /usr/lib and now
        /lib is a symlink to usr/lib."
      
      The relative path computation is not reliable because the targets file
      could be installed through cross-prefix a symlink and loaded without it
      or vice versa.
      
      A similar change was made for package configuration file generation by
      commit d4774140 (configure_package_config_file: force absolute paths for
      usr-move, 2013-01-24).
      0c727b90
  13. 27 Jan, 2013 2 commits
  14. 21 Jan, 2013 1 commit
  15. 20 Jan, 2013 1 commit
  16. 15 Jan, 2013 3 commits
  17. 10 Jan, 2013 1 commit
  18. 04 Jan, 2013 2 commits
  19. 30 Nov, 2012 1 commit
    • Stephen Kelly's avatar
      Generate an early-return guard in target Export files. · bf2ddceb
      Stephen Kelly authored
      Previously it was necessary for writers of Config files
      which incude exported target files to write the guard themselves, but
      this was not immediately obvious or documented. Options for them
      would be to use a variable, or an INHERITED directory property in an
      effort to avoid accidental name clashes in all contexts in
      which find_package can be used.
      
      Getting this right requires boiler plate code, so generate a simpler
      check automatically instead.
      bf2ddceb
  20. 30 Sep, 2012 1 commit
    • Alexander Neundorf's avatar
      exports: move the handling of missing targets into subclasses · 0cfd055a
      Alexander Neundorf authored
      Before, cmExportFileGenerator::ComplainAboutMissingTarget() was a virtual
      function which had to be implemented in the subclasses. It is not
      anymore. Instead, there is now a virtual function
      HandleMissingTargets(), which is implemented in the two subclasses.
      This makes e.g. dealing correctly with APPEND mode easier.
      
      Alex
      0cfd055a
  21. 28 Sep, 2012 6 commits
  22. 22 Nov, 2011 1 commit
    • Alexander Neundorf's avatar
      install(EXPORT): Enforce existence of imported target files · a2be068c
      Alexander Neundorf authored
      Typical <package>Config.cmake files for find_package() rely only on the
      files generated by install(EXPORT).  They might be wrong, for whatever
      reasons, like people manually deleted files, projects were packaged
      wrong by distributions, whatever.  To protect against this, add checks
      that the file locations we are importing actually exist on disk.
      
      Alex
      a2be068c
  23. 11 Jan, 2011 1 commit
  24. 01 Oct, 2009 1 commit
  25. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert CMake to OSI-approved BSD License · 96afb120
      Brad King authored
      This converts the CMake license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the CMake copyright to
      cover the full development time range.
      96afb120
  26. 07 Jan, 2009 1 commit
    • Brad King's avatar
      ENH: Refactor computation of import file glob · 254782ed
      Brad King authored
      New method cmExportInstallFileGenerator::GetConfigImportFileGlob
      computes the globbing expression that an installed export file uses to
      load its per-configuration support files.
      254782ed
  27. 06 Feb, 2008 1 commit
  28. 01 Feb, 2008 2 commits
    • Brad King's avatar
    • 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
  29. 30 Jan, 2008 1 commit
    • Brad King's avatar
      ENH: Implemented link-interface specification feature. · 7902bc06
      Brad King authored
        - Shared libs and executables with exports may now have
          explicit transitive link dependencies specified
        - Created LINK_INTERFACE_LIBRARIES and related properties
        - Exported targets get the interface libraries as their
          IMPORTED_LINK_LIBRARIES property.
        - The export() and install(EXPORT) commands now give
          an error when a linked target is not included since
          the user can change the interface libraries instead
          of adding the target.
      7902bc06