summaryrefslogtreecommitdiffstats
path: root/Source/cmExportInstallFileGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmExportInstallFileGenerator: Fix crash in FindNamespacesAndrey Pokrovskiy2016-01-211-1/+1
| | | | | | | | | | | | | | | | | | Refactoring merged by commit 9afbb733ec (Merge topic 'use-generator-target', 2015-10-20) in and around commit 381e7afd (cmExportSet: Store a cmGeneratorTarget, 2015-10-17) forgot to update one place in this method. This leads to a crash in code such as add_library(A a.c) add_library(B b.c) target_link_libraries(B A) install(TARGETS B DESTINATION lib EXPORT ExpB) install(EXPORT ExpB DESTINATION lib/cmake/test) add_executable(C c.c) install(TARGETS C DESTINATION bin EXPORT ExpC) Fix the target name reference to avoid using an unpopulated Target pointer.
* Access policy status from cmGeneratorTarget at generate time.Stephen Kelly2015-10-201-2/+2
|
* cmGeneratorTarget: Copy IsAppBundleOnApple from cmTarget.Stephen Kelly2015-10-191-1/+1
| | | | Leave the cmTarget method behind for now to implement cmInstallCommand.
* cmGeneratorTarget: Move GetExportName from cmTarget.Stephen Kelly2015-10-181-2/+2
|
* Export: Port internal API to cmGeneratorTarget.Stephen Kelly2015-10-181-2/+2
|
* Export: Port internal utility to cmGeneratorTarget.Stephen Kelly2015-10-181-7/+7
|
* Export: Port some API to cmGlobalGenerator.Stephen Kelly2015-10-181-4/+4
|
* cmInstallTargetGenerator: Port GetInstallFilename to cmGeneratorTarget.Stephen Kelly2015-10-181-2/+2
|
* Export: Port interface to cmGeneratorTarget.Stephen Kelly2015-10-181-16/+15
|
* cmExportSet: Store a cmGeneratorTarget.Stephen Kelly2015-10-181-12/+10
| | | | Set the member at compute time from the stored name.
* cmState: Move TargetType enum from cmTarget.Stephen Kelly2015-10-141-3/+3
| | | | | | | Mostly automated: values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType") for i in "${values[@]}"; do git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
* cmInstallExportGenerator: Require cmLocalGenerator, not cmMakefile.Stephen Kelly2015-08-231-2/+2
|
* cmGeneratorTarget: Move GetInstallNameDir* from cmTarget.Stephen Kelly2015-08-051-2/+2
|
* Export: Port more API to cmGeneratorTarget.Stephen Kelly2015-08-051-1/+5
|
* cmExportInstallFileGenerator: Simplify local generator access.Stephen Kelly2015-08-041-1/+1
|
* cmInstallTargetGenerator: Port to cmGeneratorTarget.Stephen Kelly2015-07-301-1/+1
|
* Port some of the cmExportFileGenerator API to cmGeneratorTarget.Stephen Kelly2015-07-271-2/+4
| | | | | Enough to make it more possible to move GetLinkInterface to cmGeneratorTarget.
* Port to cmMakefile::GetGlobalGenerator.Stephen Kelly2015-05-031-1/+1
|
* Include cmAlgorithms where it is used.Stephen Kelly2015-03-101-0/+1
|
* install: Allow generator expressions in TARGETS DESTINATION (#14317)Brad King2015-02-111-1/+1
| | | | | | | | | | | | This will allow per-config destinations for targets in EXPORT sets. Using multiple install(TARGETS) with separate CONFIGURATIONS is rejected as a target appearing more than once in an export set. Now instead one can write install(TARGETS foo EXPORT exp DESTINATION lib/$<CONFIG>) to get a single logical membership of the target in the export set while still having a per-config destination.
* cmInstallGenerator: Move GetDestination to subclasses that need itBrad King2015-02-111-4/+4
| | | | | | The method is used only for EXPORT and TARGET install destinations. While at it, make it return a std::string by reference instead of a "const char*".
* Allow export of targets with INTERFACE_SOURCES.Stephen Kelly2015-02-101-12/+16
| | | | | | Use the same rules for paths in source and binary dirs in installed INTERFACE_SOURCES as are used for INTERFACE_INCLUDE_DIRECTORIES.
* Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-4/+4
| | | | All compilers hosting CMake support the std class.
* install: Allow absolute EXPORT destination with relative targets (#15258)Brad King2014-12-151-37/+20
| | | | | | | | | | | | | | | | | When install(EXPORT) is given an absolute destination we cannot compute the install prefix relative to the installed export file location. Previously we disallowed installation of targets in such exports with a relative destination, but did not enforce this for target property values besides the location of the main target file. This could lead to broken installations when the EXPORT is installed to an absolute path but usage requirements are specified relative to the install prefix. Since an EXPORT installed to an absolute destination cannot be relocated we can just hard-code the value of CMAKE_INSTALL_PREFIX as the base for relative paths. This will allow absolute install(EXPORT) destinations to work with relative destinations for targets and usage requirements. Extend the ExportImport test with a case covering this behavior.
* Export: Disallow export of targets with INTERFACE_SOURCESStephen Kelly2014-11-291-0/+11
| | | | | | | | | | | | | | | | | | | This can be allowed in the next release, but it needs to have some features present and tested such as * Ensuring that relative paths do not appear in the generated property. * Ensuring that paths to the source or build directories do not appear. * Generating a check in the file for CMake 3.1 or later so that the resulting property will be consumed. * Ensuring that any referenced targets are part of an export set and generating a check for them. * INSTALL_INTERFACE and BUILD_INTERFACE content. All of these checks are already done for INTERFACE_INCLUDE_DIRECTORIES, but it is too late to add them for INTERFACE_SOURCES for CMake 3.1. As the checks introduce some new error conditions, it is better to disallow exporting fully for this case and introduce proper error conditions later instead of policies.
* Export: Populate INTERFACE_COMPILE_FEATURES property.Stephen Kelly2014-04-081-0/+4
|
* Remove c_str calls when using stream APIs.Stephen Kelly2014-03-111-1/+1
| | | | | Use an ad-hoc clang tool for matching the calls which should be ported.
* Remove some c_str() calls.Stephen Kelly2014-03-111-1/+1
| | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-4/+7
|
* CMake 3.0.0-rc1 version updateBrad King2014-02-191-1/+1
|
* Export: Use the CMAKE_DEVEL_VERSION macro for build-export files.Stephen Kelly2014-02-111-14/+0
| | | | | Move the macro definition to the cmExportBuildFileGenerator.h header to share it.
* Export: Fix internal CMake version test logicBrad King2014-02-101-4/+6
| | | | | | | | | Fix the internal DEVEL_CMAKE_VERSION macro to use CMake_VERSION_ENCODE to compare version component-wise. Otherwise an old invocation of the macro may be tricked into using the current version when the requested major version is smaller than the current version but the requested minor version is larger. It should use the requested (old) version in that case.
* Export: Use a macro to ensure minimum development version requirementStephen Kelly2014-02-091-1/+13
| | | | | Use the version number of the specified release, or of the current development version if the release is not yet made.
* export: Only generate and install configuration files if needed.Stephen Kelly2014-01-041-6/+15
| | | | | | | | | | 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 IMPORTED_LOCATION_<CONFIG> INTERFACE_LIBRARY targets have no location, and no need for those files.
* install: Rename variable referencing cmake version.Stephen Kelly2014-01-041-3/+3
| | | | | | | | 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 cmExportBuildFileGenerator.
* Export: Skip INTERFACE libraries when generating -config files.Stephen Kelly2013-12-191-7/+5
| | | | | | | | 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.
* QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.Stephen Kelly2013-11-271-0/+4
| | | | | | | | | | | | | | | | | | | | 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. http://thread.gmane.org/gmane.comp.kde.devel.frameworks/7930/focus=7992 Implement the interface to provide the uic options as a usage-requirement on the KI18n target, as designed for KDE.
* Use new cmHasLiteralPrefix functionStephen Kelly2013-11-211-4/+4
|
* cmExportInstallFileGenerator: Fix comment to match reality.Stephen Kelly2013-10-101-2/+2
| | | | It was copied from cmExportBuildFileGenerator.
* install: Teach EXPORT option to handle INTERFACE_LIBRARY targetsStephen Kelly2013-10-081-1/+18
|
* CMake 2.8.12-rc1Brad King2013-08-151-1/+1
|
* Add a convenient way to add the includes install dir to the INTERFACE.Stephen Kelly2013-07-241-6/+6
| | | | | | | Export the INCLUDES DESTINATION without appending to the INTERFACE_INCLUDE_DIRECTORIES of the target itself. That way, a target can be exported multiple times with different INCLUDES DESTINATION without unintended cross-pollution of export sets.
* Merge topic 'tid-system-argument'Brad King2013-07-161-0/+4
|\ | | | | | | | | | | | | | | | | | | 9cf3547 Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property. 1925cff Add a SYSTEM parameter to target_include_directories (#14180) 286f227 Extend the cmTargetPropCommandBase interface property handling. 83498d4 Store system include directories in the cmTarget. f1fcbe3 Add Target API to determine if an include is a system include. 2679a34 Remove unused variable.
| * Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property.Stephen Kelly2013-07-161-0/+4
| | | | | | | | | | | | | | | | Unlike other target properties, this does not have a corresponding non-INTERFACE variant. This allows propagation of system attribute on include directories from link dependents.
* | Export: Generate INTERFACE_LINK_LIBRARIES property on targets.Stephen Kelly2013-07-081-0/+19
|/ | | | | | | | | | 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.
* Generate INTERFACE_COMPILE_OPTIONS on export.Stephen Kelly2013-06-101-0/+4
| | | | | This was missing from commit 80ca9c4b (Add COMPILE_OPTIONS target property., 2013-05-16).
* Merge topic 'cfbundle-location'Brad King2013-06-041-15/+1
|\ | | | | | | | | 483e208 OS X: Fix getting of CFBundle LOCATION property.
| * OS X: Fix getting of CFBundle LOCATION property.Clinton Stimpson2013-06-031-15/+1
| | | | | | | | | | | | | | This fixes bug #13797. The kinds of changes applied in 373faae5 for frameworks are now applied to CFBundle. The prefix and suffix for CFBundles are now handled in cmTarget::GetFullNameInternal.
* | Merge topic 'rpath-on-mac'Brad King2013-06-031-0/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | dc1d025 OS X: Add test for rpaths on Mac. 8576b3f OS X: Add support for @rpath in export files. 00d71bd Xcode: Add rpath support in Xcode generator. 94e7fef OS X: Add RPATH support for Mac.
| * | OS X: Add support for @rpath in export files.Clinton Stimpson2013-06-031-0/+16
| |/ | | | | | | | | Also expand the IMPORTED_SONAME property for targets to match the install_name.