libcogcore-sys 0.1.0

FFI bindings to libcogcore (Cog WPE browser engine)
gamepad_manette = wpe_dep.version().version_compare('>= 1.13.90') and manette_dep.found()

cog_config = configuration_data()
cog_config.set('COG_MODULEDIR', plugin_path)
cog_config.set('PROJECT_VERSION_MAJOR', project_version_components[0])
cog_config.set('PROJECT_VERSION_MINOR', project_version_components[1])
cog_config.set('PROJECT_VERSION_PATCH', project_version_components[2])
cog_config.set('PROJECT_VERSION', meson.project_version())
cog_config.set('COG_VERSION_EXTRA', project_version_git_tag)
cog_config.set('COG_DEFAULT_APPID', cog_launcher_appid)
cog_config.set('COG_DEFAULT_HOME_URI', cog_launcher_home_uri)
cog_config.set10('HAVE_WEBKIT_MEM_PRESSURE_API',
    wpewebkit_dep.version().version_compare('>=2.34.0'))
cog_config.set10('ENABLE_GAMEPAD_MANETTE', gamepad_manette)

cogcore_config_h = configure_file(
    input: 'cog-config.h.in',
    output: 'cog-config.h',
    format: 'cmake@',
    configuration: cog_config,
)

cogcore_headers = files(
    'cog.h',
    'cog-export.h',
    'cog-request-handler.h',
    'cog-directory-files-handler.h',
    'cog-host-routes-handler.h',
    'cog-prefix-routes-handler.h',
    'cog-shell.h',
    'cog-utils.h',
    'cog-webkit-utils.h',
    'cog-platform.h',
    'cog-modules.h',
    'cog-gamepad.h',
    'cog-view.h',
    'cog-viewport.h',
)
cogcore_sources = files(
    'cog-directory-files-handler.c',
    'cog-host-routes-handler.c',
    'cog-modules.c',
    'cog-platform.c',
    'cog-fallback-platform.c',
    'cog-prefix-routes-handler.c',
    'cog-request-handler.c',
    'cog-shell.c',
    'cog-utils.c',
    'cog-webkit-utils.c',
    'cog-gamepad.c',
    'cog-view.c',
    'cog-viewport.c',
)

cogcore_dependencies = [
    wpewebkit_dep,
]

install_headers(cogcore_headers, cogcore_config_h, subdir: 'cog')

if (gamepad_manette)
    cogcore_sources += files('cog-gamepad-manette.c')
    cogcore_dependencies += manette_dep
endif

cogcore_lib = shared_library('cogcore',
    cogcore_config_h,
    cogcore_sources,
    c_args: ['-DG_LOG_DOMAIN="Cog-Core"'],
    dependencies: cogcore_dependencies,
    version: cogcore_soversion,
    soversion: cogcore_soversion_major,
    gnu_symbol_visibility: 'hidden',
    install: true,
)

cogcore_dep = declare_dependency(
    link_with: cogcore_lib,
    dependencies: cogcore_dependencies,
    include_directories: include_directories('.'),
)

import('pkgconfig').generate(
    cogcore_lib,
    description: 'Cog Core - WPE WebKit base launcher',
    subdirs: 'cog',
    requires: cogcore_dependencies,
)