[Cmake-commits] [cmake-commits] alex committed FindQt4.cmake 1.168 1.169

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Oct 1 16:48:21 EDT 2009


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv17301/Modules

Modified Files:
	FindQt4.cmake 
Log Message:
document how the minimum version can be specified

Alex


Index: FindQt4.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindQt4.cmake,v
retrieving revision 1.168
retrieving revision 1.169
diff -C 2 -d -r1.168 -r1.169
*** FindQt4.cmake	1 Oct 2009 20:41:00 -0000	1.168
--- FindQt4.cmake	1 Oct 2009 20:48:19 -0000	1.169
***************
*** 15,18 ****
--- 15,26 ----
  #   target_link_libraries(myexe ${QT_LIBRARIES})
  #
+ # The minimum required version can be specified using the standard find_package()-syntax
+ # (see example above). 
+ # For compatibility with older versions of FindQt4.cmake it is also possible to
+ # set the variable QT_MIN_VERSION to the minimum required version of Qt4 before the 
+ # find_package(Qt4) command. 
+ # If both are used, the version used in the find_package() command overrides the
+ # one from QT_MIN_VERSION.
+ #
  # When using the components argument, QT_USE_QT* variables are automatically set
  # for the QT_USE_FILE to pick up.  If one wishes to manually set them, the
***************
*** 330,354 ****
  MACRO(QT_QUERY_QMAKE outvar invar)
    IF(QT_QMAKE_EXECUTABLE)
!   FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake/tmp.pro
!     "message(CMAKE_MESSAGE<$$${invar}>)")
  
!   # Invoke qmake with the tmp.pro program to get the desired
!   # information.  Use the same variable for both stdout and stderr
!   # to make sure we get the output on all platforms.
!   EXECUTE_PROCESS(COMMAND ${QT_QMAKE_EXECUTABLE}
!     WORKING_DIRECTORY  
!     ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake
!     OUTPUT_VARIABLE _qmake_query_output
!     RESULT_VARIABLE _qmake_result
!     ERROR_VARIABLE _qmake_query_output )
!   
!   FILE(REMOVE_RECURSE 
!     "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake")
  
!   IF(_qmake_result)
!     MESSAGE(WARNING " querying qmake for ${invar}.  qmake reported:\n${_qmake_query_output}")
!   ELSE(_qmake_result)
!     STRING(REGEX REPLACE ".*CMAKE_MESSAGE<([^>]*).*" "\\1" ${outvar} "${_qmake_query_output}")
!   ENDIF(_qmake_result)
  
    ENDIF(QT_QMAKE_EXECUTABLE)
--- 338,362 ----
  MACRO(QT_QUERY_QMAKE outvar invar)
    IF(QT_QMAKE_EXECUTABLE)
!     FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake/tmp.pro
!          "message(CMAKE_MESSAGE<$$${invar}>)")
  
!     # Invoke qmake with the tmp.pro program to get the desired
!     # information.  Use the same variable for both stdout and stderr
!     # to make sure we get the output on all platforms.
!     EXECUTE_PROCESS(COMMAND ${QT_QMAKE_EXECUTABLE}
!       WORKING_DIRECTORY  
!       ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake
!       OUTPUT_VARIABLE _qmake_query_output
!       RESULT_VARIABLE _qmake_result
!       ERROR_VARIABLE _qmake_query_output )
  
!     FILE(REMOVE_RECURSE 
!          "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake")
! 
!     IF(_qmake_result)
!       MESSAGE(WARNING " querying qmake for ${invar}.  qmake reported:\n${_qmake_query_output}")
!     ELSE(_qmake_result)
!       STRING(REGEX REPLACE ".*CMAKE_MESSAGE<([^>]*).*" "\\1" ${outvar} "${_qmake_query_output}")
!     ENDIF(_qmake_result)
  
    ENDIF(QT_QMAKE_EXECUTABLE)
***************
*** 410,424 ****
      STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_MIN_VERSION}")
  
!   # Suppport finding at least a particular version, for instance FIND_PACKAGE( Qt4 4.4.3 )
!   # This implementation is a hack to avoid duplicating code and make sure we stay
!   # source-compatible with CMake 2.6.x
!   # For CMake 2.8, we should not set QT_MIN_VERSION but only use Qt4_FIND_VERSION_MAJOR,
!   # Qt4_FIND_VERSION_MINOR, etc
!   IF( Qt4_FIND_VERSION )
!     SET( QT_MIN_VERSION ${Qt4_FIND_VERSION} )
!     SET( req_qt_major_vers ${Qt4_FIND_VERSION_MAJOR} )
!     SET( req_qt_minor_vers ${Qt4_FIND_VERSION_MINOR} )
!     SET( req_qt_patch_vers ${Qt4_FIND_VERSION_PATCH} )
!   ENDIF( Qt4_FIND_VERSION )
  
      IF (NOT req_qt_major_vers EQUAL 4)
--- 418,430 ----
      STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_MIN_VERSION}")
  
!     # Suppport finding at least a particular version, for instance FIND_PACKAGE( Qt4 4.4.3 )
!     # This implementation is a hack to avoid duplicating code and make sure we stay
!     # source-compatible with CMake 2.6.x
!     IF( Qt4_FIND_VERSION )
!       SET( QT_MIN_VERSION ${Qt4_FIND_VERSION} )
!       SET( req_qt_major_vers ${Qt4_FIND_VERSION_MAJOR} )
!       SET( req_qt_minor_vers ${Qt4_FIND_VERSION_MINOR} )
!       SET( req_qt_patch_vers ${Qt4_FIND_VERSION_PATCH} )
!     ENDIF( Qt4_FIND_VERSION )
  
      IF (NOT req_qt_major_vers EQUAL 4)
***************
*** 435,459 ****
      MATH(EXPR found_vers "${QT_VERSION_MAJOR}*10000 + ${QT_VERSION_MINOR}*100 + ${QT_VERSION_PATCH}")
  
!   # Support finding *exactly* a particular version, for instance FIND_PACKAGE( Qt4 4.4.3 EXACT )
!   # The 'else' branch should be removed for CMake 2.8
!   IF( Qt4_FIND_VERSION_EXACT )
!     IF(found_vers EQUAL req_vers)
!       SET( QT4_QMAKE_FOUND TRUE )
!     ELSE(found_vers EQUAL req_vers)
!       SET( QT4_QMAKE_FOUND FALSE )
        IF (found_vers LESS req_vers)
          SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
        ELSE (found_vers LESS req_vers)
!         SET(QT4_INSTALLED_VERSION_TOO_NEW TRUE)
        ENDIF (found_vers LESS req_vers)
!     ENDIF(found_vers EQUAL req_vers)
!   ELSE( Qt4_FIND_VERSION_EXACT )
!     IF (found_vers LESS req_vers)
!       SET(QT4_QMAKE_FOUND FALSE)
!       SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
!     ELSE (found_vers LESS req_vers)
!       SET(QT4_QMAKE_FOUND TRUE)
!     ENDIF (found_vers LESS req_vers)
!   ENDIF( Qt4_FIND_VERSION_EXACT )
    ENDIF (qt_version_tmp)
  
--- 441,464 ----
      MATH(EXPR found_vers "${QT_VERSION_MAJOR}*10000 + ${QT_VERSION_MINOR}*100 + ${QT_VERSION_PATCH}")
  
!     # Support finding *exactly* a particular version, for instance FIND_PACKAGE( Qt4 4.4.3 EXACT )
!     IF( Qt4_FIND_VERSION_EXACT )
!       IF(found_vers EQUAL req_vers)
!         SET( QT4_QMAKE_FOUND TRUE )
!       ELSE(found_vers EQUAL req_vers)
!         SET( QT4_QMAKE_FOUND FALSE )
!         IF (found_vers LESS req_vers)
!           SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
!         ELSE (found_vers LESS req_vers)
!           SET(QT4_INSTALLED_VERSION_TOO_NEW TRUE)
!         ENDIF (found_vers LESS req_vers)
!       ENDIF(found_vers EQUAL req_vers)
!     ELSE( Qt4_FIND_VERSION_EXACT )
        IF (found_vers LESS req_vers)
+         SET(QT4_QMAKE_FOUND FALSE)
          SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
        ELSE (found_vers LESS req_vers)
!         SET(QT4_QMAKE_FOUND TRUE)
        ENDIF (found_vers LESS req_vers)
!     ENDIF( Qt4_FIND_VERSION_EXACT )
    ENDIF (qt_version_tmp)
  
***************
*** 661,665 ****
      ENDIF(Qt4_FIND_REQUIRED)
    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
--- 666,670 ----
      ENDIF(Qt4_FIND_REQUIRED)
    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
***************
*** 728,734 ****
    ENDIF("${QT_EDITION}" MATCHES "DesktopLight")
  
-   
  
!   
    # find the libraries
    FOREACH(QT_MODULE ${QT_MODULES})
--- 733,739 ----
    ENDIF("${QT_EDITION}" MATCHES "DesktopLight")
  
  
! 
! 
    # find the libraries
    FOREACH(QT_MODULE ${QT_MODULES})
***************
*** 876,881 ****
      _QT4_ADJUST_LIB_VARS(QTMOTIF)
    ENDIF(Q_WS_X11)
- 
-   # platform dependent libraries
    IF(WIN32)
      _QT4_ADJUST_LIB_VARS(QTMAIN)
--- 881,884 ----



More information about the Cmake-commits mailing list