1 # - Locate the GNU Guile library
2 # Once done, this will define
4 # Guile_FOUND - system has Freetype
5 # Guile_INCLUDE_DIRS - the Freetype include directories
6 # Guile_LIBRARIES - link these to use Freetype
7 # Guile_VERSION_STRING - version of Guile
9 FIND_PROGRAM(GUILECONFIG_EXECUTABLE NAMES guile-config )
11 # if guile-config has been found
12 IF(GUILECONFIG_EXECUTABLE)
14 EXECUTE_PROCESS(COMMAND ${GUILECONFIG_EXECUTABLE} link
15 OUTPUT_VARIABLE _guileconfigDevNull RESULT_VARIABLE _return_VALUE )
17 # and if the package of interest also exists for guile-config, then get the information
20 EXECUTE_PROCESS(COMMAND ${GUILECONFIG_EXECUTABLE} link
21 OUTPUT_VARIABLE _guileconfig_link )
23 EXECUTE_PROCESS(COMMAND ${GUILECONFIG_EXECUTABLE} compile
24 OUTPUT_VARIABLE _guileconfig_compile )
26 EXECUTE_PROCESS(COMMAND ${GUILECONFIG_EXECUTABLE} info libdir
27 OUTPUT_VARIABLE _guileconfig_libdir )
30 EXECUTE_PROCESS(COMMAND ${GUILECONFIG_EXECUTABLE} "--version"
31 OUTPUT_VARIABLE _guileconfig_version ERROR_VARIABLE _guileconfig_version )
38 STRING(REGEX MATCHALL "[-][L]([^ ;])+" _guile_libdirs_with_prefix "${_guileconfig_link}" )
39 STRING(REGEX MATCHALL "[-][l]([^ ;])+" _guile_libraries_with_prefix "${_guileconfig_link}" )
40 STRING(REGEX MATCHALL "[-][I]([^ ;])+" _guile_includes_with_prefix "${_guileconfig_compile}" )
41 STRING(REGEX MATCHALL "[-][D]([^ ;])+" _guile_definitions_with_prefix "${_guileconfig_compile}" )
42 STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" Guile_VERSION_STRING "${_guileconfig_version}")
44 STRING(REPLACE "-L" " " _guile_libdirs ${_guile_libdirs_with_prefix} )
45 STRING(REPLACE "-l" " " _guile_lib_list "${_guile_libraries_with_prefix}" )
46 STRING(REPLACE "-I" " " _guile_includes "${_guile_includes_with_prefix}" )
47 # SEPARATE_ARGUMENTS(_guile_libdirs)
49 MESSAGE(STATUS ${_guile_libraries_with_prefix})
50 SET(_guile_libraries "")
52 FOREACH(i ${_guile_lib_list})
55 IF(NOT _guile_flag_library_${i}) # avoid copies
56 find_library(_guile_tmp_library_${i}
58 PATHS ${_guile_libdirs}
60 # MESSAGE(STATUS ">>>>>>>>>" ${_guile_tmp_library_${i}})
61 IF(_guile_tmp_library_${i})
62 SET(_guile_flag_library_${i})
63 SET(_guile_libraries ${_guile_libraries} ${_guile_tmp_library_${i}})
64 ENDIF(_guile_tmp_library_${i})
65 ENDIF(NOT _guile_flag_library_${i})
72 SET(Guile_INCLUDE_DIRS ${_guile_includes})
73 SET(Guile_LIBRARIES ${_guile_libraries})
74 SET(Guile_CFLAGS ${_guile_definitions_with_prefix})
76 MESSAGE(">>>" "${Guile_INCLUDE_DIRS}")
77 MESSAGE(">>>" "${Guile_LIBRARIES}")
78 MESSAGE(">>>" "${Guile_CFLAGS}")
79 MESSAGE(">>>" "${_guileconfig_version}")
81 ELSE( NOT _return_VALUE)
83 MESSAGE(STATUS "guile-config not working; I assume guile is not installed.")
85 ENDIF(NOT _return_VALUE)
87 ELSE(GUILECONFIG_EXECUTABLE)
89 MESSAGE(STATUS "guile-config not found; I assume guile is not installed.")
92 ENDIF(GUILECONFIG_EXECUTABLE)