69 lines
2.0 KiB
CMake
69 lines
2.0 KiB
CMake
include_guard(GLOBAL)
|
|
|
|
function(qemby_append_default_qt_prefixes)
|
|
set(_qemby_qt_prefixes)
|
|
|
|
if(QEMBY_QT_ROOT)
|
|
list(APPEND _qemby_qt_prefixes
|
|
"${QEMBY_QT_ROOT}"
|
|
"${QEMBY_QT_ROOT}/lib/cmake"
|
|
)
|
|
endif()
|
|
|
|
if(DEFINED ENV{QTDIR} AND NOT "$ENV{QTDIR}" STREQUAL "")
|
|
list(APPEND _qemby_qt_prefixes
|
|
"$ENV{QTDIR}"
|
|
"$ENV{QTDIR}/lib/cmake"
|
|
)
|
|
endif()
|
|
|
|
if(WIN32)
|
|
list(APPEND _qemby_qt_prefixes
|
|
"E:/Qt6/6.9.2/msvc2022_64"
|
|
"E:/Qt6/6.9.2/msvc2022_64/lib/cmake"
|
|
)
|
|
endif()
|
|
|
|
foreach(_qemby_qt_prefix IN LISTS _qemby_qt_prefixes)
|
|
if(EXISTS "${_qemby_qt_prefix}")
|
|
list(APPEND CMAKE_PREFIX_PATH "${_qemby_qt_prefix}")
|
|
endif()
|
|
endforeach()
|
|
|
|
if(CMAKE_PREFIX_PATH)
|
|
list(REMOVE_DUPLICATES CMAKE_PREFIX_PATH)
|
|
endif()
|
|
|
|
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" PARENT_SCOPE)
|
|
endfunction()
|
|
|
|
function(qemby_link_libmpv target)
|
|
if(NOT TARGET "${target}")
|
|
message(FATAL_ERROR "qemby_link_libmpv: target '${target}' does not exist")
|
|
endif()
|
|
|
|
if(WIN32)
|
|
set(_qemby_mpv_root "${CMAKE_SOURCE_DIR}/libs/libmpv")
|
|
set(_qemby_mpv_include_dir "${_qemby_mpv_root}/include")
|
|
|
|
find_library(MPV_LIBRARY
|
|
NAMES mpv libmpv mpv-2 libmpv-2
|
|
PATHS "${_qemby_mpv_root}/lib"
|
|
NO_DEFAULT_PATH
|
|
)
|
|
|
|
if(NOT MPV_LIBRARY OR NOT EXISTS "${_qemby_mpv_include_dir}/mpv/client.h")
|
|
message(FATAL_ERROR
|
|
"Could not find bundled libmpv. Place the libmpv SDK under libs/libmpv.")
|
|
endif()
|
|
|
|
target_include_directories("${target}" PRIVATE "${_qemby_mpv_include_dir}")
|
|
target_link_libraries("${target}" PRIVATE "${MPV_LIBRARY}")
|
|
return()
|
|
endif()
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_check_modules(MPV REQUIRED IMPORTED_TARGET mpv)
|
|
target_link_libraries("${target}" PRIVATE PkgConfig::MPV)
|
|
endfunction()
|