diff options
author | Slávek Banko <[email protected]> | 2017-02-18 15:14:13 +0100 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2017-02-18 15:14:13 +0100 |
commit | f4d9c5424041c228b4f48f8a323c40e203dd1687 (patch) | |
tree | baecf73617448e611699af9defd95b8c09e166a8 | |
parent | 15c0bc505afd77e337ac5aae2ecf466fa7509454 (diff) | |
download | tdegraphics-f4d9c5424041c228b4f48f8a323c40e203dd1687.tar.gz tdegraphics-f4d9c5424041c228b4f48f8a323c40e203dd1687.zip |
likscan: Prefer pkg-config for libsane detection
Signed-off-by: Slávek Banko <[email protected]>
-rw-r--r-- | libkscan/ConfigureChecks.cmake | 76 |
1 files changed, 42 insertions, 34 deletions
diff --git a/libkscan/ConfigureChecks.cmake b/libkscan/ConfigureChecks.cmake index a26c495d..79f66b2f 100644 --- a/libkscan/ConfigureChecks.cmake +++ b/libkscan/ConfigureChecks.cmake @@ -9,46 +9,54 @@ # ################################################# -if( NOT HAVE_SANE ) - message( STATUS "checking for 'sane'..." ) +if( NOT SANE_FOUND ) + pkg_search_module( SANE sane-backends ) endif( ) -# find sane-config -find_program( SANE_EXECUTABLE NAMES sane-config ) -if( NOT SANE_EXECUTABLE ) - tde_message_fatal( "sane-config is NOT found.\n sane library is installed?" ) -endif( ) +if( NOT SANE_FOUND ) + message( STATUS "checking for 'sane'..." ) -macro( __run_sane_config __type __var ) - execute_process( - COMMAND ${SANE_EXECUTABLE} --${__type} - OUTPUT_VARIABLE ${__var} - RESULT_VARIABLE __result - OUTPUT_STRIP_TRAILING_WHITESPACE ) - if( _result ) - tde_message_fatal( "Unable to run ${SANE_EXECUTABLE}!\n sane library is correctly installed?\n Path to sane-config is corect?" ) + # find sane-config + find_program( SANE_EXECUTABLE NAMES sane-config ) + if( NOT SANE_EXECUTABLE ) + tde_message_fatal( "sane-config is NOT found.\n sane library is installed?" ) endif( ) -endmacro( ) -__run_sane_config( version SANE_VERSION ) -__run_sane_config( cflags SANE_INCLUDE_DIRS ) -__run_sane_config( libs SANE_LIBRARIES ) + macro( __run_sane_config __type __var ) + execute_process( + COMMAND ${SANE_EXECUTABLE} --${__type} + OUTPUT_VARIABLE ${__var} + RESULT_VARIABLE __result + OUTPUT_STRIP_TRAILING_WHITESPACE ) + if( _result ) + tde_message_fatal( "Unable to run ${SANE_EXECUTABLE}!\n sane library is correctly installed?\n Path to sane-config is corect?" ) + endif( ) + endmacro( ) -# cleanup -if( SANE_INCLUDE_DIRS ) - string( REGEX REPLACE "(^| )-I" ";" SANE_INCLUDE_DIRS "${SANE_INCLUDE_DIRS}" ) -endif( ) -if( SANE_LIBRARIES ) - ## remove all spaces and replace whitespace with ';' - string( REGEX REPLACE "[ ]+" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" ) - ## remove all non-library information - string( REGEX REPLACE ";[-][^l]([^ ;])+" "" SANE_LIBRARIES "${SANE_LIBRARIES}" ) - ## remove multiple ';' - string( REGEX REPLACE "[;]+" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" ) - ## remove '-l' - string( REGEX REPLACE "-l" "" SANE_LIBRARIES "${SANE_LIBRARIES}" ) -endif( ) + __run_sane_config( version SANE_VERSION ) + __run_sane_config( cflags SANE_INCLUDE_DIRS ) + __run_sane_config( libs SANE_LIBRARIES ) -if( NOT HAVE_SANE ) + # cleanup + if( SANE_INCLUDE_DIRS ) + string( REGEX REPLACE "(^| )-I" ";" SANE_INCLUDE_DIRS "${SANE_INCLUDE_DIRS}" ) + else( ) + set( SANE_INCLUDE_DIRS "/usr/include" ) + endif( ) + if( SANE_LIBRARIES ) + ## remove all spaces and replace whitespace with ';' + string( REGEX REPLACE "[ ]+" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" ) + ## remove all non-library information + string( REGEX REPLACE ";[-][^l]([^ ;])+" "" SANE_LIBRARIES "${SANE_LIBRARIES}" ) + ## remove multiple ';' + string( REGEX REPLACE "[;]+" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" ) + ## remove '-l' + string( REGEX REPLACE "-l" "" SANE_LIBRARIES "${SANE_LIBRARIES}" ) + endif( ) message( STATUS " found 'sane', version ${SANE_VERSION}" ) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args( SANE DEFAULT_MSG + SANE_LIBRARIES + SANE_INCLUDE_DIRS ) endif( ) |