mirror of
https://github.com/kekkodance/webos-steam-view.git
synced 2026-10-06 10:00:21 +02:00
67 lines
2.5 KiB
CMake
67 lines
2.5 KiB
CMake
# To suppress warnings for ExternalProject DOWNLOAD_EXTRACT_TIMESTAMP
|
|
if (POLICY CMP0135)
|
|
cmake_policy(SET CMP0135 NEW)
|
|
endif ()
|
|
|
|
if (TARGET ext_webos_userland)
|
|
return()
|
|
endif ()
|
|
|
|
message(STATUS "Using external webos-userland")
|
|
|
|
include(ExternalProject)
|
|
|
|
set(EXT_WEBOS_USERLAND_TOOLCHAIN_ARGS)
|
|
if (CMAKE_TOOLCHAIN_FILE)
|
|
list(APPEND EXT_WEBOS_USERLAND_TOOLCHAIN_ARGS "-DCMAKE_TOOLCHAIN_FILE:string=${CMAKE_TOOLCHAIN_FILE}")
|
|
endif ()
|
|
if (CMAKE_TOOLCHAIN_ARGS)
|
|
list(APPEND EXT_WEBOS_USERLAND_TOOLCHAIN_ARGS "-DCMAKE_TOOLCHAIN_ARGS:string=${CMAKE_TOOLCHAIN_ARGS}")
|
|
endif ()
|
|
|
|
ExternalProject_Add(ext_webos_userland
|
|
GIT_REPOSITORY https://github.com/webosbrew/webos-userland.git
|
|
GIT_TAG main
|
|
CMAKE_ARGS ${EXT_WEBOS_USERLAND_TOOLCHAIN_ARGS}
|
|
-DCMAKE_BUILD_TYPE:string=${CMAKE_BUILD_TYPE}
|
|
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
|
)
|
|
|
|
ExternalProject_Get_Property(ext_webos_userland INSTALL_DIR)
|
|
|
|
macro(add_webos_userland_library)
|
|
cmake_parse_arguments(_ADD "" "PREFIX;SONAME" "INCLUDES" ${ARGN})
|
|
string(TOLOWER "${_ADD_PREFIX}" _ADD_PREFIX_LOWER)
|
|
set(_ADD_TARGET "${_ADD_PREFIX_LOWER}_target")
|
|
if (TARGET ${_ADD_TARGET})
|
|
return()
|
|
endif ()
|
|
add_library(${_ADD_TARGET} SHARED IMPORTED)
|
|
message(STATUS "Adding ${_ADD_PREFIX_LOWER}")
|
|
set_target_properties(${_ADD_TARGET} PROPERTIES IMPORTED_LOCATION "${INSTALL_DIR}/lib/${_ADD_SONAME}")
|
|
|
|
ExternalProject_Add_Step(ext_webos_userland lib_${_ADD_PREFIX_LOWER} BYPRODUCTS "${INSTALL_DIR}/lib/${_ADD_SONAME}")
|
|
|
|
add_dependencies(${_ADD_TARGET} ext_webos_userland)
|
|
|
|
if (_ADD_INCLUDES)
|
|
list(TRANSFORM _ADD_INCLUDES PREPEND "${INSTALL_DIR}/include/")
|
|
set(${_ADD_PREFIX}_INCLUDE_DIRS ${_ADD_INCLUDES})
|
|
else ()
|
|
set(${_ADD_PREFIX}_INCLUDE_DIRS ${INSTALL_DIR}/include)
|
|
endif ()
|
|
set(${_ADD_PREFIX}_FOUND TRUE)
|
|
set(${_ADD_PREFIX}_INCLUDEDIR ${INSTALL_DIR}/include)
|
|
set(${_ADD_PREFIX}_LIBRARY ${_ADD_TARGET})
|
|
set(${_ADD_PREFIX}_LIBRARIES ${_ADD_TARGET})
|
|
endmacro()
|
|
|
|
list(APPEND CMAKE_MESSAGE_INDENT " ")
|
|
|
|
add_webos_userland_library(PREFIX LGNCOPENAPI SONAME liblgncopenapi.so INCLUDES lgncopenapi)
|
|
add_webos_userland_library(PREFIX NDL_DIRECTMEDIA SONAME libNDL_directmedia.so INCLUDES libndl-media)
|
|
add_webos_userland_library(PREFIX LIBPLAYERAPIS SONAME libplayerAPIs.so INCLUDES starfish-media-pipeline)
|
|
add_webos_userland_library(PREFIX HELPERS SONAME libhelpers.so INCLUDES webos-helpers)
|
|
add_webos_userland_library(PREFIX LIBACBAPI SONAME libAcbAPI.so INCLUDES appswitching-control-block)
|
|
|
|
list(POP_BACK CMAKE_MESSAGE_INDENT) |