Changeset 2940

Show
Ignore:
Timestamp:
12/11/07 14:39:47 (1 year ago)
Author:
prahal
Message:

Upgrade FindOpenSync? to FindPkgConfig?.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/3rd-party-cmake-modules/modules/FindOpenSync.cmake

    r2740 r2940  
    33# 
    44#  OPENSYNC_FOUND               True if OpenSync got found 
    5 #  OPENSYNC_INCLUDE_DIR         Location of OpenSync headers  
     5#  OPENSYNC_INCLUDE_DIRS         Location of OpenSync headers  
    66#  OPENSYNC_LIBRARIES           List of libaries to use OpenSync 
    7 #  OPENSYNC_DEFINITIONS         Definitions to compile OpenSync  
    87# 
    98# Copyright (c) 2007 Daniel Gollub <dgollub@suse.de> 
     9# Copyright (c) 2007 Alban Browaeys <prahal@yahoo.com> 
    1010# 
    1111#  Redistribution and use is allowed according to the terms of the New 
     
    1414# 
    1515 
     16# Take care about opensync-1.0.pc settings 
     17INCLUDE( FindPkgConfig ) 
     18 
     19IF ( OpenSync_FIND_REQUIRED ) 
     20        SET( _pkgconfig_REQUIRED "REQUIRED" ) 
     21ELSE( OpenSync_FIND_REQUIRED ) 
     22        SET( _pkgconfig_REQUIRED "" )    
     23ENDIF ( OpenSync_FIND_REQUIRED ) 
     24 
     25IF ( OPENSYNC_MIN_VERSION ) 
     26        PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} opensync-1.0>=${OPENSYNC_MIN_VERSION} ) 
     27ELSE ( OPENSYNC_MIN_VERSION ) 
     28        PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} opensync-1.0 ) 
     29ENDIF ( OPENSYNC_MIN_VERSION ) 
     30 
    1631FIND_PROGRAM( PKGCONFIG_EXECUTABLE NAMES pkg-config ) 
    1732 
    1833IF ( PKGCONFIG_EXECUTABLE ) 
    19         INCLUDE( UsePkgConfig
    20         # Take care about opensync-1.0.pc settings 
    21        PKGCONFIG( opensync-1.0 _opensync_include_DIR _opensync_link_DIR _opensync_link_FLAGS _opensync_cflags
     34        EXEC_PROGRAM( ${PKGCONFIG_EXECUTABLE} ARGS opensync-1.0 --variable=datadir OUTPUT_VARIABLE _opensync_data_DIR
     35        STRING( REGEX REPLACE "[\r\n]" " " _opensync_data_DIR "${_opensync_data_DIR}"  ) 
     36ENDIF ( PKGCONFIG_EXECUTABLE
    2237 
    2338 
    24         EXEC_PROGRAM( ${PKGCONFIG_EXECUTABLE} ARGS opensync-1.0 --variable=datadir OUTPUT_VARIABLE _opensync_data_DIR ) 
    25         STRING( REGEX REPLACE "[\r\n]" " " _opensync_data_DIR "${_opensync_data_DIR}"  ) 
     39# Look for OpenSync include dir and libraries without pkg-config  
     40IF( NOT OPENSYNC_FOUND AND NOT PKG_CONFIG_FOUND ) 
     41        # Fallback if pkg-config doesn't exist 
     42        FIND_PATH( OPENSYNC_INCLUDE_DIRS opensync/opensync.h PATH_SUFFIXES opensync-1.0 
     43                        PATHS 
     44                        /opt/local/include/ 
     45                        /sw/include/ 
     46                        /usr/local/include/ 
     47                        /usr/include/ ) 
    2648 
    27 ENDIF ( PKGCONFIG_EXECUTABLE ) 
     49        FIND_LIBRARY( OPENSYNC_LIBRARIES opensync 
     50                        PATHS 
     51                        /opt/local/lib 
     52                        /sw/lib 
     53                        /usr/lib 
     54                        /usr/local/lib 
     55                        /usr/lib64 
     56                        /usr/local/lib64 
     57                        /opt/lib64 ) 
    2858 
    29 # Look for OpenSync include dir and libraries, and take care about pkg-config first... 
    30 FIND_PATH( OPENSYNC_INCLUDE_DIR opensync/opensync.h PATHS ${_opensync_include_DIR} PATH_SUFFIXES opensync-1.0 NO_DEFAULT_PATH ) 
    31 FIND_PATH( OPENSYNC_INCLUDE_DIR opensync/opensync.h PATH_SUFFIXES opensync-1.0 
    32                 PATHS 
    33                 /opt/local/include/ 
    34                 /sw/include/ 
    35                 /usr/local/include/ 
    36                 /usr/include/ ) 
    37  
    38 FIND_LIBRARY( OPENSYNC_LIBRARIES opensync PATHS ${_opensync_link_DIR} NO_DEFAULT_PATH ) 
    39 FIND_LIBRARY( OPENSYNC_LIBRARIES opensync 
    40                 PATHS 
    41                 /opt/local/lib 
    42                 /sw/lib 
    43                 /usr/lib 
    44                 /usr/local/lib 
    45                 /usr/lib64 
    46                 /usr/local/lib64 
    47                 /opt/lib64 ) 
     59        # Report results 
     60        IF ( OPENSYNC_LIBRARIES AND OPENSYNC_INCLUDE_DIRS )      
     61                SET( OPENSYNC_FOUND 1 ) 
     62                IF ( NOT OpenSync_FIND_QUIETLY ) 
     63                        MESSAGE( STATUS "Found OpenSync: ${OPENSYNC_LIBRARIES}" ) 
     64                ENDIF ( NOT OpenSync_FIND_QUIETLY ) 
     65        ELSE ( OPENSYNC_LIBRARIES AND OPENSYNC_INCLUDE_DIRS )    
     66                IF ( OpenSync_FIND_REQUIRED ) 
     67                        MESSAGE( SEND_ERROR "Could NOT find OpenSync" ) 
     68                ELSE ( OpenSync_FIND_REQUIRED ) 
     69                        IF ( NOT OpenSync_FIND_QUIETLY ) 
     70                                MESSAGE( STATUS "Could NOT find OpenSync" )      
     71                        ENDIF ( NOT OpenSync_FIND_QUIETLY ) 
     72                ENDIF ( OpenSync_FIND_REQUIRED ) 
     73        ENDIF ( OPENSYNC_LIBRARIES AND OPENSYNC_INCLUDE_DIRS )   
     74ENDIF( NOT OPENSYNC_FOUND AND NOT PKG_CONFIG_FOUND ) 
    4875 
    4976FIND_PATH( OPENSYNC_CMAKE_MODULES "OpenSyncInternal.cmake" PATHS "${_opensync_data_DIR}" PATH_SUFFIXES "cmake/modules" NO_DEFAULT_PATH)  
     
    5178SET( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OPENSYNC_CMAKE_MODULES}" ) 
    5279 
    53 # Report results 
    54 IF ( OPENSYNC_LIBRARIES AND OPENSYNC_INCLUDE_DIR )       
    55         SET( OPENSYNC_FOUND 1 ) 
    56         IF ( NOT OpenSync_FIND_QUIETLY ) 
    57                 MESSAGE( STATUS "Found OpenSync: ${OPENSYNC_LIBRARIES}" ) 
    58         ENDIF ( NOT OpenSync_FIND_QUIETLY ) 
    59 ELSE ( OPENSYNC_LIBRARIES AND OPENSYNC_INCLUDE_DIR )     
    60         IF ( OpenSync_FIND_REQUIRED ) 
    61                 MESSAGE( SEND_ERROR "Could NOT find OpenSync" ) 
    62         ELSE ( OpenSync_FIND_REQUIRED ) 
    63                 IF ( NOT OpenSync_FIND_QUIETLY ) 
    64                         MESSAGE( STATUS "Could NOT find OpenSync" )      
    65                 ENDIF ( NOT OpenSync_FIND_QUIETLY ) 
    66         ENDIF ( OpenSync_FIND_REQUIRED ) 
    67 ENDIF ( OPENSYNC_LIBRARIES AND OPENSYNC_INCLUDE_DIR )    
     80# Hide advanced variables from CMake GUIs 
     81MARK_AS_ADVANCED( OPENSYNC_LIBRARIES OPENSYNC_INCLUDE_DIRS ) 
    6882 
    69 # Hide advanced variables from CMake GUIs 
    70 MARK_AS_ADVANCED( OPENSYNC_LIBRARIES OPENSYNC_INCLUDE_DIR ) 
    71