Skip to content
  • rakuco@webkit.org's avatar
    [CMake] Rewrite FindGStreamer.cmake. · ac4c4463
    rakuco@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=85857
    
    Reviewed by Daniel Bates.
    
    .:
    
    We are currently kind of duplicating the same
    FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
    to be found. Besides this approach not scaling very well, it
    relies on pkg-config for version checking, uses the LibFindMacros
    package that we should deprecate and all the find files could be
    merged into one, with users using the COMPONENTS feature of the
    FIND_PACKAGE() call to find the desired plugins.
    
    FindGStreamer.cmake has then been rewritten to take all that into
    account:
    - The LibFindMacros.cmake package is not used anymore.
    - Version check is performed in the CMake file itself by parsing
    the gstversion.h header.
    - All GStreamer plugins are searched and the COMPONENTS keyword
    used in the FIND_PACKAGE() call is used to check which plugins are
    required.
    - The plugins-base and base GStreamer plugins are not searched, as
    they were not used anywhere in the build system.
    
    * Source/cmake/FindGStreamer-App.cmake: Removed.
    * Source/cmake/FindGStreamer-Audio.cmake: Removed.
    * Source/cmake/FindGStreamer-Base.cmake: Removed.
    * Source/cmake/FindGStreamer-FFT.cmake: Removed.
    * Source/cmake/FindGStreamer-Interfaces.cmake: Removed.
    * Source/cmake/FindGStreamer-Pbutils.cmake: Removed.
    * Source/cmake/FindGStreamer-Plugins-Base.cmake: Removed.
    * Source/cmake/FindGStreamer-Video.cmake: Removed.
    * Source/cmake/FindGStreamer.cmake: Rewrite as described above.
    * Source/cmake/OptionsEfl.cmake: Use COMPONENTS to specify which
    GStreamer plugins to look for.
    
    Source/WebCore:
    
    No new tests, build system change.
    
    We are currently kind of duplicating the same
    FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
    to be found. Besides this approach not scaling very well, it
    relies on pkg-config for version checking, uses the LibFindMacros
    package that we should deprecate and all the find files could be
    merged into one, with users using the COMPONENTS feature of the
    FIND_PACKAGE() call to find the desired plugins.
    
    FindGStreamer.cmake has then been rewritten to take all that into
    account:
    - The LibFindMacros.cmake package is not used anymore.
    - Version check is performed in the CMake file itself by parsing
    the gstversion.h header.
    - All GStreamer plugins are searched and the COMPONENTS keyword
    used in the FIND_PACKAGE() call is used to check which plugins are
    required.
    - The plugins-base and base GStreamer plugins are not searched, as
    they were not used anywhere in the build system.
    
    * PlatformEfl.cmake: Update GStreamer-related variable names.
    
    Source/WebKit:
    
    We are currently kind of duplicating the same
    FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
    to be found. Besides this approach not scaling very well, it
    relies on pkg-config for version checking, uses the LibFindMacros
    package that we should deprecate and all the find files could be
    merged into one, with users using the COMPONENTS feature of the
    FIND_PACKAGE() call to find the desired plugins.
    
    FindGStreamer.cmake has then been rewritten to take all that into
    account:
    - The LibFindMacros.cmake package is not used anymore.
    - Version check is performed in the CMake file itself by parsing
    the gstversion.h header.
    - All GStreamer plugins are searched and the COMPONENTS keyword
    used in the FIND_PACKAGE() call is used to check which plugins are
    required.
    - The plugins-base and base GStreamer plugins are not searched, as
    they were not used anywhere in the build system.
    
    * PlatformEfl.cmake: Update GStreamer-related variable names.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    ac4c4463