mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-14 23:34:08 +00:00
62 lines
1.7 KiB
CMake
62 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.22...3.25)
|
|
|
|
legacy_check()
|
|
|
|
option(ENABLE_FREETYPE "Enable FreeType text plugin" ON)
|
|
|
|
if(NOT ENABLE_FREETYPE)
|
|
target_disable(text-freetype2)
|
|
return()
|
|
endif()
|
|
|
|
find_package(Freetype REQUIRED)
|
|
|
|
if(OS_MACOS)
|
|
find_package(Iconv REQUIRED)
|
|
elseif(
|
|
OS_LINUX
|
|
OR OS_FREEBSD
|
|
OR OS_OPENBSD)
|
|
find_package(Fontconfig REQUIRED)
|
|
endif()
|
|
|
|
add_library(text-freetype2 MODULE)
|
|
add_library(OBS::text-freetype2 ALIAS text-freetype2)
|
|
|
|
target_sources(
|
|
text-freetype2
|
|
PRIVATE # cmake-format: sortable
|
|
$<$<PLATFORM_ID:Darwin>:find-font-cocoa.m>
|
|
$<$<PLATFORM_ID:Darwin>:find-font-iconv.c>
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:find-font-unix.c>
|
|
$<$<PLATFORM_ID:Windows,Darwin>:find-font.c>
|
|
$<$<PLATFORM_ID:Windows>:find-font-windows.c>
|
|
find-font.h
|
|
obs-convenience.c
|
|
obs-convenience.h
|
|
text-freetype2.c
|
|
text-freetype2.h
|
|
text-functionality.c)
|
|
|
|
# cmake-format: off
|
|
target_link_libraries(
|
|
text-freetype2
|
|
PRIVATE OBS::libobs
|
|
Freetype::Freetype
|
|
$<$<PLATFORM_ID:Darwin>:Iconv::Iconv>
|
|
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>"
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:Fontconfig::Fontconfig>)
|
|
# cmake-format: on
|
|
|
|
# FreeType is hard-coded with /DEFAULTLIB:MSVCRT
|
|
target_link_options(text-freetype2 PRIVATE $<$<PLATFORM_ID:Windows>:/IGNORE:4098>)
|
|
|
|
if(OS_WINDOWS)
|
|
configure_file(cmake/windows/obs-module.rc.in text-freetype2.rc)
|
|
target_sources(text-freetype2 PRIVATE text-freetype2.rc)
|
|
endif()
|
|
|
|
# cmake-format: off
|
|
set_target_properties_obs(text-freetype2 PROPERTIES FOLDER plugins PREFIX "")
|
|
# cmake-format: on
|