target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.
This has not been allowed since they were introduced in
commit 91438222
(target_link_libraries: Add LINK_(PUBLIC|PRIVATE)
options, 2011-10-07), but allowing this form makes it more compatible
with the newer PUBLIC and PRIVATE keywords.
This commit is contained in:
parent
8f2b0c3307
commit
dede273193
|
@ -151,7 +151,8 @@ bool cmTargetLinkLibrariesCommand
|
||||||
else if(args[i] == "LINK_PUBLIC")
|
else if(args[i] == "LINK_PUBLIC")
|
||||||
{
|
{
|
||||||
if(i != 1
|
if(i != 1
|
||||||
&& this->CurrentProcessingState != ProcessingPlainPrivateInterface)
|
&& this->CurrentProcessingState != ProcessingPlainPrivateInterface
|
||||||
|
&& this->CurrentProcessingState != ProcessingPlainPublicInterface)
|
||||||
{
|
{
|
||||||
this->Makefile->IssueMessage(
|
this->Makefile->IssueMessage(
|
||||||
cmake::FATAL_ERROR,
|
cmake::FATAL_ERROR,
|
||||||
|
@ -181,7 +182,8 @@ bool cmTargetLinkLibrariesCommand
|
||||||
else if(args[i] == "LINK_PRIVATE")
|
else if(args[i] == "LINK_PRIVATE")
|
||||||
{
|
{
|
||||||
if(i != 1
|
if(i != 1
|
||||||
&& this->CurrentProcessingState != ProcessingPlainPublicInterface)
|
&& this->CurrentProcessingState != ProcessingPlainPublicInterface
|
||||||
|
&& this->CurrentProcessingState != ProcessingPlainPrivateInterface)
|
||||||
{
|
{
|
||||||
this->Makefile->IssueMessage(
|
this->Makefile->IssueMessage(
|
||||||
cmake::FATAL_ERROR,
|
cmake::FATAL_ERROR,
|
||||||
|
|
|
@ -32,7 +32,7 @@ generate_export_header(depA)
|
||||||
add_library(depB SHARED depB.cpp)
|
add_library(depB SHARED depB.cpp)
|
||||||
generate_export_header(depB)
|
generate_export_header(depB)
|
||||||
|
|
||||||
target_link_libraries(depB LINK_PRIVATE depA)
|
target_link_libraries(depB LINK_PRIVATE depA LINK_PRIVATE depA)
|
||||||
|
|
||||||
add_library(libgenex SHARED libgenex.cpp)
|
add_library(libgenex SHARED libgenex.cpp)
|
||||||
generate_export_header(libgenex)
|
generate_export_header(libgenex)
|
||||||
|
@ -44,11 +44,11 @@ set_property(TARGET depB APPEND PROPERTY
|
||||||
add_library(depC SHARED depC.cpp)
|
add_library(depC SHARED depC.cpp)
|
||||||
generate_export_header(depC)
|
generate_export_header(depC)
|
||||||
|
|
||||||
target_link_libraries(depC LINK_PUBLIC depA)
|
target_link_libraries(depC LINK_PUBLIC depA LINK_PUBLIC depA)
|
||||||
|
|
||||||
assert_property(depA LINK_INTERFACE_LIBRARIES "")
|
assert_property(depA LINK_INTERFACE_LIBRARIES "")
|
||||||
assert_property(depB LINK_INTERFACE_LIBRARIES "")
|
assert_property(depB LINK_INTERFACE_LIBRARIES "")
|
||||||
assert_property(depC LINK_INTERFACE_LIBRARIES "depA")
|
assert_property(depC LINK_INTERFACE_LIBRARIES "depA;depA")
|
||||||
|
|
||||||
add_executable(targetA targetA.cpp)
|
add_executable(targetA targetA.cpp)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue