# Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
# reserved. Use of this source code is governed by a BSD-style license that
# can be found in the LICENSE file.

# Append platform specific sources to a list of sources.
macro(LIBCEF_APPEND_PLATFORM_SOURCES name_of_list)
  if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin" AND ${name_of_list}_MAC)
    list(APPEND ${name_of_list} ${${name_of_list}_MAC})
  endif()
  if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND ${name_of_list}_LINUX)
    list(APPEND ${name_of_list} ${${name_of_list}_LINUX})
  endif()
  if("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows" AND ${name_of_list}_WINDOWS)
    list(APPEND ${name_of_list} ${${name_of_list}_WINDOWS})
  endif()
endmacro()

set(CEF_TARGET libcef_dll_wrapper)

{{
  'prefix': 'libcef',
  'library': '${CEF_TARGET}',
  'append_macro': 'LIBCEF_APPEND_PLATFORM_SOURCES',
  'includes': [
    'includes_common',
    'includes_common_capi',
    'autogen_cpp_includes',
    'includes_capi',
    'autogen_capi_includes',
    'includes_wrapper',
    'includes_wrapper_mac:MAC',
    'includes_win:WINDOWS',
    'includes_win_capi:WINDOWS',
    'includes_mac:MAC',
    'includes_mac_capi:MAC',
    'includes_linux:LINUX',
    'includes_linux_capi:LINUX',
    'libcef_dll_wrapper_sources_base',
    'libcef_dll_wrapper_sources_common',
    'libcef_dll_wrapper_sources_mac:MAC',
    'autogen_client_side',
  ],
}}
SET_LIBRARY_TARGET_PROPERTIES(${CEF_TARGET})

# Creating the CEF wrapper library. Do not define this for dependent targets.
target_compile_definitions(${CEF_TARGET} PRIVATE -DWRAPPING_CEF_SHARED)

# Remove the default "lib" prefix from the resulting library.
set_target_properties(${CEF_TARGET} PROPERTIES PREFIX "")