Changeset 197297 in webkit


Ignore:
Timestamp:
Feb 28, 2016, 12:11:02 PM (9 years ago)
Author:
commit-queue@webkit.org
Message:

[cmake] Allow using FindGLIB in case glib is optional dependency.
https://bugs.webkit.org/show_bug.cgi?id=154796

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-02-28
Reviewed by Michael Catanzaro.

FindGLIB caused internal CMake error in case GLIBCONFIG_INCLUDE_DIR is
not defined.

  • Source/cmake/FindGLIB.cmake:
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r197145 r197297  
     12016-02-28  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        [cmake] Allow using FindGLIB in case glib is optional dependency.
     4        https://bugs.webkit.org/show_bug.cgi?id=154796
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        FindGLIB caused internal CMake error in case GLIBCONFIG_INCLUDE_DIR is
     9        not defined.
     10
     11        * Source/cmake/FindGLIB.cmake:
     12
    1132016-02-25  Myles C. Maxfield  <mmaxfield@apple.com>
    214
  • trunk/Source/cmake/FindGLIB.cmake

    r171962 r197297  
    7070set(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIBCONFIG_INCLUDE_DIR})
    7171
    72 # Version detection
    73 file(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
    74 string(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
    75 set(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
    76 string(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
    77 set(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
    78 string(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
    79 set(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
    80 set(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
     72if (${GLIBCONFIG_INCLUDE_DIR})
     73    # Version detection
     74    file(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
     75    string(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
     76    set(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
     77    string(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
     78    set(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
     79    string(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
     80    set(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
     81    set(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
    8182
    82 # Additional Glib components.  We only look for libraries, as not all of them
    83 # have corresponding headers and all headers are installed alongside the main
    84 # glib ones.
    85 foreach (_component ${GLIB_FIND_COMPONENTS})
    86     if (${_component} STREQUAL "gio")
    87         find_library(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
    88         set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
    89     elseif (${_component} STREQUAL "gobject")
    90         find_library(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
    91         set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
    92     elseif (${_component} STREQUAL "gmodule")
    93         find_library(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
    94         set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
    95     elseif (${_component} STREQUAL "gthread")
    96         find_library(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
    97         set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
    98     elseif (${_component} STREQUAL "gio-unix")
    99         # gio-unix is compiled as part of the gio library, but the include paths
    100         # are separate from the shared glib ones. Since this is currently only used
    101         # by WebKitGTK+ we don't go to extraordinary measures beyond pkg-config.
    102         pkg_check_modules(GIO_UNIX QUIET gio-unix-2.0)
    103     endif ()
    104 endforeach ()
     83    # Additional Glib components.  We only look for libraries, as not all of them
     84    # have corresponding headers and all headers are installed alongside the main
     85    # glib ones.
     86    foreach (_component ${GLIB_FIND_COMPONENTS})
     87        if (${_component} STREQUAL "gio")
     88            find_library(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
     89            set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
     90        elseif (${_component} STREQUAL "gobject")
     91            find_library(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
     92            set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
     93        elseif (${_component} STREQUAL "gmodule")
     94            find_library(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
     95            set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
     96        elseif (${_component} STREQUAL "gthread")
     97            find_library(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
     98            set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
     99        elseif (${_component} STREQUAL "gio-unix")
     100            # gio-unix is compiled as part of the gio library, but the include paths
     101            # are separate from the shared glib ones. Since this is currently only used
     102            # by WebKitGTK+ we don't go to extraordinary measures beyond pkg-config.
     103            pkg_check_modules(GIO_UNIX QUIET gio-unix-2.0)
     104        endif ()
     105    endforeach ()
    105106
    106 include(FindPackageHandleStandardArgs)
    107 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLIB REQUIRED_VARS GLIB_INCLUDE_DIRS GLIB_LIBRARIES ${ADDITIONAL_REQUIRED_VARS}
    108                                        VERSION_VAR   GLIB_VERSION)
     107    include(FindPackageHandleStandardArgs)
     108    FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLIB REQUIRED_VARS GLIB_INCLUDE_DIRS GLIB_LIBRARIES ${ADDITIONAL_REQUIRED_VARS}
     109                                           VERSION_VAR   GLIB_VERSION)
     110endif ()
    109111
    110112mark_as_advanced(
Note: See TracChangeset for help on using the changeset viewer.