obs-studio/plugins/text-freetype2/CMakeLists.txt

52 lines
1.5 KiB
CMake

project(text-freetype2)
option(ENABLE_FREETYPE "Enable FreeType text plugin" ON)
if(NOT ENABLE_FREETYPE)
obs_status(DISABLED "text-freetype2")
return()
endif()
find_package(Freetype REQUIRED)
add_library(text-freetype2 MODULE)
add_library(OBS::text-freetype2 ALIAS text-freetype2)
target_sources(
text-freetype2 PRIVATE find-font.h obs-convenience.c text-functionality.c
text-freetype2.c obs-convenience.h text-freetype2.h)
target_link_libraries(text-freetype2 PRIVATE OBS::libobs Freetype::Freetype)
set_target_properties(text-freetype2 PROPERTIES FOLDER "plugins" PREFIX "")
if(OS_WINDOWS)
set(MODULE_DESCRIPTION "OBS FreeType text module")
configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
text-freetype2.rc)
target_sources(text-freetype2 PRIVATE find-font.c find-font-windows.c
text-freetype2.rc)
target_link_options(text-freetype2 PRIVATE "LINKER:/IGNORE:4098"
"LINKER:/IGNORE:4099")
elseif(OS_MACOS)
find_package(Iconv REQUIRED)
find_library(COCOA Cocoa)
mark_as_advanced(COCOA)
target_sources(text-freetype2 PRIVATE find-font.c find-font-cocoa.m
find-font-iconv.c)
target_link_libraries(text-freetype2 PRIVATE Iconv::Iconv ${COCOA})
elseif(OS_POSIX)
find_package(Fontconfig REQUIRED)
target_sources(text-freetype2 PRIVATE find-font-unix.c)
target_link_libraries(text-freetype2 PRIVATE Fontconfig::Fontconfig)
endif()
setup_plugin_target(text-freetype2)