![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package cmake for openSUSE:Factory checked in at 2013-06-11 06:25:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cmake (Old) and /work/SRC/openSUSE:Factory/.cmake.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "cmake" Changes: -------- --- /work/SRC/openSUSE:Factory/cmake/cmake-gui.changes 2013-05-27 09:43:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.cmake.new/cmake-gui.changes 2013-06-11 09:26:06.000000000 +0200 @@ -1,0 +2,20 @@ +Sat Jun 8 08:16:43 UTC 2013 - cgiboudeaux@gmx.com + +- Update to 2.8.11.1 + * ExternalData: Do not re-stage staged object files + * try_compile: Fix quoting of libraries in generated CMakeLists.txt + * KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176) + * FindBoost: Fix handling of \ in input paths (#14179) + * Xcode: Fix framework search paths in STATIC library targets (#14191) + * Fix test failures caused by regexp-sensitive characters in the build paths + * include_directories: Fix handling of empty or space-only entries + * try_compile: Trim whitespace from LINK_LIBRARIES entries + * cmTarget: Remove some hardcoding of transitive property names. + * GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode. + * GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property. + * GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property. + * FindQt4: Don't fail if certain Qt modules are unavailable. + * Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules. + * Genex: Fix the HEAD target used for evaluated expressions + +------------------------------------------------------------------- cmake.changes: same change Old: ---- cmake-2.8.11.tar.gz New: ---- cmake-2.8.11.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cmake-gui.spec ++++++ --- /var/tmp/diff_new_pack.lWyeKG/_old 2013-06-11 09:26:07.000000000 +0200 +++ /var/tmp/diff_new_pack.lWyeKG/_new 2013-06-11 09:26:07.000000000 +0200 @@ -17,7 +17,7 @@ Name: cmake-gui -Version: 2.8.11 +Version: 2.8.11.1 Release: 0 Url: http://www.cmake.org/ Source0: http://www.cmake.org/files/v2.8/cmake-%{version}.tar.gz ++++++ cmake.spec ++++++ --- /var/tmp/diff_new_pack.lWyeKG/_old 2013-06-11 09:26:07.000000000 +0200 +++ /var/tmp/diff_new_pack.lWyeKG/_new 2013-06-11 09:26:07.000000000 +0200 @@ -17,7 +17,7 @@ Name: cmake -Version: 2.8.11 +Version: 2.8.11.1 Release: 0 Url: http://www.cmake.org/ Source0: http://www.cmake.org/files/v2.8/%{name}-%{version}.tar.gz ++++++ cmake-2.8.11.tar.gz -> cmake-2.8.11.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/ChangeLog.manual new/cmake-2.8.11.1/ChangeLog.manual --- old/cmake-2.8.11/ChangeLog.manual 2013-05-15 19:38:12.000000000 +0200 +++ new/cmake-2.8.11.1/ChangeLog.manual 2013-06-07 17:21:33.000000000 +0200 @@ -1,3 +1,26 @@ +Changes in CMake 2.8.11.1 (since 2.8.11) +---------------------------------------- +Brad King (5): + ExternalData: Do not re-stage staged object files + try_compile: Fix quoting of libraries in generated CMakeLists.txt + KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176) + FindBoost: Fix handling of \ in input paths (#14179) + Xcode: Fix framework search paths in STATIC library targets (#14191) + +Modestas Vainius (1): + Fix test failures caused by regexp-sensitive characters in the build paths + +Stephen Kelly (9): + include_directories: Fix handling of empty or space-only entries + try_compile: Trim whitespace from LINK_LIBRARIES entries + cmTarget: Remove some hardcoding of transitive property names. + GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode. + GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property. + GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property. + FindQt4: Don't fail if certain Qt modules are unavailable. + Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules. + Genex: Fix the HEAD target used for evaluated expressions + Changes in CMake 2.8.11 (since 2.8.11-rc4) ---------------------------------------- None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Modules/ExternalData.cmake new/cmake-2.8.11.1/Modules/ExternalData.cmake --- old/cmake-2.8.11/Modules/ExternalData.cmake 2013-05-15 19:38:12.000000000 +0200 +++ new/cmake-2.8.11.1/Modules/ExternalData.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -551,7 +551,10 @@ set(relname "${entry}") set(alg "") endif() - if("x${relname}" MATCHES "^x${regex}$" AND NOT IS_DIRECTORY "${top_src}/${entry}") + if("x${relname}" MATCHES "^x${regex}$" # matches + AND NOT IS_DIRECTORY "${top_src}/${entry}" # not a directory + AND NOT "x${relname}" MATCHES "(^x|/)\\.ExternalData_" # not staged obj + ) set(name "${top_src}/${relname}") set(file "${top_bin}/${relname}") if(alg) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Modules/FindBoost.cmake new/cmake-2.8.11.1/Modules/FindBoost.cmake --- old/cmake-2.8.11/Modules/FindBoost.cmake 2013-05-15 19:38:12.000000000 +0200 +++ new/cmake-2.8.11.1/Modules/FindBoost.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -928,9 +928,13 @@ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " "Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}") endif() + + # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing. + string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS}") + _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE NAMES ${_boost_RELEASE_NAMES} - HINTS ${_boost_LIBRARY_SEARCH_DIRS} + HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp} NAMES_PER_DIR DOC "${_boost_docstring_release}" ) @@ -960,9 +964,13 @@ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " "Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}") endif() + + # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing. + string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS}") + _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG NAMES ${_boost_DEBUG_NAMES} - HINTS ${_boost_LIBRARY_SEARCH_DIRS} + HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp} NAMES_PER_DIR DOC "${_boost_docstring_debug}" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Modules/FindQt4.cmake new/cmake-2.8.11.1/Modules/FindQt4.cmake --- old/cmake-2.8.11/Modules/FindQt4.cmake 2013-05-15 19:38:12.000000000 +0200 +++ new/cmake-2.8.11.1/Modules/FindQt4.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -881,16 +881,20 @@ endforeach() if(Q_WS_WIN) - set(QT_MODULES ${QT_MODULES} QAxContainer QAxServer) - # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR - find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt - PATHS ${QT_HEADERS_DIR}/ActiveQt - NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH - ) - find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt - PATHS ${QT_HEADERS_DIR}/ActiveQt - NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH - ) + if (QT_QAXCONTAINER_FOUND) + set(QT_MODULES ${QT_MODULES} QAxContainer) + # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR + find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt + PATHS ${QT_HEADERS_DIR}/ActiveQt + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + endif() + if (QT_QAXSERVER_FOUND) + find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt + PATHS ${QT_HEADERS_DIR}/ActiveQt + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + endif() endif() # Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR @@ -1051,14 +1055,18 @@ if(Q_WS_WIN) _QT4_ADJUST_LIB_VARS(qtmain) - _QT4_ADJUST_LIB_VARS(QAxServer) - set_property(TARGET Qt4::QAxServer PROPERTY - INTERFACE_QT4_NO_LINK_QTMAIN ON - ) - set_property(TARGET Qt4::QAxServer APPEND PROPERTY - COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN) + if(QT_QAXSERVER_FOUND) + _QT4_ADJUST_LIB_VARS(QAxServer) + set_property(TARGET Qt4::QAxServer PROPERTY + INTERFACE_QT4_NO_LINK_QTMAIN ON + ) + set_property(TARGET Qt4::QAxServer APPEND PROPERTY + COMPATIBLE_INTERFACE_BOOL QT4_NO_LINK_QTMAIN) + endif() - _QT4_ADJUST_LIB_VARS(QAxContainer) + if(QT_QAXCONTAINER_FOUND) + _QT4_ADJUST_LIB_VARS(QAxContainer) + endif() endif() # Only public dependencies are listed here. @@ -1080,7 +1088,9 @@ _qt4_add_target_depends(QtWebKit Gui Network) _qt4_add_target_private_depends(Qt3Support Xml) - _qt4_add_target_private_depends(QtSvg Xml) + if(QT_VERSION VERSION_GREATER 4.6) + _qt4_add_target_private_depends(QtSvg Xml) + endif() _qt4_add_target_private_depends(QtDBus Xml) _qt4_add_target_private_depends(QtUiTools Xml Gui) _qt4_add_target_private_depends(QtHelp Sql Xml Network) @@ -1090,8 +1100,12 @@ _qt4_add_target_private_depends(QtDeclarative XmlPatterns Svg Sql Gui) _qt4_add_target_private_depends(QtMultimedia Gui) _qt4_add_target_private_depends(QtOpenGL Gui) - _qt4_add_target_private_depends(QAxServer Gui) - _qt4_add_target_private_depends(QAxContainer Gui) + if(QT_QAXSERVER_FOUND) + _qt4_add_target_private_depends(QAxServer Gui) + endif() + if(QT_QAXCONTAINER_FOUND) + _qt4_add_target_private_depends(QAxContainer Gui) + endif() _qt4_add_target_private_depends(phonon Gui) if(QT_QTDBUS_FOUND) _qt4_add_target_private_depends(phonon DBus) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Modules/Qt4Macros.cmake new/cmake-2.8.11.1/Modules/Qt4Macros.cmake --- old/cmake-2.8.11/Modules/Qt4Macros.cmake 2013-05-15 19:38:12.000000000 +0200 +++ new/cmake-2.8.11.1/Modules/Qt4Macros.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -451,14 +451,22 @@ endif() foreach(_module ${modules}) string(TOUPPER ${_module} _ucmodule) - if (NOT QT_QT${_ucmodule}_FOUND) - message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") + set(_targetPrefix QT_QT${_ucmodule}) + if (_ucmodule STREQUAL QAXCONTAINER OR _ucmodule STREQUAL QAXSERVER) + if (NOT QT_Q${_ucmodule}_FOUND) + message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") + endif() + set(_targetPrefix QT_Q${_ucmodule}) + else() + if (NOT QT_QT${_ucmodule}_FOUND) + message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") + endif() + if ("${_ucmodule}" STREQUAL "MAIN") + message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.") + endif() endif() - if ("${_ucmodule}" STREQUAL "MAIN") - message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.") - endif() - target_link_libraries(${_target} ${link_type} ${QT_QT${_ucmodule}_LIBRARY}) - set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${QT_QT${_ucmodule}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default) - set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${QT_QT${_ucmodule}_COMPILE_DEFINITIONS}) + target_link_libraries(${_target} ${link_type} ${${_targetPrefix}_LIBRARIES}) + set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${${_targetPrefix}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default) + set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${${_targetPrefix}_COMPILE_DEFINITIONS}) endforeach() endfunction() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Source/CMakeVersion.cmake new/cmake-2.8.11.1/Source/CMakeVersion.cmake --- old/cmake-2.8.11/Source/CMakeVersion.cmake 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Source/CMakeVersion.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -2,5 +2,5 @@ set(CMake_VERSION_MAJOR 2) set(CMake_VERSION_MINOR 8) set(CMake_VERSION_PATCH 11) -set(CMake_VERSION_TWEAK 0) +set(CMake_VERSION_TWEAK 1) #set(CMake_VERSION_RC 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Source/cmCoreTryCompile.cxx new/cmake-2.8.11.1/Source/cmCoreTryCompile.cxx --- old/cmake-2.8.11/Source/cmCoreTryCompile.cxx 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Source/cmCoreTryCompile.cxx 2013-06-07 17:21:34.000000000 +0200 @@ -111,7 +111,7 @@ ++i) { extraArgs++; - libsToLink += argv[i] + " "; + libsToLink += "\"" + cmSystemTools::TrimWhitespace(argv[i]) + "\" "; cmTarget *tgt = this->Makefile->FindTargetToUse(argv[i].c_str()); if (!tgt) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Source/cmGeneratorExpressionEvaluator.cxx new/cmake-2.8.11.1/Source/cmGeneratorExpressionEvaluator.cxx --- old/cmake-2.8.11/Source/cmGeneratorExpressionEvaluator.cxx 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Source/cmGeneratorExpressionEvaluator.cxx 2013-06-07 17:21:34.000000000 +0200 @@ -313,6 +313,60 @@ , "INTERFACE_COMPILE_DEFINITIONS" }; +std::string getLinkedTargetsContent(const std::vector<std::string> &libraries, + cmTarget *target, + cmTarget *headTarget, + cmGeneratorExpressionContext *context, + cmGeneratorExpressionDAGChecker *dagChecker, + const std::string &interfacePropertyName) +{ + cmGeneratorExpression ge(context->Backtrace); + + std::string sep; + std::string depString; + for (std::vector<std::string>::const_iterator + it = libraries.begin(); + it != libraries.end(); ++it) + { + if (*it == target->GetName()) + { + // Broken code can have a target in its own link interface. + // Don't follow such link interface entries so as not to create a + // self-referencing loop. + continue; + } + if (context->Makefile->FindTargetToUse(it->c_str())) + { + depString += + sep + "$<TARGET_PROPERTY:" + *it + "," + interfacePropertyName + ">"; + sep = ";"; + } + } + cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(depString); + std::string linkedTargetsContent = cge->Evaluate(context->Makefile, + context->Config, + context->Quiet, + headTarget, + target, + dagChecker); + if (cge->GetHadContextSensitiveCondition()) + { + context->HadContextSensitiveCondition = true; + } + return linkedTargetsContent; +} + +//---------------------------------------------------------------------------- +struct TransitiveWhitelistCompare +{ + explicit TransitiveWhitelistCompare(const std::string &needle) + : Needle(needle) {} + bool operator() (const char *item) + { return strcmp(item, this->Needle.c_str()) == 0; } +private: + std::string Needle; +}; + //---------------------------------------------------------------------------- static const struct TargetPropertyNode : public cmGeneratorExpressionNode { @@ -485,49 +539,40 @@ interfacePropertyName = "INTERFACE_COMPILE_DEFINITIONS"; } - if (interfacePropertyName == "INTERFACE_INCLUDE_DIRECTORIES" - || interfacePropertyName == "INTERFACE_COMPILE_DEFINITIONS") + cmTarget *headTarget = context->HeadTarget ? context->HeadTarget : target; + + const char **transBegin = targetPropertyTransitiveWhitelist; + const char **transEnd = targetPropertyTransitiveWhitelist + + (sizeof(targetPropertyTransitiveWhitelist) / + sizeof(*targetPropertyTransitiveWhitelist)); + if (std::find_if(transBegin, transEnd, + TransitiveWhitelistCompare(propertyName)) != transEnd) { const cmTarget::LinkInterface *iface = target->GetLinkInterface( context->Config, - context->HeadTarget); + headTarget); if(iface) { - cmGeneratorExpression ge(context->Backtrace); - - std::string sep; - std::string depString; - for (std::vector<std::string>::const_iterator - it = iface->Libraries.begin(); - it != iface->Libraries.end(); ++it) - { - if (*it == target->GetName()) - { - // Broken code can have a target in its own link interface. - // Don't follow such link interface entries so as not to create a - // self-referencing loop. - continue; - } - if (context->Makefile->FindTargetToUse(it->c_str())) - { - depString += - sep + "$<TARGET_PROPERTY:" + *it + "," - + interfacePropertyName + ">"; - sep = ";"; - } - } - cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = - ge.Parse(depString); - linkedTargetsContent = cge->Evaluate(context->Makefile, - context->Config, - context->Quiet, - context->HeadTarget, - target, - &dagChecker); - if (cge->GetHadContextSensitiveCondition()) - { - context->HadContextSensitiveCondition = true; - } + linkedTargetsContent = + getLinkedTargetsContent(iface->Libraries, target, + headTarget, + context, &dagChecker, + interfacePropertyName); + } + } + else if (std::find_if(transBegin, transEnd, + TransitiveWhitelistCompare(interfacePropertyName)) != transEnd) + { + const cmTarget::LinkImplementation *impl = target->GetLinkImplementation( + context->Config, + headTarget); + if(impl) + { + linkedTargetsContent = + getLinkedTargetsContent(impl->Libraries, target, + headTarget, + context, &dagChecker, + interfacePropertyName); } } @@ -574,7 +619,7 @@ std::string result = cge->Evaluate(context->Makefile, context->Config, context->Quiet, - context->HeadTarget, + headTarget, target, &dagChecker); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Source/cmGlobalXCodeGenerator.cxx new/cmake-2.8.11.1/Source/cmGlobalXCodeGenerator.cxx --- old/cmake-2.8.11/Source/cmGlobalXCodeGenerator.cxx 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Source/cmGlobalXCodeGenerator.cxx 2013-06-07 17:21:34.000000000 +0200 @@ -2028,20 +2028,16 @@ dirs.Add(incpath.c_str()); } } - if(target.GetType() != cmTarget::OBJECT_LIBRARY && - target.GetType() != cmTarget::STATIC_LIBRARY) + // Add framework search paths needed for linking. + if(cmComputeLinkInformation* cli = target.GetLinkInformation(configName)) { - // Add framework search paths needed for linking. - if(cmComputeLinkInformation* cli = target.GetLinkInformation(configName)) + std::vector<std::string> const& fwDirs = cli->GetFrameworkPaths(); + for(std::vector<std::string>::const_iterator fdi = fwDirs.begin(); + fdi != fwDirs.end(); ++fdi) { - std::vector<std::string> const& fwDirs = cli->GetFrameworkPaths(); - for(std::vector<std::string>::const_iterator fdi = fwDirs.begin(); - fdi != fwDirs.end(); ++fdi) + if(emitted.insert(*fdi).second) { - if(emitted.insert(*fdi).second) - { - fdirs.Add(this->XCodeEscapePath(fdi->c_str()).c_str()); - } + fdirs.Add(this->XCodeEscapePath(fdi->c_str()).c_str()); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Source/cmIncludeDirectoryCommand.cxx new/cmake-2.8.11.1/Source/cmIncludeDirectoryCommand.cxx --- old/cmake-2.8.11/Source/cmIncludeDirectoryCommand.cxx 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Source/cmIncludeDirectoryCommand.cxx 2013-06-07 17:21:34.000000000 +0200 @@ -116,13 +116,19 @@ { std::string inc = arg.substr(lastPos,pos); this->NormalizeInclude(inc); - incs.push_back(inc); + if (!inc.empty()) + { + incs.push_back(inc); + } } lastPos = pos + 1; } std::string inc = arg.substr(lastPos); this->NormalizeInclude(inc); - incs.push_back(inc); + if (!inc.empty()) + { + incs.push_back(inc); + } } void cmIncludeDirectoryCommand::NormalizeInclude(std::string &inc) @@ -133,6 +139,11 @@ { inc.assign(inc, b, 1+e-b); // copy the remaining substring } + else + { + inc = ""; + return; + } if (!cmSystemTools::IsOff(inc.c_str())) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Source/kwsys/SystemTools.cxx new/cmake-2.8.11.1/Source/kwsys/SystemTools.cxx --- old/cmake-2.8.11/Source/kwsys/SystemTools.cxx 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Source/kwsys/SystemTools.cxx 2013-06-07 17:21:34.000000000 +0200 @@ -2742,14 +2742,23 @@ } // Remove any trailing slash from the name. - char buffer[KWSYS_SYSTEMTOOLS_MAXPATH]; + char local_buffer[KWSYS_SYSTEMTOOLS_MAXPATH]; + std::string string_buffer; size_t last = length-1; if(last > 0 && (name[last] == '/' || name[last] == '\\') && strcmp(name, "/") !=0) { - memcpy(buffer, name, last); - buffer[last] = 0; - name = buffer; + if(last < sizeof(local_buffer)) + { + memcpy(local_buffer, name, last); + local_buffer[last] = 0; + name = local_buffer; + } + else + { + string_buffer.append(name, last); + name = string_buffer.c_str(); + } } // Now check the file node type. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/CMakeLists.txt new/cmake-2.8.11.1/Tests/CMakeLists.txt --- old/cmake-2.8.11/Tests/CMakeLists.txt 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/CMakeLists.txt 2013-06-07 17:21:34.000000000 +0200 @@ -15,10 +15,7 @@ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${dir}") endmacro() -macro(REGEX_ESCAPE_STRING _OUT _IN) - # Escape special regex metacharacters with a backslash - string(REGEX REPLACE "([$^.[|*+?()]|])" "\\\\\\1" ${_OUT} "${_IN}") -endmacro() +include(${CMAKE_CURRENT_SOURCE_DIR}/RegexEscapeString.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/CheckFortran.cmake) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/CMakeTests/GetPropertyTest.cmake.in new/cmake-2.8.11.1/Tests/CMakeTests/GetPropertyTest.cmake.in --- old/cmake-2.8.11/Tests/CMakeTests/GetPropertyTest.cmake.in 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/CMakeTests/GetPropertyTest.cmake.in 2013-06-07 17:21:34.000000000 +0200 @@ -28,92 +28,95 @@ message(SEND_ERROR "bad value of VARIABLE PROPERTY test_var: got '${result}' instead of 'alpha'") endif() +include("@CMAKE_CURRENT_SOURCE_DIR@/../RegexEscapeString.cmake") +REGEX_ESCAPE_STRING(CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") + set(Missing-Argument-RESULT 1) -set(Missing-Argument-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Missing-Argument.cmake:1 \\(get_property\\):.*get_property called with incorrect number of arguments.*") +set(Missing-Argument-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Missing-Argument.cmake:1 \\(get_property\\):.*get_property called with incorrect number of arguments.*") check_cmake_test(GetProperty Missing-Argument ) set(Bad-Scope-RESULT 1) -set(Bad-Scope-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Bad-Scope.cmake:1 \\(get_property\\):.*get_property given invalid scope FOO\\..*") +set(Bad-Scope-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Scope.cmake:1 \\(get_property\\):.*get_property given invalid scope FOO\\..*") check_cmake_test(GetProperty Bad-Scope ) set(Bad-Argument-RESULT 1) -set(Bad-Argument-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Bad-Argument.cmake:1 \\(get_property\\):.*get_property given invalid argument \"FOO\"\\..*") +set(Bad-Argument-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Argument.cmake:1 \\(get_property\\):.*get_property given invalid argument \"FOO\"\\..*") check_cmake_test(GetProperty Bad-Argument ) set(No-Property-RESULT 1) -set(No-Property-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-No-Property.cmake:1 \\(get_property\\):.*get_property not given a PROPERTY <name> argument\\..*") +set(No-Property-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Property.cmake:1 \\(get_property\\):.*get_property not given a PROPERTY <name> argument\\..*") check_cmake_test(GetProperty No-Property ) set(Global-Name-RESULT 1) -set(Global-Name-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Global-Name.cmake:1 \\(get_property\\):.*get_property given name for GLOBAL scope\\..*") +set(Global-Name-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Global-Name.cmake:1 \\(get_property\\):.*get_property given name for GLOBAL scope\\..*") check_cmake_test(GetProperty Global-Name ) set(Bad-Directory-RESULT 1) -set(Bad-Directory-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Bad-Directory.cmake:1 \\(get_property\\):.*get_property DIRECTORY scope provided but requested directory was not.*found\\..*") +set(Bad-Directory-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Directory.cmake:1 \\(get_property\\):.*get_property DIRECTORY scope provided but requested directory was not.*found\\..*") check_cmake_test(GetProperty Bad-Directory ) set(No-Target-RESULT 1) -set(No-Target-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-No-Target.cmake:1 \\(get_property\\):.*get_property not given name for TARGET scope\\..*") +set(No-Target-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Target.cmake:1 \\(get_property\\):.*get_property not given name for TARGET scope\\..*") check_cmake_test(GetProperty No-Target ) set(Bad-Target-RESULT 1) -set(Bad-Target-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Bad-Target.cmake:1 \\(get_property\\):.*get_property could not find TARGET FOO\\..*") +set(Bad-Target-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Target.cmake:1 \\(get_property\\):.*get_property could not find TARGET FOO\\..*") check_cmake_test(GetProperty Bad-Target ) set(No-Source-RESULT 1) -set(No-Source-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-No-Source.cmake:1 \\(get_property\\):.*get_property not given name for SOURCE scope\\..*") +set(No-Source-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Source.cmake:1 \\(get_property\\):.*get_property not given name for SOURCE scope\\..*") check_cmake_test(GetProperty No-Source ) set(No-Test-RESULT 1) -set(No-Test-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-No-Test.cmake:1 \\(get_property\\):.*get_property not given name for TEST scope\\..*") +set(No-Test-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Test.cmake:1 \\(get_property\\):.*get_property not given name for TEST scope\\..*") check_cmake_test(GetProperty No-Test ) set(Bad-Test-RESULT 1) -set(Bad-Test-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Bad-Test.cmake:1 \\(get_property\\):.*get_property given TEST name that does not exist: FOO.*") +set(Bad-Test-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Test.cmake:1 \\(get_property\\):.*get_property given TEST name that does not exist: FOO.*") check_cmake_test(GetProperty Bad-Test ) set(Variable-Name-RESULT 1) -set(Variable-Name-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-Variable-Name.cmake:1 \\(get_property\\):.*get_property given name for VARIABLE scope\\..*") +set(Variable-Name-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Variable-Name.cmake:1 \\(get_property\\):.*get_property given name for VARIABLE scope\\..*") check_cmake_test(GetProperty Variable-Name ) set(No-Cache-RESULT 1) -set(No-Cache-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?GetProperty-No-Cache.cmake:1 \\(get_property\\):.*get_property not given name for CACHE scope\\..*") +set(No-Cache-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Cache.cmake:1 \\(get_property\\):.*get_property not given name for CACHE scope\\..*") check_cmake_test(GetProperty No-Cache diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/CMakeTests/IfTest.cmake.in new/cmake-2.8.11.1/Tests/CMakeTests/IfTest.cmake.in --- old/cmake-2.8.11/Tests/CMakeTests/IfTest.cmake.in 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/CMakeTests/IfTest.cmake.in 2013-06-07 17:21:34.000000000 +0200 @@ -7,6 +7,9 @@ set(VAR_${_arg} "${_arg}") endforeach() +include("@CMAKE_CURRENT_SOURCE_DIR@/../RegexEscapeString.cmake") +REGEX_ESCAPE_STRING(CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") + macro(test_vars _old) # Variables set to false or not set. foreach(_var "" 0 ${FALSE_NAMES} UNDEFINED) @@ -158,7 +161,7 @@ test_vars("") set(Invalid-Argument-RESULT 1) -set(Invalid-Argument-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?If-Invalid-Argument.cmake:1 \\(if\\):.*Unknown arguments specified.*") +set(Invalid-Argument-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?If-Invalid-Argument.cmake:1 \\(if\\):.*Unknown arguments specified.*") include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake") check_cmake_test(If diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/CMakeTests/ListTest.cmake.in new/cmake-2.8.11.1/Tests/CMakeTests/ListTest.cmake.in --- old/cmake-2.8.11/Tests/CMakeTests/ListTest.cmake.in 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/CMakeTests/ListTest.cmake.in 2013-06-07 17:21:34.000000000 +0200 @@ -1,5 +1,8 @@ include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake") +include("@CMAKE_CURRENT_SOURCE_DIR@/../RegexEscapeString.cmake") +REGEX_ESCAPE_STRING(CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") + macro(TEST command expected) if("x${result}" STREQUAL "x${expected}") #message("TEST \"${command}\" success: \"${result}\" expected: \"${expected}\"") @@ -101,7 +104,7 @@ TEST("SORT empty result" "") set(No-Arguments-RESULT 1) -set(No-Arguments-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-No-Arguments.cmake:1 \\(list\\):.*list must be called with at least two arguments.*") +set(No-Arguments-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-No-Arguments.cmake:1 \\(list\\):.*list must be called with at least two arguments.*") # these trigger top-level condition foreach(cmd IN ITEMS Append Find Get Insert Length Reverse Remove_At Remove_Duplicates Remove_Item Sort) @@ -130,33 +133,33 @@ endforeach() set(Length-Too-Many-Arguments-RESULT 1) -set(Length-Too-Many-Arguments-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-Length-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command LENGTH requires two arguments.*") +set(Length-Too-Many-Arguments-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-Length-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command LENGTH requires two arguments.*") set(Reverse-Too-Many-Arguments-RESULT 1) -set(Reverse-Too-Many-Arguments-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-Reverse-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command REVERSE only takes one argument.*") +set(Reverse-Too-Many-Arguments-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-Reverse-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command REVERSE only takes one argument.*") set(Remove_Duplicates-Too-Many-Arguments-RESULT 1) -set(Remove_Duplicates-Too-Many-Arguments-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-Remove_Duplicates-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command REMOVE_DUPLICATES only takes one argument.*") +set(Remove_Duplicates-Too-Many-Arguments-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-Remove_Duplicates-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command REMOVE_DUPLICATES only takes one argument.*") set(Sort-Too-Many-Arguments-RESULT 1) -set(Sort-Too-Many-Arguments-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-Sort-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command SORT only takes one argument.*") +set(Sort-Too-Many-Arguments-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-Sort-Too-Many-Arguments.cmake:1 \\(list\\):.*list sub-command SORT only takes one argument.*") set(Invalid-Subcommand-RESULT 1) -set(Invalid-Subcommand-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-Invalid-Subcommand.cmake:1 \\(list\\):.*list does not recognize sub-command NO_SUCH_SUBCOMMAND.*") +set(Invalid-Subcommand-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-Invalid-Subcommand.cmake:1 \\(list\\):.*list does not recognize sub-command NO_SUCH_SUBCOMMAND.*") foreach(cmd Get Insert Remove_At) set(${cmd}-Invalid-Index-RESULT 1) - set(${cmd}-Invalid-Index-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-${cmd}-Invalid-Index.cmake:2 \\(list\\):.*list index: 3 out of range \\(-3, 2\\).*") + set(${cmd}-Invalid-Index-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-${cmd}-Invalid-Index.cmake:2 \\(list\\):.*list index: 3 out of range \\(-3, 2\\).*") endforeach() foreach(cmd Remove_Item Reverse Remove_Duplicates Sort Remove_At) string(TOUPPER ${cmd} Cmd) set(${cmd}-Nonexistent-List-RESULT 1) - set(${cmd}-Nonexistent-List-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-${cmd}-Nonexistent-List.cmake:2 \\(list\\):.*sub-command ${Cmd} requires list to be present.*") + set(${cmd}-Nonexistent-List-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-${cmd}-Nonexistent-List.cmake:2 \\(list\\):.*sub-command ${Cmd} requires list to be present.*") endforeach() set(Get-CMP0007-Warn-RESULT 0) -set(Get-CMP0007-Warn-STDERR ".*CMake Warning \\(dev\\) at (@CMAKE_CURRENT_SOURCE_DIR@/)?List-Get-CMP0007-Warn.cmake:3 \\(list\\):.*Policy CMP0007 is not set:.*") +set(Get-CMP0007-Warn-STDERR ".*CMake Warning \\(dev\\) at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?List-Get-CMP0007-Warn.cmake:3 \\(list\\):.*Policy CMP0007 is not set:.*") check_cmake_test(List No-Arguments diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/CMakeTests/WhileTest.cmake.in new/cmake-2.8.11.1/Tests/CMakeTests/WhileTest.cmake.in --- old/cmake-2.8.11/Tests/CMakeTests/WhileTest.cmake.in 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/CMakeTests/WhileTest.cmake.in 2013-06-07 17:21:34.000000000 +0200 @@ -1,6 +1,9 @@ set(NUMBERS "") set(COUNT 0) +include("@CMAKE_CURRENT_SOURCE_DIR@/../RegexEscapeString.cmake") +REGEX_ESCAPE_STRING(CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") + while(COUNT LESS 200) set(NUMBERS "${NUMBERS} ${COUNT}") set(COUNT "2${COUNT}") @@ -16,8 +19,9 @@ message(SEND_ERROR "while loop nesting error, result: '${NUMBERS}'") endif() + set(Missing-Argument-RESULT 1) -set(Missing-Argument-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Argument.cmake:1 \\(while\\):.*while called with incorrect number of arguments.*") +set(Missing-Argument-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Missing-Argument.cmake:1 \\(while\\):.*while called with incorrect number of arguments.*") include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake") check_cmake_test(While @@ -25,28 +29,28 @@ ) set(Missing-Endwhile-RESULT 1) -set(Missing-Endwhile-STDERR ".*CMake Error in (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:.*A logical block opening on the line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:1 \\(while\\).*is not closed\\..*") +set(Missing-Endwhile-STDERR ".*CMake Error in (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Missing-Endwhile.cmake:.*A logical block opening on the line.*(${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Missing-Endwhile.cmake:1 \\(while\\).*is not closed\\..*") check_cmake_test(While Missing-Endwhile ) set(Endwhile-Mismatch-RESULT 0) -set(Endwhile-Mismatch-STDERR ".*CMake Warning \\(dev\\) in (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:.*A logical block opening on the line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:1 \\(while\\).*with mis-matching arguments\\..*") +set(Endwhile-Mismatch-STDERR ".*CMake Warning \\(dev\\) in (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Endwhile-Mismatch.cmake:.*A logical block opening on the line.*(${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Endwhile-Mismatch.cmake:1 \\(while\\).*with mis-matching arguments\\..*") check_cmake_test(While Endwhile-Mismatch ) set(Endwhile-Alone-RESULT 1) -set(Endwhile-Alone-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Alone.cmake:1 \\(endwhile\\):.*An ENDWHILE command was found outside of a proper WHILE ENDWHILE.*structure\\.\n.*$") +set(Endwhile-Alone-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Endwhile-Alone.cmake:1 \\(endwhile\\):.*An ENDWHILE command was found outside of a proper WHILE ENDWHILE.*structure\\.\n.*$") check_cmake_test(While Endwhile-Alone ) set(Endwhile-Alone-Args-RESULT 1) -set(Endwhile-Alone-Args-STDERR ".*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Alone-Args.cmake:1 \\(endwhile\\):.*An ENDWHILE command was found outside of a proper WHILE ENDWHILE.*structure\\. Or its arguments did not.*$") +set(Endwhile-Alone-Args-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?While-Endwhile-Alone-Args.cmake:1 \\(endwhile\\):.*An ENDWHILE command was found outside of a proper WHILE ENDWHILE.*structure\\. Or its arguments did not.*$") check_cmake_test(While Endwhile-Alone-Args diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/CTestTestMemcheck/CMakeLists.txt new/cmake-2.8.11.1/Tests/CTestTestMemcheck/CMakeLists.txt --- old/cmake-2.8.11/Tests/CTestTestMemcheck/CMakeLists.txt 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/CTestTestMemcheck/CMakeLists.txt 2013-06-07 17:21:34.000000000 +0200 @@ -1,3 +1,5 @@ +REGEX_ESCAPE_STRING(CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}") + foreach (_retval 0 1) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/ret${_retval}.c" "int main(){return ${_retval};}\n") endforeach () @@ -49,7 +51,7 @@ foreach (_unkn Unknown UnknownQuoted) set_tests_properties(CTestTestMemcheck${_unkn} PROPERTIES - PASS_REGULAR_EXPRESSION "Do not understand memory checker: ${CMAKE_COMMAND_ESCAPED}\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/${_unkn}/test.cmake\n") + PASS_REGULAR_EXPRESSION "Do not understand memory checker: ${CMAKE_COMMAND_ESCAPED}\n(.*\n)?Error in read script: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}/${_unkn}/test.cmake\n") endforeach () set_tests_properties(CTestTestMemcheckNotExist PROPERTIES @@ -67,7 +69,7 @@ string(TOLOWER ${_pp} _pp_lower) set_tests_properties(CTestTestMemcheckDummyValgrindFail${_pp} PROPERTIES - PASS_REGULAR_EXPRESSION "\nProblem running command: ${CMAKE_CURRENT_BINARY_DIR}[^\n]*fail[^\n]*\n(.*\n)?Problem executing ${_pp_lower}-memcheck command\\(s\\\).\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/DummyValgrindFail${_pp}/test.cmake\n") + PASS_REGULAR_EXPRESSION "\nProblem running command: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}[^\n]*fail[^\n]*\n(.*\n)?Problem executing ${_pp_lower}-memcheck command\\(s\\\).\n(.*\n)?Error in read script: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}/DummyValgrindFail${_pp}/test.cmake\n") endforeach () set_tests_properties(CTestTestMemcheckDummyValgrindIgnoreMemcheck @@ -75,7 +77,7 @@ PASS_REGULAR_EXPRESSION "\n2/2 Test #2: RunCMakeAgain .*\n1/1 MemCheck #1: RunCMake .*${NORMAL_CTEST_OUTPUT}") set_tests_properties(CTestTestMemcheckDummyPurify PROPERTIES - PASS_REGULAR_EXPRESSION "\nCannot find memory tester output file: ${CMAKE_CURRENT_BINARY_DIR}/DummyPurify/Testing/Temporary/MemoryChecker.log\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/DummyPurify/test.cmake\n") + PASS_REGULAR_EXPRESSION "\nCannot find memory tester output file: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}/DummyPurify/Testing/Temporary/MemoryChecker.log\n(.*\n)?Error in read script: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}/DummyPurify/test.cmake\n") set_tests_properties(CTestTestMemcheckDummyBC PROPERTIES - PASS_REGULAR_EXPRESSION "\nCannot find memory tester output file: ${CMAKE_CURRENT_BINARY_DIR}/DummyBC/Testing/Temporary/MemoryChecker.log\n(.*\n)?Error parsing XML in stream at line 1: no element found\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/DummyBC/test.cmake\n") + PASS_REGULAR_EXPRESSION "\nCannot find memory tester output file: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}/DummyBC/Testing/Temporary/MemoryChecker.log\n(.*\n)?Error parsing XML in stream at line 1: no element found\n(.*\n)?Error in read script: ${CTEST_ESCAPED_CMAKE_CURRENT_BINARY_DIR}/DummyBC/test.cmake\n") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/IncludeDirectories/CMakeLists.txt new/cmake-2.8.11.1/Tests/IncludeDirectories/CMakeLists.txt --- old/cmake-2.8.11/Tests/IncludeDirectories/CMakeLists.txt 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/IncludeDirectories/CMakeLists.txt 2013-06-07 17:21:34.000000000 +0200 @@ -58,3 +58,14 @@ if (NOT propContentAfter STREQUAL "") message(SEND_ERROR "Clearing DIRECTORY property failed.") endif() + +add_library(empty_entry_test SHARED empty.cpp) +set_target_properties(empty_entry_test PROPERTIES INCLUDE_DIRECTORIES "") +include_directories(/one/two + " " + " " +) +get_target_property(incs empty_entry_test INCLUDE_DIRECTORIES) +if (NOT incs STREQUAL ";/one/two") + message(SEND_ERROR "Empty include_directories entry was not ignored.") +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt --- old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt 2013-05-15 19:38:13.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt 2013-06-07 17:21:34.000000000 +0200 @@ -109,6 +109,30 @@ INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/bad" ) +add_library(lib6 SHARED other.cpp) +add_library(lib7 SHARED other.cpp) +target_link_libraries(lib7 $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:lib6>) +target_include_directories(lib7 PUBLIC $<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:/lib7/include>) +add_custom_target(head_target_test "some_bogus_custom_tool \"$<TARGET_PROPERTY:lib7,INCLUDE_DIRECTORIES>$<TARGET_PROPERTY:lib7,INTERFACE_INCLUDE_DIRECTORIES>\"") + +add_library(includes_source_good empty.cpp) +target_include_directories(includes_source_good + INTERFACE + "${CMAKE_CURRENT_BINARY_DIR}/good" + "${CMAKE_CURRENT_BINARY_DIR}/othergood/" +) +add_library(includes_source_bad empty.cpp) +target_include_directories(includes_source_bad + INTERFACE + "${CMAKE_CURRENT_BINARY_DIR}/bad" +) + +add_library(includes_proxy SHARED empty.cpp) +target_link_libraries(includes_proxy includes_source_good) +target_link_libraries(includes_proxy LINK_INTERFACE_LIBRARIES includes_source_bad) +add_executable(copy_includes copy_includes.cpp) +target_include_directories(copy_includes PRIVATE $<TARGET_PROPERTY:includes_proxy,INCLUDE_DIRECTORIES>) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib5.cpp" "#include \"common.h\"\n") add_library(lib5 "${CMAKE_CURRENT_BINARY_DIR}/lib5.cpp") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/copy_includes.cpp new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/copy_includes.cpp --- old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/copy_includes.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/copy_includes.cpp 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,7 @@ + +#include "common.h" + +int main() +{ + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/empty.cpp new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/empty.cpp --- old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/empty.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/empty.cpp 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,7 @@ +#ifdef _WIN32 +__declspec(dllexport) +#endif +int empty(void) +{ + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/other.cpp new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/other.cpp --- old/cmake-2.8.11/Tests/IncludeDirectories/TargetIncludeDirectories/other.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/IncludeDirectories/TargetIncludeDirectories/other.cpp 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,6 @@ +#ifdef _WIN32 +__declspec(dllexport) +#endif +int other() { + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/IncludeDirectories/empty.cpp new/cmake-2.8.11.1/Tests/IncludeDirectories/empty.cpp --- old/cmake-2.8.11/Tests/IncludeDirectories/empty.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/IncludeDirectories/empty.cpp 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,4 @@ +#ifdef _WIN32 +__declspec(dllexport) +#endif +int empty() { return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/RegexEscapeString.cmake new/cmake-2.8.11.1/Tests/RegexEscapeString.cmake --- old/cmake-2.8.11/Tests/RegexEscapeString.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/RegexEscapeString.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,4 @@ +macro(REGEX_ESCAPE_STRING _OUT _IN) + # Escape special regex metacharacters with a backslash + string(REGEX REPLACE "([$^.[|*+?()]|])" "\\\\\\1" ${_OUT} "${_IN}") +endmacro() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/RunCMake/ExternalData/LinkDirectory1-stdout.txt new/cmake-2.8.11.1/Tests/RunCMake/ExternalData/LinkDirectory1-stdout.txt --- old/cmake-2.8.11/Tests/RunCMake/ExternalData/LinkDirectory1-stdout.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/RunCMake/ExternalData/LinkDirectory1-stdout.txt 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,5 @@ +-- Linked Dir/ToLink.txt.md5 to ExternalData MD5/c18ff9804c8deec9eaeb17063cda8b7b +-- Raw data correctly transformed to content link! +-- Staged content exists! +-- Staged content is correct! +-- Staged content was correctly not re-staged! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/RunCMake/ExternalData/LinkDirectory1.cmake new/cmake-2.8.11.1/Tests/RunCMake/ExternalData/LinkDirectory1.cmake --- old/cmake-2.8.11/Tests/RunCMake/ExternalData/LinkDirectory1.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/cmake-2.8.11.1/Tests/RunCMake/ExternalData/LinkDirectory1.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -0,0 +1,37 @@ +include(ExternalData) +set(ExternalData_LINK_CONTENT MD5) +set(ExternalData_SOURCE_ROOT ${CMAKE_CURRENT_BINARY_DIR}) +set(ExternalData_BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR}/ExternalData) +set(input ${CMAKE_CURRENT_BINARY_DIR}/Dir) +set(output ${CMAKE_CURRENT_BINARY_DIR}/ExternalData/Dir) +set(staged "${input}/.ExternalData_MD5_c18ff9804c8deec9eaeb17063cda8b7b") +set(content "To be transformed into a content link.") +file(REMOVE ${staged}) +file(REMOVE_RECURSE ${input}) +file(WRITE ${input}/ToLink.txt "${content}") +ExternalData_Expand_Arguments(Data args "DATA{${input}/,REGEX:.*}") +if("x${args}" STREQUAL "x${output}") + message(STATUS "Raw data correctly transformed to content link!") +else() + message(FATAL_ERROR "Data reference transformed to:\n ${args}\n" + "but we expected:\n ${output}") +endif() +if(EXISTS "${staged}") + message(STATUS "Staged content exists!") +else() + message(FATAL_ERROR "Staged content missing!") +endif() + +# Expand again to check whether staged content is ignored. +ExternalData_Expand_Arguments(Data args "DATA{${input}/,REGEX:.*}") +file(STRINGS "${staged}" staged_content LIMIT_INPUT 1024) +if("${content}" STREQUAL "${staged_content}") + message(STATUS "Staged content is correct!") +else() + message(STATUS "Staged content is incorrect!") +endif() +if(EXISTS "${staged}.md5") + message(FATAL_ERROR "Staged content was incorrectly re-staged!") +else() + message(STATUS "Staged content was correctly not re-staged!") +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmake-2.8.11/Tests/RunCMake/ExternalData/RunCMakeTest.cmake new/cmake-2.8.11.1/Tests/RunCMake/ExternalData/RunCMakeTest.cmake --- old/cmake-2.8.11/Tests/RunCMake/ExternalData/RunCMakeTest.cmake 2013-05-15 19:38:14.000000000 +0200 +++ new/cmake-2.8.11.1/Tests/RunCMake/ExternalData/RunCMakeTest.cmake 2013-06-07 17:21:34.000000000 +0200 @@ -13,6 +13,7 @@ run_cmake(Directory5) run_cmake(LinkContentMD5) run_cmake(LinkContentSHA1) +run_cmake(LinkDirectory1) run_cmake(MissingData) run_cmake(NoLinkInSource) run_cmake(NoURLTemplates) -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de