You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							57 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							57 lines
						
					
					
						
							2.0 KiB
						
					
					
				| #.rst: | |
| # FindPackageMessage | |
| # ------------------ | |
| # | |
| # | |
| # | |
| # 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() | |
| #    ... | |
| #   endif() | |
|  | |
| #============================================================================= | |
| # Copyright 2008-2009 Kitware, Inc. | |
| # | |
| # Distributed under the OSI-approved BSD License (the "License"); | |
| # see accompanying file Copyright.txt for details. | |
| # | |
| # This software is distributed WITHOUT ANY WARRANTY; without even the | |
| # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
| # See the License for more information. | |
| #============================================================================= | |
| # (To distribute this file outside of CMake, substitute the full | |
| #  License text for the above reference.) | |
|  | |
| function(FIND_PACKAGE_MESSAGE pkg msg details) | |
|   # Avoid printing a message repeatedly for the same find result. | |
|   if(NOT ${pkg}_FIND_QUIETLY) | |
|     string(REGEX REPLACE "[\n]" "" details "${details}") | |
|     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() | |
|   endif() | |
| endfunction()
 |