Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
94aeaf72
Commit
94aeaf72
authored
Jan 04, 2013
by
Stephen Kelly
Browse files
Split LINK_INTERFACE_LIBRARIES export handling into dedicated method.
parent
a3aedb81
Changes
4
Hide whitespace changes
Inline
Side-by-side
Source/cmExportBuildFileGenerator.cxx
View file @
94aeaf72
...
...
@@ -107,6 +107,10 @@ cmExportBuildFileGenerator
std
::
vector
<
std
::
string
>
missingTargets
;
this
->
SetImportDetailProperties
(
config
,
suffix
,
target
,
properties
,
missingTargets
);
this
->
SetImportLinkInterface
(
config
,
suffix
,
cmGeneratorExpression
::
BuildInterface
,
target
,
properties
,
missingTargets
);
// TOOD: PUBLIC_HEADER_LOCATION
// This should wait until the build feature propagation stuff
...
...
Source/cmExportFileGenerator.cxx
View file @
94aeaf72
...
...
@@ -344,6 +344,26 @@ cmExportFileGenerator::ResolveTargetsInGeneratorExpression(
}
}
//----------------------------------------------------------------------------
void
cmExportFileGenerator
::
SetImportLinkInterface
(
const
char
*
config
,
std
::
string
const
&
suffix
,
cmGeneratorExpression
::
PreprocessContext
preprocessRule
,
cmTarget
*
target
,
ImportPropertyMap
&
properties
,
std
::
vector
<
std
::
string
>&
missingTargets
)
{
// Add the transitive link dependencies for this configuration.
cmTarget
::
LinkInterface
const
*
iface
=
target
->
GetLinkInterface
(
config
,
target
);
if
(
!
iface
)
{
return
;
}
this
->
SetImportLinkProperty
(
suffix
,
target
,
"IMPORTED_LINK_INTERFACE_LIBRARIES"
,
iface
->
Libraries
,
properties
,
missingTargets
);
}
//----------------------------------------------------------------------------
void
cmExportFileGenerator
...
...
@@ -388,9 +408,7 @@ cmExportFileGenerator
this
->
SetImportLinkProperty
(
suffix
,
target
,
"IMPORTED_LINK_INTERFACE_LANGUAGES"
,
iface
->
Languages
,
properties
,
missingTargets
);
this
->
SetImportLinkProperty
(
suffix
,
target
,
"IMPORTED_LINK_INTERFACE_LIBRARIES"
,
iface
->
Libraries
,
properties
,
missingTargets
);
this
->
SetImportLinkProperty
(
suffix
,
target
,
"IMPORTED_LINK_DEPENDENT_LIBRARIES"
,
iface
->
SharedDeps
,
properties
,
missingTargets
);
...
...
Source/cmExportFileGenerator.h
View file @
94aeaf72
...
...
@@ -102,6 +102,10 @@ protected:
void
GenerateInterfaceProperties
(
cmTarget
*
target
,
std
::
ostream
&
os
,
const
ImportPropertyMap
&
properties
);
void
SetImportLinkInterface
(
const
char
*
config
,
std
::
string
const
&
suffix
,
cmGeneratorExpression
::
PreprocessContext
preprocessRule
,
cmTarget
*
target
,
ImportPropertyMap
&
properties
,
std
::
vector
<
std
::
string
>&
missingTargets
);
enum
FreeTargetsReplace
{
ReplaceFreeTargets
,
...
...
Source/cmExportInstallFileGenerator.cxx
View file @
94aeaf72
...
...
@@ -229,6 +229,10 @@ cmExportInstallFileGenerator
this
->
SetImportDetailProperties
(
config
,
suffix
,
te
->
Target
,
properties
,
missingTargets
);
this
->
SetImportLinkInterface
(
config
,
suffix
,
cmGeneratorExpression
::
InstallInterface
,
te
->
Target
,
properties
,
missingTargets
);
// TOOD: PUBLIC_HEADER_LOCATION
// This should wait until the build feature propagation stuff
// is done. Then this can be a propagated include directory.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment