[Cmake-commits] [cmake-commits] king committed FindPackageHandleStandardArgs.cmake 1.4 1.5 FindPackageMessage.cmake NONE 1.1 FindQt4.cmake 1.101 1.102 FindX11.cmake 1.31 1.32
cmake-commits at cmake.org
cmake-commits at cmake.org
Mon Mar 17 11:10:44 EDT 2008
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv2917/Modules
Modified Files:
FindPackageHandleStandardArgs.cmake FindQt4.cmake
FindX11.cmake
Added Files:
FindPackageMessage.cmake
Log Message:
ENH: Added FindPackageMessage module
- Defines FIND_PACKAGE_MESSAGE function to help display
find result messages only once
- Added use of it to FindPackageHandleStandardArgs
- Added use of it to FindQt4, and FindX11
- This cleans up repeated messages in big projects
--- NEW FILE: FindPackageMessage.cmake ---
# FIND_PACKAGE_MESSAGE(<name> "message for user" "find result details")
#
# This macro is intended to be used in FindXXX.cmake modules files.
# It will print a message once for each unique find result.
# This is useful for telling the user where a package was found.
# The first argument specifies the name (XXX) of the package.
# The second argument specifies the message to display.
# The third argument lists details about the find result so that
# if they change the message will be displayed again.
# The macro also obeys the QUIET argument to the find_package command.
#
# Example:
#
# IF(X11_FOUND)
# FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
# "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
# ELSE(X11_FOUND)
# ...
# ENDIF(X11_FOUND)
FUNCTION(FIND_PACKAGE_MESSAGE pkg msg details)
# Avoid printing a message repeatedly for the same find result.
IF(NOT ${pkg}_FIND_QUIETLY)
SET(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
IF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
# The message has not yet been printed.
MESSAGE(STATUS "${msg}")
# Save the find details in the cache to avoid printing the same
# message again.
SET("${DETAILS_VAR}" "${details}"
CACHE INTERNAL "Details about finding ${pkg}")
ENDIF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
ENDIF(NOT ${pkg}_FIND_QUIETLY)
ENDFUNCTION(FIND_PACKAGE_MESSAGE)
Index: FindQt4.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindQt4.cmake,v
retrieving revision 1.101
retrieving revision 1.102
diff -C 2 -d -r1.101 -r1.102
*** FindQt4.cmake 14 Mar 2008 18:28:29 -0000 1.101
--- FindQt4.cmake 17 Mar 2008 15:10:42 -0000 1.102
***************
*** 1233,1239 ****
IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET( QT4_FOUND "YES" )
! IF( NOT Qt4_FIND_QUIETLY)
! MESSAGE(STATUS "Found Qt-Version ${QTVERSION}")
! ENDIF( NOT Qt4_FIND_QUIETLY)
ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET( QT4_FOUND "NO")
--- 1233,1239 ----
IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET( QT4_FOUND "YES" )
! INCLUDE(FindPackageMessage)
! FIND_PACKAGE_MESSAGE(Qt4 "Found Qt-Version ${QTVERSION}"
! "[${QT_LIBRARY_DIR}][${QT_INCLUDE_DIR}][${QT_MOC_EXECUTABLE}][${QT_UIC_EXECUTABLE}][${QT_RCC_EXECUTABLE}]")
ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
SET( QT4_FOUND "NO")
Index: FindPackageHandleStandardArgs.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindPackageHandleStandardArgs.cmake,v
retrieving revision 1.4
retrieving revision 1.5
diff -C 2 -d -r1.4 -r1.5
*** FindPackageHandleStandardArgs.cmake 6 Feb 2008 22:02:53 -0000 1.4
--- FindPackageHandleStandardArgs.cmake 17 Mar 2008 15:10:42 -0000 1.5
***************
*** 18,21 ****
--- 18,22 ----
# your own custom failure message there.
+ INCLUDE(FindPackageMessage)
FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
***************
*** 28,34 ****
--- 29,38 ----
STRING(TOUPPER ${_NAME} _NAME_UPPER)
+ SET(DETAILS "")
SET(${_NAME_UPPER}_FOUND TRUE)
IF(NOT ${_VAR1})
SET(${_NAME_UPPER}_FOUND FALSE)
+ ELSE(NOT ${_VAR1})
+ SET(DETAILS "${DETAILS}[${${_VAR1}}]")
ENDIF(NOT ${_VAR1})
***************
*** 37,47 ****
IF(NOT ${_CURRENT_VAR})
SET(${_NAME_UPPER}_FOUND FALSE)
ENDIF(NOT ${_CURRENT_VAR})
ENDFOREACH(_CURRENT_VAR)
IF (${_NAME_UPPER}_FOUND)
! IF (NOT ${_NAME}_FIND_QUIETLY)
! MESSAGE(STATUS "Found ${_NAME}: ${${_VAR1}}")
! ENDIF (NOT ${_NAME}_FIND_QUIETLY)
ELSE (${_NAME_UPPER}_FOUND)
IF (${_NAME}_FIND_REQUIRED)
--- 41,51 ----
IF(NOT ${_CURRENT_VAR})
SET(${_NAME_UPPER}_FOUND FALSE)
+ ELSE(NOT ${_CURRENT_VAR})
+ SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
ENDIF(NOT ${_CURRENT_VAR})
ENDFOREACH(_CURRENT_VAR)
IF (${_NAME_UPPER}_FOUND)
! FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_VAR1}}" "${DETAILS}")
ELSE (${_NAME_UPPER}_FOUND)
IF (${_NAME}_FIND_REQUIRED)
Index: FindX11.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindX11.cmake,v
retrieving revision 1.31
retrieving revision 1.32
diff -C 2 -d -r1.31 -r1.32
*** FindX11.cmake 20 Jan 2008 21:02:38 -0000 1.31
--- FindX11.cmake 17 Mar 2008 15:10:42 -0000 1.32
***************
*** 128,131 ****
--- 128,132 ----
ENDIF(X11_X11_LIB)
+ SET(X11_INCLUDE_DIR) # start with empty list
IF(X11_X11_INCLUDE_PATH)
SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_X11_INCLUDE_PATH})
***************
*** 146,149 ****
--- 147,151 ----
ENDIF(X11_Xshape_INCLUDE_PATH)
+ SET(X11_LIBRARIES) # start with empty list
IF(X11_X11_LIB)
SET(X11_LIBRARIES ${X11_LIBRARIES} ${X11_X11_LIB})
***************
*** 355,359 ****
SET(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
! MESSAGE(STATUS "Found X11: ${X11_X11_LIB}")
ELSE (X11_FOUND)
IF (X11_FIND_REQUIRED)
--- 357,363 ----
SET(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
! INCLUDE(FindPackageMessage)
! FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
! "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
ELSE (X11_FOUND)
IF (X11_FIND_REQUIRED)
More information about the Cmake-commits
mailing list