38 lines
1.3 KiB
CMake
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()
|