1. 04 Jan, 2014 2 commits
    • Stephen Kelly's avatar
      export: Only generate and install configuration files if needed. · af3d3b88
      Stephen Kelly authored
      The modern way to create configuration dependent content is using
      generator expressions in the main export file.  The only non-deprecated
      property still generated in the configuration-specific files are
      INTERFACE_LIBRARY targets have no location, and no need for those
    • Stephen Kelly's avatar
      install: Rename variable referencing cmake version. · a0cacb55
      Stephen Kelly authored
      The next version is 3.0.0, not 2.8.13.
      The version generated in the export file should be updated in
      the release branch in both cmExportInstallFileGenerator and
  2. 19 Dec, 2013 1 commit
    • Stephen Kelly's avatar
      Export: Skip INTERFACE libraries when generating -config files. · b51b6e97
      Stephen Kelly authored
      The properties object has just been created, so is always empty,
      which means the if block is never entered. The following lines do
      not have any effect because an INTERFACE library has no LOCATION.
      At the end, no code is generated for INTERFACE libraries in
      config-specific exported files, so skip them early.
  3. 27 Nov, 2013 1 commit
    • Stephen Kelly's avatar
      QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property. · 98093c45
      Stephen Kelly authored
      Transitively consume the property from linked dependents.
      Implement configuration-specific support by following the pattern
      set out for compile definitions and includes in cmQtAutoGenerators.
      Implement support for origin-tracking with CMAKE_DEBUG_TARGET_PROPERTIES.
      This is motivated by the needs of KDE, which provides a separate
      translation system based on gettext instead of the Qt linguist
      translation system. The Qt uic tool provides command line options
      for configuring the method used to translate text, and to add an
      include directive to the generated file to provide the method.
      Implement the interface to provide the uic options as a usage-requirement
      on the KI18n target, as designed for KDE.
  4. 21 Nov, 2013 1 commit
  5. 10 Oct, 2013 1 commit
  6. 07 Oct, 2013 1 commit
  7. 15 Aug, 2013 1 commit
  8. 24 Jul, 2013 1 commit
  9. 16 Jul, 2013 1 commit
  10. 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.
  11. 10 Jun, 2013 1 commit
  12. 03 Jun, 2013 2 commits
  13. 23 May, 2013 1 commit
    • Clinton Stimpson's avatar
      Refactor how bundles and frameworks are supported. · 373faae5
      Clinton Stimpson authored and Brad King's avatar Brad King committed
      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.
  14. 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'.
  15. 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.
  16. 26 Mar, 2013 1 commit
    • Stephen Kelly's avatar
      install(EXPORT): Ensure clean INTERFACE_INCLUDE_DIRECTORIES · af81a3c3
      Stephen Kelly authored and Brad King's avatar Brad King committed
      Check that source and binary directories are not part of the
      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
  17. 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:
       "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).
  18. 27 Jan, 2013 2 commits
  19. 21 Jan, 2013 1 commit
  20. 20 Jan, 2013 1 commit
  21. 15 Jan, 2013 3 commits
  22. 10 Jan, 2013 1 commit
  23. 04 Jan, 2013 2 commits
  24. 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.
  25. 30 Sep, 2012 1 commit
    • Alexander Neundorf's avatar
      exports: move the handling of missing targets into subclasses · 0cfd055a
      Alexander Neundorf authored and Brad King's avatar Brad King committed
      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.
  26. 28 Sep, 2012 6 commits
  27. 22 Nov, 2011 1 commit
    • Alexander Neundorf's avatar
      install(EXPORT): Enforce existence of imported target files · a2be068c
      Alexander Neundorf authored and Brad King's avatar Brad King committed
      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.
  28. 11 Jan, 2011 1 commit
  29. 01 Oct, 2009 1 commit