mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-13 01:29:02 -05:00
Genex LINK_LIBRARY and LINK_GROUP: check supported properties
Refines check for properties supporting these genex. Enhance error message. Fixes: #23699
This commit is contained in:
@@ -1421,9 +1421,10 @@ Output-Related Expressions
|
|||||||
|
|
||||||
* The ``$<LINK_LIBRARY:...>`` generator expression can only be used to
|
* The ``$<LINK_LIBRARY:...>`` generator expression can only be used to
|
||||||
specify link libraries. In practice, this means it can appear in the
|
specify link libraries. In practice, this means it can appear in the
|
||||||
:prop_tgt:`LINK_LIBRARIES` and :prop_tgt:`INTERFACE_LINK_LIBRARIES`
|
:prop_tgt:`LINK_LIBRARIES`, :prop_tgt:`INTERFACE_LINK_LIBRARIES`, and
|
||||||
target properties, and be specified in :command:`target_link_libraries`
|
:prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` target properties, and be
|
||||||
and :command:`link_libraries` commands.
|
specified in :command:`target_link_libraries` and :command:`link_libraries`
|
||||||
|
commands.
|
||||||
|
|
||||||
* If a ``$<LINK_LIBRARY:...>`` generator expression appears in the
|
* If a ``$<LINK_LIBRARY:...>`` generator expression appears in the
|
||||||
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property of a target, it will be
|
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property of a target, it will be
|
||||||
@@ -1596,9 +1597,10 @@ Output-Related Expressions
|
|||||||
|
|
||||||
* The ``$<LINK_GROUP:...>`` generator expression can only be used to
|
* The ``$<LINK_GROUP:...>`` generator expression can only be used to
|
||||||
specify link libraries. In practice, this means it can appear in the
|
specify link libraries. In practice, this means it can appear in the
|
||||||
:prop_tgt:`LINK_LIBRARIES` and :prop_tgt:`INTERFACE_LINK_LIBRARIES`
|
:prop_tgt:`LINK_LIBRARIES`, :prop_tgt:`INTERFACE_LINK_LIBRARIES`,and
|
||||||
target properties, and be specified in :command:`target_link_libraries`
|
:prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` target properties, and be
|
||||||
and :command:`link_libraries` commands.
|
specified in :command:`target_link_libraries` and :command:`link_libraries`
|
||||||
|
commands.
|
||||||
|
|
||||||
* If a ``$<LINK_GROUP:...>`` generator expression appears in the
|
* If a ``$<LINK_GROUP:...>`` generator expression appears in the
|
||||||
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property of a target, it will be
|
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property of a target, it will be
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ bool cmGeneratorExpressionDAGChecker::EvaluatingLinkOptionsExpression() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries(
|
bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries(
|
||||||
cmGeneratorTarget const* tgt) const
|
cmGeneratorTarget const* tgt, ForGenex genex) const
|
||||||
{
|
{
|
||||||
const auto* top = this->Top();
|
const auto* top = this->Top();
|
||||||
|
|
||||||
@@ -188,13 +188,17 @@ bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries(
|
|||||||
return top->Target == tgt && prop == "LINK_LIBRARIES"_s;
|
return top->Target == tgt && prop == "LINK_LIBRARIES"_s;
|
||||||
}
|
}
|
||||||
|
|
||||||
return prop == "LINK_LIBRARIES"_s || prop == "INTERFACE_LINK_LIBRARIES"_s ||
|
auto result = prop == "LINK_LIBRARIES"_s ||
|
||||||
|
prop == "INTERFACE_LINK_LIBRARIES"_s ||
|
||||||
prop == "INTERFACE_LINK_LIBRARIES_DIRECT"_s ||
|
prop == "INTERFACE_LINK_LIBRARIES_DIRECT"_s ||
|
||||||
prop == "INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE"_s ||
|
|
||||||
prop == "LINK_INTERFACE_LIBRARIES"_s ||
|
prop == "LINK_INTERFACE_LIBRARIES"_s ||
|
||||||
prop == "IMPORTED_LINK_INTERFACE_LIBRARIES"_s ||
|
prop == "IMPORTED_LINK_INTERFACE_LIBRARIES"_s ||
|
||||||
cmHasLiteralPrefix(prop, "LINK_INTERFACE_LIBRARIES_") ||
|
cmHasLiteralPrefix(prop, "LINK_INTERFACE_LIBRARIES_") ||
|
||||||
cmHasLiteralPrefix(prop, "IMPORTED_LINK_INTERFACE_LIBRARIES_");
|
cmHasLiteralPrefix(prop, "IMPORTED_LINK_INTERFACE_LIBRARIES_");
|
||||||
|
|
||||||
|
return genex == ForGenex::LINK_LIBRARY || genex == ForGenex::LINK_GROUP
|
||||||
|
? result
|
||||||
|
: (result || prop == "INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE"_s);
|
||||||
}
|
}
|
||||||
|
|
||||||
cmGeneratorExpressionDAGChecker const* cmGeneratorExpressionDAGChecker::Top()
|
cmGeneratorExpressionDAGChecker const* cmGeneratorExpressionDAGChecker::Top()
|
||||||
|
|||||||
@@ -71,7 +71,14 @@ struct cmGeneratorExpressionDAGChecker
|
|||||||
bool EvaluatingLinkExpression() const;
|
bool EvaluatingLinkExpression() const;
|
||||||
bool EvaluatingLinkOptionsExpression() const;
|
bool EvaluatingLinkOptionsExpression() const;
|
||||||
|
|
||||||
bool EvaluatingLinkLibraries(cmGeneratorTarget const* tgt = nullptr) const;
|
enum class ForGenex
|
||||||
|
{
|
||||||
|
ANY,
|
||||||
|
LINK_LIBRARY,
|
||||||
|
LINK_GROUP
|
||||||
|
};
|
||||||
|
bool EvaluatingLinkLibraries(cmGeneratorTarget const* tgt = nullptr,
|
||||||
|
ForGenex genex = ForGenex::ANY) const;
|
||||||
|
|
||||||
#define DECLARE_TRANSITIVE_PROPERTY_METHOD(METHOD) bool METHOD() const;
|
#define DECLARE_TRANSITIVE_PROPERTY_METHOD(METHOD) bool METHOD() const;
|
||||||
|
|
||||||
|
|||||||
@@ -1662,11 +1662,16 @@ static const struct LinkLibraryNode : public cmGeneratorExpressionNode
|
|||||||
const GeneratorExpressionContent* content,
|
const GeneratorExpressionContent* content,
|
||||||
cmGeneratorExpressionDAGChecker* dagChecker) const override
|
cmGeneratorExpressionDAGChecker* dagChecker) const override
|
||||||
{
|
{
|
||||||
|
using ForGenex = cmGeneratorExpressionDAGChecker::ForGenex;
|
||||||
|
|
||||||
if (!context->HeadTarget || !dagChecker ||
|
if (!context->HeadTarget || !dagChecker ||
|
||||||
!dagChecker->EvaluatingLinkLibraries()) {
|
!dagChecker->EvaluatingLinkLibraries(nullptr,
|
||||||
|
ForGenex::LINK_LIBRARY)) {
|
||||||
reportError(context, content->GetOriginalExpression(),
|
reportError(context, content->GetOriginalExpression(),
|
||||||
"$<LINK_LIBRARY:...> may only be used with binary targets "
|
"$<LINK_LIBRARY:...> may only be used with binary targets "
|
||||||
"to specify link libraries.");
|
"to specify link libraries through 'LINK_LIBRARIES', "
|
||||||
|
"'INTERFACE_LINK_LIBRARIES', and "
|
||||||
|
"'INTERFACE_LINK_LIBRARIES_DIRECT' properties.");
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1743,11 +1748,16 @@ static const struct LinkGroupNode : public cmGeneratorExpressionNode
|
|||||||
const GeneratorExpressionContent* content,
|
const GeneratorExpressionContent* content,
|
||||||
cmGeneratorExpressionDAGChecker* dagChecker) const override
|
cmGeneratorExpressionDAGChecker* dagChecker) const override
|
||||||
{
|
{
|
||||||
|
using ForGenex = cmGeneratorExpressionDAGChecker::ForGenex;
|
||||||
|
|
||||||
if (!context->HeadTarget || !dagChecker ||
|
if (!context->HeadTarget || !dagChecker ||
|
||||||
!dagChecker->EvaluatingLinkLibraries()) {
|
!dagChecker->EvaluatingLinkLibraries(nullptr, ForGenex::LINK_GROUP)) {
|
||||||
reportError(context, content->GetOriginalExpression(),
|
reportError(
|
||||||
"$<LINK_GROUP:...> may only be used with binary targets "
|
context, content->GetOriginalExpression(),
|
||||||
"to specify group of link libraries.");
|
"$<LINK_GROUP:...> may only be used with binary targets "
|
||||||
|
"to specify group of link libraries through 'LINK_LIBRARIES', "
|
||||||
|
"'INTERFACE_LINK_LIBRARIES', and "
|
||||||
|
"'INTERFACE_LINK_LIBRARIES_DIRECT' properties.");
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ run_cmake(add_link_options)
|
|||||||
run_cmake(link_directories)
|
run_cmake(link_directories)
|
||||||
run_cmake(target_link_options)
|
run_cmake(target_link_options)
|
||||||
run_cmake(target_link_directories)
|
run_cmake(target_link_directories)
|
||||||
|
run_cmake(invalid-property)
|
||||||
run_cmake(no-arguments)
|
run_cmake(no-arguments)
|
||||||
run_cmake(empty-arguments)
|
run_cmake(empty-arguments)
|
||||||
run_cmake(forbidden-arguments)
|
run_cmake(forbidden-arguments)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at add_custom_command.cmake:[0-9]+ \(add_custom_command\):
|
|||||||
\$<LINK_GROUP:feat>
|
\$<LINK_GROUP:feat>
|
||||||
|
|
||||||
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
link libraries.
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at add_custom_target.cmake:[0-9]+ \(add_custom_target\):
|
|||||||
\$<LINK_GROUP:feat>
|
\$<LINK_GROUP:feat>
|
||||||
|
|
||||||
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
link libraries.
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at add_link_options.cmake:[0-9]+ \(add_link_options\):
|
|||||||
\$<LINK_GROUP:feat>
|
\$<LINK_GROUP:feat>
|
||||||
|
|
||||||
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
link libraries.
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
CMake Error at invalid-property.cmake:[0-9]+ \(set_property\):
|
||||||
|
Error evaluating generator expression:
|
||||||
|
|
||||||
|
\$<LINK_GROUP:feat,dep>
|
||||||
|
|
||||||
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
enable_language(C)
|
||||||
|
|
||||||
|
set (CMAKE_LINK_GROUP_USING_feat "--prefix" "--suffix")
|
||||||
|
set (CMAKE_LINK_GROUP_USING_feat_SUPPORTED TRUE)
|
||||||
|
|
||||||
|
add_library(dep SHARED empty.c)
|
||||||
|
set_property(TARGET dep PROPERTY INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE "$<LINK_GROUP:feat,dep>")
|
||||||
|
|
||||||
|
add_library(lib SHARED empty.c)
|
||||||
|
target_link_libraries(lib PRIVATE dep)
|
||||||
@@ -4,6 +4,7 @@ CMake Error at link_directories.cmake:[0-9]+ \(link_directories\):
|
|||||||
\$<LINK_GROUP:feat>
|
\$<LINK_GROUP:feat>
|
||||||
|
|
||||||
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
link libraries.
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at target_link_directories.cmake:[0-9]+ \(target_link_directories\):
|
|||||||
\$<LINK_GROUP:feat>
|
\$<LINK_GROUP:feat>
|
||||||
|
|
||||||
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
link libraries.
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at target_link_options.cmake:[0-9]+ \(target_link_options\):
|
|||||||
\$<LINK_GROUP:FEAT>
|
\$<LINK_GROUP:FEAT>
|
||||||
|
|
||||||
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
\$<LINK_GROUP:...> may only be used with binary targets to specify group of
|
||||||
link libraries.
|
link libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ run_cmake(add_link_options)
|
|||||||
run_cmake(link_directories)
|
run_cmake(link_directories)
|
||||||
run_cmake(target_link_options)
|
run_cmake(target_link_options)
|
||||||
run_cmake(target_link_directories)
|
run_cmake(target_link_directories)
|
||||||
|
run_cmake(invalid-property)
|
||||||
run_cmake(no-arguments)
|
run_cmake(no-arguments)
|
||||||
run_cmake(empty-arguments)
|
run_cmake(empty-arguments)
|
||||||
run_cmake(forbidden-arguments)
|
run_cmake(forbidden-arguments)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at add_custom_command.cmake:[0-9]+ \(add_custom_command\):
|
|||||||
\$<LINK_LIBRARY:feat>
|
\$<LINK_LIBRARY:feat>
|
||||||
|
|
||||||
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
libraries.
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at add_custom_target.cmake:[0-9]+ \(add_custom_target\):
|
|||||||
\$<LINK_LIBRARY:feat>
|
\$<LINK_LIBRARY:feat>
|
||||||
|
|
||||||
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
libraries.
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at add_link_options.cmake:[0-9]+ \(add_link_options\):
|
|||||||
\$<LINK_LIBRARY:feat>
|
\$<LINK_LIBRARY:feat>
|
||||||
|
|
||||||
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
libraries.
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
CMake Error at invalid-property.cmake:[0-9]+ \(set_property\):
|
||||||
|
Error evaluating generator expression:
|
||||||
|
|
||||||
|
\$<LINK_LIBRARY:feat,dep>
|
||||||
|
|
||||||
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
enable_language(C)
|
||||||
|
|
||||||
|
set (CMAKE_LINK_LIBRARY_USING_feat "<LIBRARY>")
|
||||||
|
set (CMAKE_LINK_LIBRARY_USING_feat_SUPPORTED TRUE)
|
||||||
|
|
||||||
|
add_library(dep SHARED empty.c)
|
||||||
|
set_property(TARGET dep PROPERTY INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE "$<LINK_LIBRARY:feat,dep>")
|
||||||
|
|
||||||
|
add_library(lib SHARED empty.c)
|
||||||
|
target_link_libraries(lib PRIVATE dep)
|
||||||
@@ -4,6 +4,7 @@ CMake Error at link_directories.cmake:[0-9]+ \(link_directories\):
|
|||||||
\$<LINK_LIBRARY:feat>
|
\$<LINK_LIBRARY:feat>
|
||||||
|
|
||||||
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
libraries.
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at target_link_directories.cmake:[0-9]+ \(target_link_directories\):
|
|||||||
\$<LINK_LIBRARY:feat>
|
\$<LINK_LIBRARY:feat>
|
||||||
|
|
||||||
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
libraries.
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ CMake Error at target_link_options.cmake:[0-9]+ \(target_link_options\):
|
|||||||
\$<LINK_LIBRARY:FEAT>
|
\$<LINK_LIBRARY:FEAT>
|
||||||
|
|
||||||
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
\$<LINK_LIBRARY:...> may only be used with binary targets to specify link
|
||||||
libraries.
|
libraries through 'LINK_LIBRARIES', 'INTERFACE_LINK_LIBRARIES', and
|
||||||
|
'INTERFACE_LINK_LIBRARIES_DIRECT' properties.
|
||||||
Call Stack \(most recent call first\):
|
Call Stack \(most recent call first\):
|
||||||
CMakeLists.txt:[0-9]+ \(include\)
|
CMakeLists.txt:[0-9]+ \(include\)
|
||||||
|
|||||||
Reference in New Issue
Block a user