diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d8eeda44..8f2180dc7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -316,7 +316,7 @@ ENDMACRO (CMAKE_BUILD_UTILITIES) SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 8) SET(CMake_VERSION_PATCH 0) -SET(CMake_VERSION_RC 5) +SET(CMake_VERSION_RC 6) # We use odd minor numbers for development versions. # Use a date for the development patch level. diff --git a/ChangeLog.manual b/ChangeLog.manual index 572392735..5ecd6958b 100644 --- a/ChangeLog.manual +++ b/ChangeLog.manual @@ -1,3 +1,8 @@ +Changes in CMake 2.8.0 RC 6 +- Sync FindQt4 with KDE version +- Fix #9090: Teach CTest subdirs() command to handle absolute paths +- Fix CTest bug that could start a test twice + Changes in CMake 2.8.0 RC 5 - CTest now detects cycles in test dependency graph - Warn on set(PARENT_SCOPE) at top scope diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index 0688e53a5..93d2d1126 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -197,6 +197,7 @@ # QT_INCLUDE_DIR Path to "include" of Qt4 # QT_QT3SUPPORT_INCLUDE_DIR Path to "include/Qt3Support" # QT_QTASSISTANT_INCLUDE_DIR Path to "include/QtAssistant" +# QT_QTASSISTANTCLIENT_INCLUDE_DIR Path to "include/QtAssistant" # QT_QAXCONTAINER_INCLUDE_DIR Path to "include/ActiveQt" (Windows only) # QT_QAXSERVER_INCLUDE_DIR Path to "include/ActiveQt" (Windows only) # QT_QTCORE_INCLUDE_DIR Path to "include/QtCore" @@ -204,18 +205,17 @@ # QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR Path to "include/QtDesigner" # QT_QTDBUS_INCLUDE_DIR Path to "include/QtDBus" # QT_QTGUI_INCLUDE_DIR Path to "include/QtGui" +# QT_QTHELP_INCLUDE_DIR Path to "include/QtHelp" # QT_QTMOTIF_INCLUDE_DIR Path to "include/QtMotif" # QT_QTNETWORK_INCLUDE_DIR Path to "include/QtNetwork" # QT_QTNSPLUGIN_INCLUDE_DIR Path to "include/QtNsPlugin" # QT_QTOPENGL_INCLUDE_DIR Path to "include/QtOpenGL" +# QT_QTSCRIPT_INCLUDE_DIR Path to "include/QtScript" # QT_QTSQL_INCLUDE_DIR Path to "include/QtSql" -# QT_QTXML_INCLUDE_DIR Path to "include/QtXml" # QT_QTSVG_INCLUDE_DIR Path to "include/QtSvg" -# QT_QTSCRIPT_INCLUDE_DIR Path to "include/QtScript" # QT_QTTEST_INCLUDE_DIR Path to "include/QtTest" -# QT_QTASSISTANTCLIENT_INCLUDE_DIR Path to "include/QtAssistant" -# QT_QTHELP_INCLUDE_DIR Path to "include/QtHelp" # QT_QTWEBKIT_INCLUDE_DIR Path to "include/QtWebKit" +# QT_QTXML_INCLUDE_DIR Path to "include/QtXml" # QT_QTXMLPATTERNS_INCLUDE_DIR Path to "include/QtXmlPatterns" # QT_PHONON_INCLUDE_DIR Path to "include/phonon" # QT_QTSCRIPTTOOLS_INCLUDE_DIR Path to "include/QtScriptTools" @@ -235,6 +235,7 @@ # # QT_QT3SUPPORT_LIBRARY The Qt3Support library # QT_QTASSISTANT_LIBRARY The QtAssistant library +# QT_QTASSISTANTCLIENT_LIBRARY The QtAssistantClient library # QT_QAXCONTAINER_LIBRARY The QAxContainer library (Windows only) # QT_QAXSERVER_LIBRARY The QAxServer library (Windows only) # QT_QTCORE_LIBRARY The QtCore library @@ -242,21 +243,20 @@ # QT_QTDESIGNER_LIBRARY The QtDesigner library # QT_QTDESIGNERCOMPONENTS_LIBRARY The QtDesignerComponents library # QT_QTGUI_LIBRARY The QtGui library +# QT_QTHELP_LIBRARY The QtHelp library # QT_QTMOTIF_LIBRARY The QtMotif library # QT_QTNETWORK_LIBRARY The QtNetwork library # QT_QTNSPLUGIN_LIBRARY The QtNsPLugin library # QT_QTOPENGL_LIBRARY The QtOpenGL library +# QT_QTSCRIPT_LIBRARY The QtScript library # QT_QTSQL_LIBRARY The QtSql library -# QT_QTXML_LIBRARY The QtXml library # QT_QTSVG_LIBRARY The QtSvg library -# QT_QTSCRIPT_LIBRARY The QtScript library # QT_QTTEST_LIBRARY The QtTest library -# QT_QTMAIN_LIBRARY The qtmain library for Windows # QT_QTUITOOLS_LIBRARY The QtUiTools library -# QT_QTASSISTANTCLIENT_LIBRARY The QtAssistantClient library -# QT_QTHELP_LIBRARY The QtHelp library # QT_QTWEBKIT_LIBRARY The QtWebKit library +# QT_QTXML_LIBRARY The QtXml library # QT_QTXMLPATTERNS_LIBRARY The QtXmlPatterns library +# QT_QTMAIN_LIBRARY The qtmain library for Windows # QT_PHONON_LIBRARY The phonon library # QT_QTSCRIPTTOOLS_LIBRARY The QtScriptTools library # @@ -564,6 +564,11 @@ IF (QT4_QMAKE_FOUND) SET(QT_TRANSLATIONS_DIR ${qt_translations_dir} CACHE PATH "The location of the Qt translations" FORCE) ENDIF (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR OR QT_QMAKE_CHANGED) + # Make variables changeble to the advanced user + MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR + QT_PLUGINS_DIR QT_TRANSLATIONS_DIR) + + ######################################## # # Setting the INCLUDE-Variables @@ -613,7 +618,7 @@ IF (QT4_QMAKE_FOUND) NO_DEFAULT_PATH ) ENDFOREACH(QT_MODULE) - + IF(WIN32) SET(QT_MODULES ${QT_MODULES} QAxContainer QAxServer) # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR @@ -628,7 +633,7 @@ IF (QT4_QMAKE_FOUND) NO_DEFAULT_PATH ) ENDIF(WIN32) - + # Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR FIND_PATH(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents PATHS @@ -652,7 +657,7 @@ IF (QT4_QMAKE_FOUND) ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers NO_DEFAULT_PATH ) - + # Set QT_INCLUDE_DIR by removine "/QtCore" in the string ${QT_QTCORE_INCLUDE_DIR} IF( QT_QTCORE_INCLUDE_DIR ) IF (QT_USE_FRAMEWORKS) @@ -670,8 +675,7 @@ IF (QT4_QMAKE_FOUND) ENDIF( NOT QT_INCLUDE_DIR) # Make variables changeble to the advanced user - MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_INCLUDE_DIR QT_DOC_DIR QT_MKSPECS_DIR - QT_PLUGINS_DIR QT_TRANSLATIONS_DIR) + MARK_AS_ADVANCED( QT_INCLUDE_DIR ) # Set QT_INCLUDES SET( QT_INCLUDES ${QT_MKSPECS_DIR}/default ${QT_INCLUDE_DIR} ) @@ -735,8 +739,11 @@ IF (QT4_QMAKE_FOUND) SET(QT_EDITION_DESKTOPLIGHT 1) ENDIF("${QT_EDITION}" MATCHES "DesktopLight") - - + ######################################## + # + # Setting the LIBRARY-Variables + # + ######################################## # find the libraries FOREACH(QT_MODULE ${QT_MODULES}) @@ -1168,9 +1175,13 @@ IF (QT4_QMAKE_FOUND) SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) SET(_impl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc) - + + # handling more arguments (as in FindQt4.cmake from KDE4) will come soon, then + # _params will be used for more than just -m + SET(_params -m) + ADD_CUSTOM_COMMAND(OUTPUT ${_impl} ${_header} - COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} -m -p ${_basename} ${_infile} + COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} ${_params} -p ${_basename} ${_infile} DEPENDS ${_infile}) SET_SOURCE_FILES_PROPERTIES(${_impl} PROPERTIES SKIP_AUTOMOC TRUE) diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index 4f3a6057f..80390b452 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -194,6 +194,11 @@ void cmCTestMultiProcessHandler::StartNextTests() for(TestSet::iterator test = tests.begin(); test != tests.end(); ++test) { + //in case this test has already been started due to dependency + if(this->TestRunningMap[*test] || this->TestFinishMap[*test]) + { + continue; + } size_t processors = GetProcessorsUsed(*test); if(processors > numToStart) { diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx index 3572b1145..a32a3353d 100644 --- a/Source/CTest/cmCTestTestHandler.cxx +++ b/Source/CTest/cmCTestTestHandler.cxx @@ -86,6 +86,12 @@ bool cmCTestSubdirCommand fname += "/"; fname += *it; + //sanity check on relative path; if not, try absolute path + if ( !cmSystemTools::FileIsDirectory(fname.c_str())) + { + fname = *it; + } + if ( !cmSystemTools::FileExists(fname.c_str()) ) { // No subdirectory? So what... diff --git a/Source/cmake.cxx b/Source/cmake.cxx index a2e4a1130..1a85a02c3 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -3387,11 +3387,6 @@ void cmake::DefineProperties(cmake *cm) "List of packages which were not found during the CMake run. Whether a " "package has been found is determined using the _FOUND variables."); - cm->DefineProperty - ("PACKAGES_NOT_FOUND", cmProperty::GLOBAL, - "List of packages which were not found during the CMake run.", - "List of packages which were not found during the CMake run. Whether a " - "package has been found is determined using the _FOUND variables."); cm->DefineProperty( "__CMAKE_DELETE_CACHE_CHANGE_VARS_", cmProperty::GLOBAL, "Internal property", diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index ae39fdffa..110ca973c 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -612,6 +612,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} --test-command complex) LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ComplexOneConfig") + # because of the registry write these tests depend on each other + SET_TESTS_PROPERTIES ( complex PROPERTIES DEPENDS complexOneConfig) # This fails on VS 70 # works on Xcode and makefiles