Export: Prefix relative items with genexes in INSTALL_INTERFACE.
Code such as target_include_directories(foo INTERFACE $<INSTALL_INTERFACE:include$<FOO>> ) should be treated as a relative directory, despite the genex, after the INSTALL_INTERFACE is stripped away. Previously, this would generate a relative directory on export, which would be an error on import, so no policy is needed.
This commit is contained in:
parent
f088a32450
commit
7a3e45b9d4
|
@ -245,7 +245,7 @@ static void prefixItems(const std::string &content, std::string &result,
|
|||
result += sep;
|
||||
sep = ";";
|
||||
if (!cmSystemTools::FileIsFullPath(ei->c_str())
|
||||
&& cmGeneratorExpression::Find(*ei) == std::string::npos)
|
||||
&& cmGeneratorExpression::Find(*ei) != 0)
|
||||
{
|
||||
result += prefix;
|
||||
}
|
||||
|
|
|
@ -327,6 +327,8 @@ target_include_directories(testLibRequired INTERFACE
|
|||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest5$<0:>>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/$<0:>installIncludesTest6>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest7>
|
||||
$<INSTALL_INTERFACE:installIncludesTest8/$<0:>>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest8$<0:>>
|
||||
)
|
||||
install(TARGETS
|
||||
testLibIncludeRequired1
|
||||
|
@ -360,6 +362,8 @@ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest6")
|
|||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest6/installIncludesTest6.h" "// No content\n")
|
||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest7")
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest7/installIncludesTest7.h" "// No content\n")
|
||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest8")
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest8/installIncludesTest8.h" "// No content\n")
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest/installIncludesTest.h"
|
||||
DESTINATION installIncludesTest
|
||||
|
@ -388,6 +392,10 @@ install(FILES
|
|||
"${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest7/installIncludesTest7.h"
|
||||
DESTINATION installIncludesTest7
|
||||
)
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/installIncludesTest8/installIncludesTest8.h"
|
||||
DESTINATION installIncludesTest8
|
||||
)
|
||||
|
||||
install(TARGETS testLibDepends testSharedLibDepends EXPORT DependsExp DESTINATION lib )
|
||||
install(EXPORT DependsExp FILE testLibDependsTargets.cmake DESTINATION lib/cmake/testLibDepends)
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "installIncludesTest5.h"
|
||||
#include "installIncludesTest6.h"
|
||||
#include "installIncludesTest7.h"
|
||||
#include "installIncludesTest8.h"
|
||||
|
||||
#ifndef testLibRequired_IFACE_DEFINE
|
||||
#error Expected testLibRequired_IFACE_DEFINE
|
||||
|
|
Loading…
Reference in New Issue