[Cmake-commits] CMake branch, next, updated. v2.8.12.1-6483-g5ea6785
Stephen Kelly
steveire at gmail.com
Mon Dec 30 17:39:57 EST 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 5ea678500dd449d6b9d494a8efbf116745d9973f (commit)
via df1840ee66b78202c53ef22f8e2c481657e79e51 (commit)
from 8a33437e6b99f6ad6ebdc35758cfa3cd7538c862 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5ea678500dd449d6b9d494a8efbf116745d9973f
commit 5ea678500dd449d6b9d494a8efbf116745d9973f
Merge: 8a33437 df1840e
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Dec 30 17:39:54 2013 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Dec 30 17:39:54 2013 -0500
Merge topic 'minor-cleanups' into next
df1840e Revert some commits.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=df1840ee66b78202c53ef22f8e2c481657e79e51
commit df1840ee66b78202c53ef22f8e2c481657e79e51
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Dec 30 23:23:25 2013 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Dec 30 23:23:42 2013 +0100
Revert some commits.
diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst
index 12cfaf8..ed28abd 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -55,8 +55,6 @@ otherwise expands to nothing.
``0`` if ``?`` is ``1``, else ``1``
``$<STREQUAL:a,b>``
``1`` if ``a`` is STREQUAL ``b``, else ``0``
-``$<EQUAL:a,b>``
- ``1`` if ``a`` is EQUAL ``b`` in a numeric comparison, else ``0``
``$<CONFIG:cfg>``
``1`` if config is ``cfg``, else ``0``. This is a case-insensitive comparison.
The mapping in :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` is also considered by
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 3329f8a..55c20d6 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -1151,8 +1151,8 @@ void cmFindPackageCommand::AddPrefixesSystemEnvironment()
std::string const& d = *i;
// If the path is a PREFIX/bin case then add its parent instead.
- if((d.size() >= 4 && cmHasLiteralSuffix(d, "/bin")) ||
- (d.size() >= 5 && cmHasLiteralSuffix(d, "/sbin")))
+ if((d.size() >= 4 && strcmp(d.c_str()+d.size()-4, "/bin") == 0) ||
+ (d.size() >= 5 && strcmp(d.c_str()+d.size()-5, "/sbin") == 0))
{
this->AddPathInternal(cmSystemTools::GetFilenamePath(d), EnvPath);
}
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index 83d341e..c8010d0 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -19,7 +19,6 @@
#include <cmsys/String.h>
#include <assert.h>
-#include <errno.h>
//----------------------------------------------------------------------------
#if !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x510
@@ -198,92 +197,6 @@ static const struct StrEqualNode : public cmGeneratorExpressionNode
} strEqualNode;
//----------------------------------------------------------------------------
-static const struct EqualNode : public cmGeneratorExpressionNode
-{
- EqualNode() {}
-
- virtual int NumExpectedParameters() const { return 2; }
-
- std::string Evaluate(const std::vector<std::string> ¶meters,
- cmGeneratorExpressionContext *context,
- const GeneratorExpressionContent *content,
- cmGeneratorExpressionDAGChecker *) const
- {
- char *pEnd;
-
- int base = 0;
- bool flipSign = false;
-
- const char *lhs = parameters[0].c_str();
- if (cmHasLiteralPrefix(lhs, "0b"))
- {
- base = 2;
- lhs += 2;
- }
- if (cmHasLiteralPrefix(lhs, "-0b"))
- {
- base = 2;
- lhs += 3;
- flipSign = true;
- }
- if (cmHasLiteralPrefix(lhs, "+0b"))
- {
- base = 2;
- lhs += 3;
- }
-
- long lnum = strtol(lhs, &pEnd, base);
- if (pEnd == lhs || *pEnd != '\0' || errno == ERANGE)
- {
- reportError(context, content->GetOriginalExpression(),
- "$<EQUAL> parameter " + parameters[0] + " is not a valid integer.");
- return std::string();
- }
-
- if (flipSign)
- {
- lnum = -lnum;
- }
-
- base = 0;
- flipSign = false;
-
- const char *rhs = parameters[1].c_str();
- if (cmHasLiteralPrefix(rhs, "0b"))
- {
- base = 2;
- rhs += 2;
- }
- if (cmHasLiteralPrefix(rhs, "-0b"))
- {
- base = 2;
- rhs += 3;
- flipSign = true;
- }
- if (cmHasLiteralPrefix(rhs, "+0b"))
- {
- base = 2;
- rhs += 3;
- }
-
- long rnum = strtol(rhs, &pEnd, base);
- if (pEnd == rhs || *pEnd != '\0' || errno == ERANGE)
- {
- reportError(context, content->GetOriginalExpression(),
- "$<EQUAL> parameter " + parameters[1] + " is not a valid integer.");
- return std::string();
- }
-
- if (flipSign)
- {
- rnum = -rnum;
- }
-
- return lnum == rnum ? "1" : "0";
- }
-} equalNode;
-
-//----------------------------------------------------------------------------
static const struct LowerCaseNode : public cmGeneratorExpressionNode
{
LowerCaseNode() {}
@@ -1579,8 +1492,6 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier)
return &targetSoNameFileDirNode;
else if (identifier == "STREQUAL")
return &strEqualNode;
- else if (identifier == "EQUAL")
- return &equalNode;
else if (identifier == "LOWER_CASE")
return &lowerCaseNode;
else if (identifier == "UPPER_CASE")
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index bda2a95..227a948 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1309,13 +1309,13 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo()
{
cmTarget* t = &ti->second;
- t->AppendBuildInterfaceIncludes();
-
if (t->GetType() == cmTarget::INTERFACE_LIBRARY)
{
continue;
}
+ t->AppendBuildInterfaceIncludes();
+
for (std::vector<cmValueWithOrigin>::const_iterator it
= noconfig_compile_definitions.begin();
it != noconfig_compile_definitions.end(); ++it)
diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h
index 783afe7..eb6e52f 100644
--- a/Source/cmStandardIncludes.h
+++ b/Source/cmStandardIncludes.h
@@ -391,20 +391,6 @@ inline bool cmHasLiteralPrefixImpl(const char* str1,
return strncmp(str1, str2, N) == 0;
}
-inline bool cmHasLiteralSuffixImpl(const std::string &str1,
- const char *str2,
- size_t N)
-{
- return strcmp(str1.c_str() + str1.size() - N, str2) == 0;
-}
-
-inline bool cmHasLiteralSuffixImpl(const char* str1,
- const char* str2,
- size_t N)
-{
- return strcmp(str1 + strlen(str1) - N, str2) == 0;
-}
-
#if defined(_MSC_VER) && _MSC_VER < 1300 \
|| defined(__GNUC__) && __GNUC__ < 3 \
|| defined(__BORLANDC__)
@@ -416,9 +402,6 @@ inline bool cmHasLiteralSuffixImpl(const char* str1,
#define cmHasLiteralPrefix(STR1, STR2) \
cmHasLiteralPrefixImpl(STR1, "" STR2 "", sizeof(STR2) - 1)
-#define cmHasLiteralSuffix(STR1, STR2) \
- cmHasLiteralSuffixImpl(STR1, "" STR2 "", sizeof(STR2) - 1)
-
#else
template<typename T, size_t N>
@@ -434,12 +417,6 @@ bool cmHasLiteralPrefix(T str1, const char (&str2)[N])
return cmHasLiteralPrefixImpl(str1, str2, N - 1);
}
-template<typename T, size_t N>
-bool cmHasLiteralSuffix(T str1, const char (&str2)[N])
-{
- return cmHasLiteralSuffixImpl(str1, str2, N - 1);
-}
-
#endif
struct cmStrCmp {
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 2b82442..1e1aff5 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -24,7 +24,6 @@
#include <set>
#include <stdlib.h> // required for atof
#include <assert.h>
-#include <errno.h>
const char* cmTarget::GetTargetTypeName(TargetType targetType)
{
@@ -1606,7 +1605,6 @@ void cmTarget::AppendBuildInterfaceIncludes()
if(this->GetType() != cmTarget::SHARED_LIBRARY &&
this->GetType() != cmTarget::STATIC_LIBRARY &&
this->GetType() != cmTarget::MODULE_LIBRARY &&
- this->GetType() != cmTarget::INTERFACE_LIBRARY &&
!this->IsExecutableWithExports())
{
return;
@@ -2689,6 +2687,7 @@ const char *cmTarget::GetProperty(const char* prop,
this->GetType() == cmTarget::STATIC_LIBRARY ||
this->GetType() == cmTarget::SHARED_LIBRARY ||
this->GetType() == cmTarget::MODULE_LIBRARY ||
+ this->GetType() == cmTarget::INTERFACE_LIBRARY ||
this->GetType() == cmTarget::UNKNOWN_LIBRARY)
{
if(strcmp(prop,"LOCATION") == 0)
@@ -2723,6 +2722,25 @@ const char *cmTarget::GetProperty(const char* prop,
this->GetLocation(configName.c_str()),
cmProperty::TARGET);
}
+ else
+ {
+ // Support "<CONFIG>_LOCATION" for compatibility.
+ int len = static_cast<int>(strlen(prop));
+ if(len > 9 && strcmp(prop+len-9, "_LOCATION") == 0)
+ {
+ std::string configName(prop, len-9);
+ if(configName != "IMPORTED")
+ {
+ if (!this->HandleLocationPropertyPolicy())
+ {
+ return 0;
+ }
+ this->Properties.SetProperty(prop,
+ this->GetLocation(configName.c_str()),
+ cmProperty::TARGET);
+ }
+ }
+ }
}
if(strcmp(prop,"INCLUDE_DIRECTORIES") == 0)
{
@@ -4198,23 +4216,20 @@ enum CompatibleType
//----------------------------------------------------------------------------
template<typename PropertyType>
-std::pair<bool, PropertyType> consistentProperty(PropertyType lhs,
- PropertyType rhs,
- CompatibleType t);
+PropertyType consistentProperty(PropertyType lhs, PropertyType rhs,
+ CompatibleType t);
//----------------------------------------------------------------------------
template<>
-std::pair<bool, bool> consistentProperty(bool lhs, bool rhs, CompatibleType)
+bool consistentProperty(bool lhs, bool rhs, CompatibleType)
{
- return std::make_pair(lhs == rhs, lhs);
+ return lhs == rhs;
}
//----------------------------------------------------------------------------
-std::pair<bool, const char*> consistentStringProperty(const char *lhs,
- const char *rhs)
+const char * consistentStringProperty(const char *lhs, const char *rhs)
{
- const bool b = strcmp(lhs, rhs) == 0;
- return std::make_pair(b, b ? lhs : 0);
+ return strcmp(lhs, rhs) == 0 ? lhs : 0;
}
#if defined(_MSC_VER) && _MSC_VER <= 1200
@@ -4228,74 +4243,49 @@ cmMinimum(const T& l, const T& r) {return l < r ? l : r;}
#endif
//----------------------------------------------------------------------------
-std::pair<bool, const char*> consistentNumberProperty(const char *lhs,
- const char *rhs,
- CompatibleType t)
+const char * consistentNumberProperty(const char *lhs, const char *rhs,
+ CompatibleType t)
{
- char *pEnd;
-
-#if defined(_MSC_VER)
- static const char* const null_ptr = 0;
-#else
-# define null_ptr 0
-#endif
-
- long lnum = strtol(lhs, &pEnd, 0);
- if (pEnd == lhs || *pEnd != '\0' || errno == ERANGE)
+ double lnum;
+ double rnum;
+ if(sscanf(lhs, "%lg", &lnum) != 1 ||
+ sscanf(rhs, "%lg", &rnum) != 1)
{
- return std::pair<bool, const char*>(false, null_ptr);
- }
-
- long rnum = strtol(rhs, &pEnd, 0);
- if (pEnd == rhs || *pEnd != '\0' || errno == ERANGE)
- {
- return std::pair<bool, const char*>(false, null_ptr);
+ return 0;
}
-#if !defined(_MSC_VER)
-#undef null_ptr
-#endif
-
if (t == NumberMaxType)
{
- return std::make_pair(true, cmMaximum(lnum, rnum) == lnum ? lhs : rhs);
+ return cmMaximum(lnum, rnum) == lnum ? lhs : rhs;
}
else
{
- return std::make_pair(true, cmMinimum(lnum, rnum) == lnum ? lhs : rhs);
+ return cmMinimum(lnum, rnum) == lnum ? lhs : rhs;
}
}
//----------------------------------------------------------------------------
template<>
-std::pair<bool, const char*> consistentProperty(const char *lhs,
- const char *rhs,
- CompatibleType t)
+const char* consistentProperty(const char *lhs, const char *rhs,
+ CompatibleType t)
{
if (!lhs && !rhs)
{
- return std::make_pair(true, lhs);
+ return "";
}
if (!lhs)
{
- return std::make_pair(true, rhs);
+ return rhs ? rhs : "";
}
if (!rhs)
{
- return std::make_pair(true, lhs);
+ return lhs ? lhs : "";
}
-
-#if defined(_MSC_VER)
- static const char* const null_ptr = 0;
-#else
-# define null_ptr 0
-#endif
-
switch(t)
{
case BoolType:
assert(!"consistentProperty for strings called with BoolType");
- return std::pair<bool, const char*>(false, null_ptr);
+ return 0;
case StringType:
return consistentStringProperty(lhs, rhs);
case NumberMinType:
@@ -4303,12 +4293,7 @@ std::pair<bool, const char*> consistentProperty(const char *lhs,
return consistentNumberProperty(lhs, rhs, t);
}
assert(!"Unreachable!");
- return std::pair<bool, const char*>(false, null_ptr);
-
-#if !defined(_MSC_VER)
-#undef null_ptr
-#endif
-
+ return 0;
}
template<typename PropertyType>
@@ -4493,12 +4478,11 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget const* tgt,
{
if (ifaceIsSet)
{
- std::pair<bool, PropertyType> consistent =
- consistentProperty(propContent,
+ PropertyType consistent = consistentProperty(propContent,
ifacePropContent, t);
report += reportEntry;
- report += compatibilityAgree(t, propContent != consistent.second);
- if (!consistent.first)
+ report += compatibilityAgree(t, propContent != consistent);
+ if (!consistent)
{
cmOStringStream e;
e << "Property " << p << " on target \""
@@ -4510,7 +4494,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget const* tgt,
}
else
{
- propContent = consistent.second;
+ propContent = consistent;
continue;
}
}
@@ -4524,14 +4508,19 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget const* tgt,
{
propContent = impliedValue<PropertyType>(propContent);
+ reportEntry += " * Target \"";
+ reportEntry += li->Target->GetName();
+ reportEntry += "\" property value \"";
+ reportEntry += valueAsString<PropertyType>(propContent);
+ reportEntry += "\" ";
+
if (ifaceIsSet)
{
- std::pair<bool, PropertyType> consistent =
- consistentProperty(propContent,
+ PropertyType consistent = consistentProperty(propContent,
ifacePropContent, t);
report += reportEntry;
- report += compatibilityAgree(t, propContent != consistent.second);
- if (!consistent.first)
+ report += compatibilityAgree(t, propContent != consistent);
+ if (!consistent)
{
cmOStringStream e;
e << "Property " << p << " on target \""
@@ -4544,7 +4533,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget const* tgt,
}
else
{
- propContent = consistent.second;
+ propContent = consistent;
continue;
}
}
@@ -4560,12 +4549,11 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget const* tgt,
{
if (propInitialized)
{
- std::pair<bool, PropertyType> consistent =
- consistentProperty(propContent,
+ PropertyType consistent = consistentProperty(propContent,
ifacePropContent, t);
report += reportEntry;
- report += compatibilityAgree(t, propContent != consistent.second);
- if (!consistent.first)
+ report += compatibilityAgree(t, propContent != consistent);
+ if (!consistent)
{
cmOStringStream e;
e << "The INTERFACE_" << p << " property of \""
@@ -4577,7 +4565,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget const* tgt,
}
else
{
- propContent = consistent.second;
+ propContent = consistent;
continue;
}
}
diff --git a/Tests/CompatibleInterface/CMakeLists.txt b/Tests/CompatibleInterface/CMakeLists.txt
index 350b518..5e64d2a 100644
--- a/Tests/CompatibleInterface/CMakeLists.txt
+++ b/Tests/CompatibleInterface/CMakeLists.txt
@@ -24,8 +24,6 @@ set_property(TARGET iface1 APPEND PROPERTY
COMPATIBLE_INTERFACE_NUMBER_MIN
NUMBER_MIN_PROP1
NUMBER_MIN_PROP2
- NUMBER_MIN_PROP3
- NUMBER_MIN_PROP4
)
set_property(TARGET iface1 APPEND PROPERTY
COMPATIBLE_INTERFACE_NUMBER_MAX
@@ -36,7 +34,7 @@ set_property(TARGET iface1 APPEND PROPERTY
set(CMAKE_DEBUG_TARGET_PROPERTIES
BOOL_PROP1 BOOL_PROP2 BOOL_PROP3 BOOL_PROP4
STRING_PROP1 STRING_PROP2 STRING_PROP3
- NUMBER_MIN_PROP1 NUMBER_MIN_PROP2 NUMBER_MIN_PROP3 NUMBER_MIN_PROP4
+ NUMBER_MIN_PROP1 NUMBER_MIN_PROP2
NUMBER_MAX_PROP1 NUMBER_MAX_PROP2
)
@@ -46,8 +44,6 @@ set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP1 prop1)
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP2 prop2)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP1 100)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP2 200)
-set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP3 0x10)
-set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP4 0x10)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP1 100)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP2 200)
@@ -60,8 +56,6 @@ set_property(TARGET CompatibleInterface PROPERTY STRING_PROP2 prop2)
set_property(TARGET CompatibleInterface PROPERTY STRING_PROP3 prop3)
set_property(TARGET CompatibleInterface PROPERTY NUMBER_MIN_PROP1 50)
set_property(TARGET CompatibleInterface PROPERTY NUMBER_MIN_PROP2 250)
-set_property(TARGET CompatibleInterface PROPERTY NUMBER_MIN_PROP3 0xa)
-set_property(TARGET CompatibleInterface PROPERTY NUMBER_MIN_PROP4 0x1A)
set_property(TARGET CompatibleInterface PROPERTY NUMBER_MAX_PROP1 50)
set_property(TARGET CompatibleInterface PROPERTY NUMBER_MAX_PROP2 250)
@@ -75,8 +69,6 @@ target_compile_definitions(CompatibleInterface
$<$<STREQUAL:$<TARGET_PROPERTY:STRING_PROP3>,prop3>:STRING_PROP3>
$<$<STREQUAL:$<TARGET_PROPERTY:NUMBER_MIN_PROP1>,50>:NUMBER_MIN_PROP1=50>
$<$<STREQUAL:$<TARGET_PROPERTY:NUMBER_MIN_PROP2>,200>:NUMBER_MIN_PROP2=200>
- $<$<EQUAL:$<TARGET_PROPERTY:NUMBER_MIN_PROP3>,0xA>:NUMBER_MIN_PROP3=0xA>
- $<$<STREQUAL:$<TARGET_PROPERTY:NUMBER_MIN_PROP4>,0x10>:NUMBER_MIN_PROP4=0x10>
$<$<STREQUAL:$<TARGET_PROPERTY:NUMBER_MAX_PROP1>,100>:NUMBER_MAX_PROP1=100>
$<$<STREQUAL:$<TARGET_PROPERTY:NUMBER_MAX_PROP2>,250>:NUMBER_MAX_PROP2=250>
)
diff --git a/Tests/CompatibleInterface/main.cpp b/Tests/CompatibleInterface/main.cpp
index e23625a..fa299e9 100644
--- a/Tests/CompatibleInterface/main.cpp
+++ b/Tests/CompatibleInterface/main.cpp
@@ -33,9 +33,7 @@ enum {
NumericMaxTest1 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP1 == 100>),
NumericMaxTest2 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP2 == 250>),
NumericMinTest1 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP1 == 50>),
- NumericMinTest2 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP2 == 200>),
- NumericMinTest3 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP3 == 0xA>),
- NumericMinTest4 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP4 == 0x10>)
+ NumericMinTest2 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP2 == 200>)
};
#include "iface2.h"
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index 4fb7ecd..892f80f 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -196,27 +196,6 @@ add_custom_target(check-part3 ALL
-Dlower_case=$<LOWER_CASE:Mi,XeD>
-Dupper_case=$<UPPER_CASE:MiX,eD>
-Dmake_c_identifier=$<MAKE_C_IDENTIFIER:4f,oo:+bar-$>
- -Dequal1=$<EQUAL:1,2>
- -Dequal2=$<EQUAL:1,1>
- -Dequal3=$<EQUAL:0x1,1>
- -Dequal4=$<EQUAL:0x1,2>
- -Dequal5=$<EQUAL:0xA,0xa>
- -Dequal6=$<EQUAL:0xA,10>
- -Dequal7=$<EQUAL:0xA,012>
- -Dequal8=$<EQUAL:10,012>
- -Dequal9=$<EQUAL:10,010>
- -Dequal10=$<EQUAL:10,0b1010>
- -Dequal11=$<EQUAL:-10,-0xa>
- -Dequal12=$<EQUAL:10,+0xa>
- -Dequal13=$<EQUAL:+10,+0xa>
- -Dequal14=$<EQUAL:+10,0xa>
- -Dequal15=$<EQUAL:-10,-0xa>
- -Dequal16=$<EQUAL:-10,-0b1010>
- -Dequal17=$<EQUAL:-10,+0b1010>
- -Dequal18=$<EQUAL:10,+0b1010>
- -Dequal19=$<EQUAL:10,+012>
- -Dequal20=$<EQUAL:10,-012>
- -Dequal21=$<EQUAL:-10,-012>
-P ${CMAKE_CURRENT_SOURCE_DIR}/check-part3.cmake
COMMAND ${CMAKE_COMMAND} -E echo "check done (part 3 of 3)"
VERBATIM
diff --git a/Tests/GeneratorExpression/check-part3.cmake b/Tests/GeneratorExpression/check-part3.cmake
index 2c6bf49..3361eeb 100644
--- a/Tests/GeneratorExpression/check-part3.cmake
+++ b/Tests/GeneratorExpression/check-part3.cmake
@@ -37,24 +37,3 @@ endforeach()
check(lower_case "mi,xed")
check(upper_case "MIX,ED")
check(make_c_identifier "_4f_oo__bar__")
-check(equal1 "0")
-check(equal2 "1")
-check(equal3 "1")
-check(equal4 "0")
-check(equal5 "1")
-check(equal6 "1")
-check(equal7 "1")
-check(equal8 "1")
-check(equal9 "0")
-check(equal10 "1")
-check(equal11 "1")
-check(equal12 "1")
-check(equal13 "1")
-check(equal14 "1")
-check(equal15 "1")
-check(equal16 "1")
-check(equal17 "0")
-check(equal18 "1")
-check(equal19 "1")
-check(equal20 "0")
-check(equal21 "1")
diff --git a/Tests/InterfaceLibrary/CMakeLists.txt b/Tests/InterfaceLibrary/CMakeLists.txt
index 396a84a..8154ced 100644
--- a/Tests/InterfaceLibrary/CMakeLists.txt
+++ b/Tests/InterfaceLibrary/CMakeLists.txt
@@ -6,10 +6,8 @@ project(InterfaceLibrary)
add_library(iface_nodepends INTERFACE)
target_compile_definitions(iface_nodepends INTERFACE IFACE_DEFINE)
-add_subdirectory(headerdir)
-
add_executable(InterfaceLibrary definetestexe.cpp)
-target_link_libraries(InterfaceLibrary iface_nodepends headeriface)
+target_link_libraries(InterfaceLibrary iface_nodepends)
add_subdirectory(libsdir)
diff --git a/Tests/InterfaceLibrary/definetestexe.cpp b/Tests/InterfaceLibrary/definetestexe.cpp
index e7a10c1..decd37c 100644
--- a/Tests/InterfaceLibrary/definetestexe.cpp
+++ b/Tests/InterfaceLibrary/definetestexe.cpp
@@ -3,18 +3,6 @@
#error Expected IFACE_DEFINE
#endif
-#include "iface_header.h"
-
-#ifndef IFACE_HEADER_SRCDIR
-#error Expected IFACE_HEADER_SRCDIR
-#endif
-
-#include "iface_header_builddir.h"
-
-#ifndef IFACE_HEADER_BUILDDIR
-#error Expected IFACE_HEADER_BUILDDIR
-#endif
-
int main(int,char**)
{
return 0;
diff --git a/Tests/InterfaceLibrary/headerdir/CMakeLists.txt b/Tests/InterfaceLibrary/headerdir/CMakeLists.txt
deleted file mode 100644
index 98f521e..0000000
--- a/Tests/InterfaceLibrary/headerdir/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
-
-add_library(headeriface INTERFACE)
-
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/iface_header_builddir.h"
- "#define IFACE_HEADER_BUILDDIR\n"
-)
diff --git a/Tests/InterfaceLibrary/headerdir/iface_header.h b/Tests/InterfaceLibrary/headerdir/iface_header.h
deleted file mode 100644
index 82dd157..0000000
--- a/Tests/InterfaceLibrary/headerdir/iface_header.h
+++ /dev/null
@@ -1 +0,0 @@
-#define IFACE_HEADER_SRCDIR
diff --git a/Tests/RunCMake/CompatibleInterface/DebugProperties-stderr.txt b/Tests/RunCMake/CompatibleInterface/DebugProperties-stderr.txt
index e3efe28..3027266 100644
--- a/Tests/RunCMake/CompatibleInterface/DebugProperties-stderr.txt
+++ b/Tests/RunCMake/CompatibleInterface/DebugProperties-stderr.txt
@@ -32,21 +32,6 @@ CMake Debug Log:
\* Target "iface1" property value "FALSE" \(Interface set\)
+
CMake Debug Log:
- Boolean compatibility of property "BOOL_PROP6" for target
- "CompatibleInterface" \(result: "FALSE"\):
-
- \* Target "CompatibleInterface" property not set.
- \* Target "iface1" property value "FALSE" \(Interface set\)
- \* Target "iface2" property value "FALSE" \(Agree\)
-+
-CMake Debug Log:
- Boolean compatibility of property "BOOL_PROP7" for target
- "CompatibleInterface" \(result: "FALSE"\):
-
- \* Target "CompatibleInterface" property is implied by use.
- \* Target "iface1" property value "FALSE" \(Agree\)
-+
-CMake Debug Log:
String compatibility of property "STRING_PROP1" for target
"CompatibleInterface" \(result: "prop1"\):
diff --git a/Tests/RunCMake/CompatibleInterface/DebugProperties.cmake b/Tests/RunCMake/CompatibleInterface/DebugProperties.cmake
index 42a3af2..24ffd5f 100644
--- a/Tests/RunCMake/CompatibleInterface/DebugProperties.cmake
+++ b/Tests/RunCMake/CompatibleInterface/DebugProperties.cmake
@@ -14,8 +14,6 @@ set_property(TARGET iface1 APPEND PROPERTY
BOOL_PROP3
BOOL_PROP4
BOOL_PROP5
- BOOL_PROP6
- BOOL_PROP7
)
set_property(TARGET iface1 APPEND PROPERTY
COMPATIBLE_INTERFACE_STRING
@@ -35,7 +33,7 @@ set_property(TARGET iface1 APPEND PROPERTY
)
set(CMAKE_DEBUG_TARGET_PROPERTIES
- BOOL_PROP1 BOOL_PROP2 BOOL_PROP3 BOOL_PROP4 BOOL_PROP5 BOOL_PROP6 BOOL_PROP7
+ BOOL_PROP1 BOOL_PROP2 BOOL_PROP3 BOOL_PROP4 BOOL_PROP5
STRING_PROP1 STRING_PROP2 STRING_PROP3
NUMBER_MIN_PROP1 NUMBER_MIN_PROP2
NUMBER_MAX_PROP1 NUMBER_MAX_PROP2
@@ -44,8 +42,6 @@ set(CMAKE_DEBUG_TARGET_PROPERTIES
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP1 ON)
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP2 ON)
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP5 OFF)
-set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP6 OFF)
-set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP7 OFF)
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP1 prop1)
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP2 prop2)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP1 100)
@@ -53,15 +49,8 @@ set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP2 200)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP1 100)
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP2 200)
-add_library(iface2 INTERFACE)
-set_property(TARGET iface2 PROPERTY INTERFACE_BOOL_PROP6 OFF)
-
-add_library(iface3 INTERFACE)
-
add_executable(CompatibleInterface empty.cpp)
-target_link_libraries(CompatibleInterface iface1 iface2
- $<$<BOOL:$<TARGET_PROPERTY:BOOL_PROP7>>:iface3>
-)
+target_link_libraries(CompatibleInterface iface1)
set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP2 ON)
set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP3 ON)
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-result.txt b/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-stderr.txt b/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-stderr.txt
deleted file mode 100644
index 723daec..0000000
--- a/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-stderr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-CMake Error: Property SOMEPROP on target "user" is
-implied to be empty because it was used to determine the link libraries
-already. The INTERFACE_SOMEPROP property on
-dependency "foo" is in conflict.
diff --git a/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use.cmake b/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use.cmake
deleted file mode 100644
index a064d76..0000000
--- a/Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-
-add_library(foo UNKNOWN IMPORTED)
-add_library(bar UNKNOWN IMPORTED)
-
-set_property(TARGET foo APPEND PROPERTY COMPATIBLE_INTERFACE_NUMBER_MIN SOMEPROP)
-set_property(TARGET foo PROPERTY INTERFACE_SOMEPROP 42)
-
-add_executable(user main.cpp)
-target_link_libraries(user foo $<$<STREQUAL:$<TARGET_PROPERTY:SOMEPROP>,42>:bar>)
diff --git a/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake b/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake
index 0b9729b..ec52e5f 100644
--- a/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CompatibleInterface/RunCMakeTest.cmake
@@ -7,7 +7,6 @@ run_cmake(InterfaceBool-builtin-prop)
run_cmake(InterfaceString-mismatch-depends)
run_cmake(InterfaceString-mismatch-depend-self)
run_cmake(InterfaceString-mismatched-use)
-run_cmake(InterfaceNumber-mismatched-use)
run_cmake(InterfaceString-builtin-prop)
run_cmake(InterfaceString-Bool-Conflict)
run_cmake(InterfaceString-Bool-Min-Conflict)
-----------------------------------------------------------------------
Summary of changes:
Help/manual/cmake-generator-expressions.7.rst | 2 -
Source/cmFindPackageCommand.cxx | 4 +-
Source/cmGeneratorExpressionEvaluator.cxx | 89 -------------
Source/cmGlobalGenerator.cxx | 4 +-
Source/cmStandardIncludes.h | 23 ----
Source/cmTarget.cxx | 132 +++++++++-----------
Tests/CompatibleInterface/CMakeLists.txt | 10 +--
Tests/CompatibleInterface/main.cpp | 4 +-
Tests/GeneratorExpression/CMakeLists.txt | 21 ---
Tests/GeneratorExpression/check-part3.cmake | 21 ---
Tests/InterfaceLibrary/CMakeLists.txt | 4 +-
Tests/InterfaceLibrary/definetestexe.cpp | 12 --
Tests/InterfaceLibrary/headerdir/CMakeLists.txt | 8 --
Tests/InterfaceLibrary/headerdir/iface_header.h | 1 -
.../CompatibleInterface/DebugProperties-stderr.txt | 15 ---
.../CompatibleInterface/DebugProperties.cmake | 15 +--
.../InterfaceNumber-mismatched-use-result.txt | 1 -
.../InterfaceNumber-mismatched-use-stderr.txt | 4 -
.../InterfaceNumber-mismatched-use.cmake | 9 --
.../CompatibleInterface/RunCMakeTest.cmake | 1 -
20 files changed, 69 insertions(+), 311 deletions(-)
delete mode 100644 Tests/InterfaceLibrary/headerdir/CMakeLists.txt
delete mode 100644 Tests/InterfaceLibrary/headerdir/iface_header.h
delete mode 100644 Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-result.txt
delete mode 100644 Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use-stderr.txt
delete mode 100644 Tests/RunCMake/CompatibleInterface/InterfaceNumber-mismatched-use.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list