Files
transui/CMakeLists.txt
2026-08-29 23:11:50 +02:00

64 lines
2.1 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(transui VERSION 0.1.1 LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0)
pkg_check_modules(CURL REQUIRED IMPORTED_TARGET libcurl)
pkg_check_modules(GSTREAMER REQUIRED IMPORTED_TARGET gstreamer-1.0)
pkg_check_modules(SECRET REQUIRED IMPORTED_TARGET libsecret-1)
pkg_check_modules(JSON_GLIB REQUIRED IMPORTED_TARGET json-glib-1.0)
add_executable(transui src/main.cpp src/transcript_cleaner.cpp)
target_link_libraries(transui PRIVATE
PkgConfig::GTK3
PkgConfig::CURL
PkgConfig::GSTREAMER
PkgConfig::SECRET
PkgConfig::JSON_GLIB
)
install(TARGETS transui RUNTIME DESTINATION bin)
install(FILES data/io.github.transui.Transui.desktop DESTINATION share/applications)
include(CTest)
if(BUILD_TESTING)
add_executable(transcript_cleaner_test
tests/transcript_cleaner_test.cpp
src/transcript_cleaner.cpp
)
target_include_directories(transcript_cleaner_test PRIVATE src)
add_test(NAME transcript_cleaner COMMAND transcript_cleaner_test)
add_executable(mp3_encoder_test
tests/mp3_encoder_test.c
third_party/transui_mp3/transui_mp3.c
third_party/shine/src/lib/bitstream.c
third_party/shine/src/lib/huffman.c
third_party/shine/src/lib/l3bitstream.c
third_party/shine/src/lib/l3loop.c
third_party/shine/src/lib/l3mdct.c
third_party/shine/src/lib/l3subband.c
third_party/shine/src/lib/layer3.c
third_party/shine/src/lib/reservoir.c
third_party/shine/src/lib/tables.c
)
target_include_directories(mp3_encoder_test PRIVATE
third_party/transui_mp3
third_party/shine/src/lib
)
target_link_libraries(mp3_encoder_test PRIVATE m)
add_test(NAME mp3_encoder COMMAND mp3_encoder_test)
endif()
set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_NAME "transui")
set(CPACK_PACKAGE_CONTACT "Transui contributors")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Transui contributors")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_DEPENDS "gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, wtype | xdotool")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
include(CPack)