summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2017-02-18 15:14:13 +0100
committerSlávek Banko <slavek.banko@axis.cz>2017-02-18 15:14:13 +0100
commitf4d9c5424041c228b4f48f8a323c40e203dd1687 (patch)
treebaecf73617448e611699af9defd95b8c09e166a8
parent15c0bc505afd77e337ac5aae2ecf466fa7509454 (diff)
downloadtdegraphics-f4d9c542.tar.gz
tdegraphics-f4d9c542.zip
likscan: Prefer pkg-config for libsane detection
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--libkscan/ConfigureChecks.cmake76
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( )