From 61e0611e9fb96ddcc54c5bd2bf69fff89449b27a Mon Sep 17 00:00:00 2001 From: Ningyuan Li Date: Thu, 6 Feb 2025 11:51:25 +0900 Subject: [PATCH] moved unicapture to a separate directory --- CMakeLists.txt | 37 ++---------------- unicapture/CMakeLists.txt | 39 +++++++++++++++++++ {src => unicapture}/backends/libdile_vt.c | 0 {src => unicapture}/backends/libgm.c | 0 {src => unicapture}/backends/libhalgal.c | 0 {src => unicapture}/backends/libvtcapture.cpp | 0 {src => unicapture}/common.h | 0 {src => unicapture}/converter.c | 0 {src => unicapture}/converter.h | 0 {src => unicapture}/unicapture.c | 0 {src => unicapture}/unicapture.h | 0 11 files changed, 42 insertions(+), 34 deletions(-) create mode 100644 unicapture/CMakeLists.txt rename {src => unicapture}/backends/libdile_vt.c (100%) rename {src => unicapture}/backends/libgm.c (100%) rename {src => unicapture}/backends/libhalgal.c (100%) rename {src => unicapture}/backends/libvtcapture.cpp (100%) rename {src => unicapture}/common.h (100%) rename {src => unicapture}/converter.c (100%) rename {src => unicapture}/converter.h (100%) rename {src => unicapture}/unicapture.c (100%) rename {src => unicapture}/unicapture.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1e9960..61d805f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ include_directories(${LS2_INCLUDE_DIRS}) pkg_check_modules(PMLOG REQUIRED PmLogLib) include_directories(${PMLOG_INCLUDE_DIRS}) +add_subdirectory(unicapture) find_package(Git) add_custom_target(version @@ -48,8 +49,6 @@ add_executable(hyperion-webos src/main.c src/settings.c src/service.c - src/unicapture.c - src/converter.c src/log.c src/utils.c src/hyperion_client.c @@ -63,36 +62,6 @@ set_target_properties(hyperion-webos PROPERTIES # LINK_FLAGS "-Wl,-rpath,'$ORIGIN:$ORIGIN/lib' -Wl,-z,origin" ) target_include_directories(hyperion-webos PRIVATE ${CMAKE_BINARY_DIR}) -target_link_libraries(hyperion-webos fbs flatccrt pthread dl yuv rt ${GTHREAD2_LDFLAGS} ${PBNJSON_LDFLAGS} ${LS2_LDFLAGS} ${GLIB2_LDFLAGS} ${PMLOG_LDFLAGS}) -add_dependencies(hyperion-webos version gm_backend dile_vt_backend halgal_backend vtcapture_backend) +target_link_libraries(hyperion-webos fbs flatccrt pthread dl unicapture rt ${GTHREAD2_LDFLAGS} ${PBNJSON_LDFLAGS} ${LS2_LDFLAGS} ${GLIB2_LDFLAGS} ${PMLOG_LDFLAGS}) +add_dependencies(hyperion-webos version) set_property(TARGET hyperion-webos PROPERTY ENABLE_EXPORTS 1) - -# "Unified" v2 Backends -add_library(gm_backend SHARED - src/backends/libgm.c -) -target_include_directories(gm_backend PRIVATE src src/backends) -target_link_libraries(gm_backend gm) - -add_library(dile_vt_backend SHARED - src/backends/libdile_vt.c -) -target_include_directories(dile_vt_backend PRIVATE src src/backends) -target_link_libraries(dile_vt_backend dile_vt) - -# libdile_vt.so seems to be missing DT_NEEDED for libPmLogLib.so.3 - let's just -# add it over to our library. For some reason adding PmLogLib loaded via -# pkgconfig to target_link_libraries doesn't work... -set_target_properties(dile_vt_backend PROPERTIES LINK_FLAGS "-lPmLogLib") - -add_library(halgal_backend SHARED - src/backends/libhalgal.c -) -target_include_directories(halgal_backend PRIVATE src src/backends) -target_link_libraries(halgal_backend halgal) - -add_library(vtcapture_backend SHARED - src/backends/libvtcapture.cpp -) -target_include_directories(vtcapture_backend PRIVATE src src/backends) -target_link_libraries(vtcapture_backend vtcapture) diff --git a/unicapture/CMakeLists.txt b/unicapture/CMakeLists.txt new file mode 100644 index 0000000..5c8948d --- /dev/null +++ b/unicapture/CMakeLists.txt @@ -0,0 +1,39 @@ +add_library(unicapture STATIC + unicapture.c + converter.c +) +set(UNICAPTURE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/../src") +target_include_directories(unicapture PUBLIC ${UNICAPTURE_INCLUDE_DIRS}) +target_link_libraries(unicapture PUBLIC yuv) + +# "Unified" v2 Backends +add_library(gm_backend SHARED + backends/libgm.c +) +target_include_directories(gm_backend PRIVATE ${UNICAPTURE_INCLUDE_DIRS} backends) +target_link_libraries(gm_backend gm) + +add_library(dile_vt_backend SHARED + backends/libdile_vt.c +) +target_include_directories(dile_vt_backend PRIVATE ${UNICAPTURE_INCLUDE_DIRS} backends) +target_link_libraries(dile_vt_backend dile_vt) + +# libdile_vt.so seems to be missing DT_NEEDED for libPmLogLib.so.3 - let's just +# add it over to our library. For some reason adding PmLogLib loaded via +# pkgconfig to target_link_libraries doesn't work... +set_target_properties(dile_vt_backend PROPERTIES LINK_FLAGS "-lPmLogLib") + +add_library(halgal_backend SHARED + backends/libhalgal.c +) +target_include_directories(halgal_backend PRIVATE ${UNICAPTURE_INCLUDE_DIRS} backends) +target_link_libraries(halgal_backend halgal) + +add_library(vtcapture_backend SHARED + backends/libvtcapture.cpp +) +target_include_directories(vtcapture_backend PRIVATE ${UNICAPTURE_INCLUDE_DIRS} backends) +target_link_libraries(vtcapture_backend vtcapture) + +add_dependencies(unicapture gm_backend dile_vt_backend halgal_backend vtcapture_backend) diff --git a/src/backends/libdile_vt.c b/unicapture/backends/libdile_vt.c similarity index 100% rename from src/backends/libdile_vt.c rename to unicapture/backends/libdile_vt.c diff --git a/src/backends/libgm.c b/unicapture/backends/libgm.c similarity index 100% rename from src/backends/libgm.c rename to unicapture/backends/libgm.c diff --git a/src/backends/libhalgal.c b/unicapture/backends/libhalgal.c similarity index 100% rename from src/backends/libhalgal.c rename to unicapture/backends/libhalgal.c diff --git a/src/backends/libvtcapture.cpp b/unicapture/backends/libvtcapture.cpp similarity index 100% rename from src/backends/libvtcapture.cpp rename to unicapture/backends/libvtcapture.cpp diff --git a/src/common.h b/unicapture/common.h similarity index 100% rename from src/common.h rename to unicapture/common.h diff --git a/src/converter.c b/unicapture/converter.c similarity index 100% rename from src/converter.c rename to unicapture/converter.c diff --git a/src/converter.h b/unicapture/converter.h similarity index 100% rename from src/converter.h rename to unicapture/converter.h diff --git a/src/unicapture.c b/unicapture/unicapture.c similarity index 100% rename from src/unicapture.c rename to unicapture/unicapture.c diff --git a/src/unicapture.h b/unicapture/unicapture.h similarity index 100% rename from src/unicapture.h rename to unicapture/unicapture.h