Files
Renderive/Qt/CMakeLists.txt
T
2026-08-11 14:55:46 +08:00

38 lines
1.3 KiB
CMake

find_package(Qt5 CONFIG REQUIRED COMPONENTS Core Gui Widgets)
add_library(Renderive_Qt STATIC)
target_sources(Renderive_Qt PRIVATE
bridge/Qt_Event_Adapter.cpp
bridge/Qt_Image_Adapter.cpp
bridge/Qt_Presentation_Sink.cpp
plot/Explicit_Plot.cpp
plot/Latency_Eager_Plot.cpp
plot/Plot.cpp
)
set_target_properties(Renderive_Qt PROPERTIES AUTOMOC ON)
target_include_directories(Renderive_Qt PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/..>"
)
target_compile_features(Renderive_Qt PUBLIC cxx_std_20)
target_link_libraries(Renderive_Qt PUBLIC
Renderive_render_2D
Qt5::Core
Qt5::Gui
Qt5::Widgets
)
if(MSVC)
target_compile_options(Renderive_Qt PRIVATE /utf-8)
endif()
if(RENDERIVE_BUILD_TESTS)
find_package(GTest CONFIG REQUIRED)
add_executable(Renderive_Qt_Tests tests/Qt_Bridge_Tests.cpp)
target_link_libraries(Renderive_Qt_Tests PRIVATE Renderive_Qt GTest::gtest)
get_filename_component(renderive_qt_runtime_root "${Qt5_DIR}/../../.." ABSOLUTE)
add_test(NAME Renderive_Qt_Tests
COMMAND "${CMAKE_COMMAND}" -E env
"PATH=${renderive_qt_runtime_root}/bin\;$ENV{PATH}"
"QT_QPA_PLATFORM=offscreen"
"QT_QPA_PLATFORM_PLUGIN_PATH=${renderive_qt_runtime_root}/plugins/platforms"
"$<TARGET_FILE:Renderive_Qt_Tests>"
)
endif()