cmake 更新
This commit is contained in:
+197
-190
@@ -1,16 +1,27 @@
|
||||
|
||||
w_use3rd(Qt5)
|
||||
find_package(blend2d CONFIG REQUIRED)
|
||||
|
||||
|
||||
set(renderive_dependencies
|
||||
global::GTest
|
||||
global::blend2d
|
||||
global::GTest
|
||||
global::blend2d
|
||||
)
|
||||
rcl_add_dependency_action_targets(renderive_env ${renderive_dependencies})
|
||||
library_is_installed_with_rely(renderive_dependencies_installed ${renderive_dependencies})
|
||||
if (NOT renderive_dependencies_installed)
|
||||
message(STATUS "Renderive 依赖未安装,请先构建 renderive_env 目标")
|
||||
return()
|
||||
message(STATUS "============== Renderive 依赖未安装,请先构建 renderive_env 目标")
|
||||
return()
|
||||
else ()
|
||||
find_package(blend2d CONFIG REQUIRED)
|
||||
if (NOT TARGET blend2d::blend2d)
|
||||
message(FATAL_ERROR "Renderive依赖错误 blend2d::blend2d was not found")
|
||||
return()
|
||||
endif ()
|
||||
find_package(GTest CONFIG REQUIRED)
|
||||
if (NOT TARGET GTest::gtest)
|
||||
message(FATAL_ERROR "Renderive依赖错误 GTest::GTest was not found")
|
||||
return()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
option(YSGRAPHIC_CORE_BUILD_TESTS "Build Renderive_Core test targets" ON)
|
||||
@@ -21,84 +32,81 @@ option(RENDERIVE_MEMORY_GLOBAL_POOL "Enable Renderive small object synchronized
|
||||
option(RENDERIVE_FRAME_ARENA_GROW "Enable Renderive frame arena high-water growth" ON)
|
||||
|
||||
if (YSGRAPHIC_CORE_ENABLE_ASAN AND YSGRAPHIC_CORE_ENABLE_TSAN)
|
||||
message(FATAL_ERROR "Renderive cannot enable ASan and TSan simultaneously")
|
||||
message(FATAL_ERROR "Renderive cannot enable ASan and TSan simultaneously")
|
||||
endif ()
|
||||
|
||||
if (NOT TARGET blend2d::blend2d)
|
||||
message(FATAL_ERROR "Blend2D target blend2d::blend2d was not found")
|
||||
endif ()
|
||||
|
||||
if (YSGRAPHIC_CORE_ENABLE_ASAN AND MSVC)
|
||||
string(REPLACE "/RTC1" "" __PSC_CMAKE_CXX_FLAGS_DEBUG "${__PSC_CMAKE_CXX_FLAGS_DEBUG}")
|
||||
string(REPLACE "/RTC1" "" __PSC_CMAKE_C_FLAGS_DEBUG "${__PSC_CMAKE_C_FLAGS_DEBUG}")
|
||||
set(__PSC_CMAKE_CXX_FLAGS_DEBUG "${__PSC_CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "" FORCE)
|
||||
set(__PSC_CMAKE_C_FLAGS_DEBUG "${__PSC_CMAKE_C_FLAGS_DEBUG}" CACHE STRING "" FORCE)
|
||||
add_library(Renderive_ASAN_Options INTERFACE)
|
||||
target_compile_options(Renderive_ASAN_Options INTERFACE /fsanitize=address)
|
||||
target_link_options(Renderive_ASAN_Options INTERFACE /fsanitize=address /INCREMENTAL:NO)
|
||||
string(REPLACE "/RTC1" "" __PSC_CMAKE_CXX_FLAGS_DEBUG "${__PSC_CMAKE_CXX_FLAGS_DEBUG}")
|
||||
string(REPLACE "/RTC1" "" __PSC_CMAKE_C_FLAGS_DEBUG "${__PSC_CMAKE_C_FLAGS_DEBUG}")
|
||||
set(__PSC_CMAKE_CXX_FLAGS_DEBUG "${__PSC_CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "" FORCE)
|
||||
set(__PSC_CMAKE_C_FLAGS_DEBUG "${__PSC_CMAKE_C_FLAGS_DEBUG}" CACHE STRING "" FORCE)
|
||||
add_library(Renderive_ASAN_Options INTERFACE)
|
||||
target_compile_options(Renderive_ASAN_Options INTERFACE /fsanitize=address)
|
||||
target_link_options(Renderive_ASAN_Options INTERFACE /fsanitize=address /INCREMENTAL:NO)
|
||||
endif ()
|
||||
|
||||
function(renderive_apply_sanitizer target)
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if (YSGRAPHIC_CORE_ENABLE_ASAN)
|
||||
if (MSVC)
|
||||
target_link_libraries(${target} PRIVATE Renderive_ASAN_Options)
|
||||
if (target_type STREQUAL "STATIC_LIBRARY")
|
||||
target_link_libraries(${target} INTERFACE Renderive_ASAN_Options)
|
||||
endif ()
|
||||
else ()
|
||||
target_compile_options(${target} PRIVATE -fsanitize=address -fno-omit-frame-pointer)
|
||||
if (target_type STREQUAL "STATIC_LIBRARY")
|
||||
target_link_options(${target} INTERFACE -fsanitize=address)
|
||||
else ()
|
||||
target_link_options(${target} PRIVATE -fsanitize=address)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
if (YSGRAPHIC_CORE_ENABLE_TSAN)
|
||||
if (MSVC)
|
||||
message(FATAL_ERROR "Renderive TSan is not supported by MSVC")
|
||||
endif ()
|
||||
target_compile_options(${target} PRIVATE -fsanitize=thread -fno-omit-frame-pointer)
|
||||
if (target_type STREQUAL "STATIC_LIBRARY")
|
||||
target_link_options(${target} INTERFACE -fsanitize=thread)
|
||||
else ()
|
||||
target_link_options(${target} PRIVATE -fsanitize=thread)
|
||||
endif ()
|
||||
endif ()
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if (YSGRAPHIC_CORE_ENABLE_ASAN)
|
||||
if (MSVC)
|
||||
target_link_libraries(${target} PRIVATE Renderive_ASAN_Options)
|
||||
if (target_type STREQUAL "STATIC_LIBRARY")
|
||||
target_link_libraries(${target} INTERFACE Renderive_ASAN_Options)
|
||||
endif ()
|
||||
else ()
|
||||
target_compile_options(${target} PRIVATE -fsanitize=address -fno-omit-frame-pointer)
|
||||
if (target_type STREQUAL "STATIC_LIBRARY")
|
||||
target_link_options(${target} INTERFACE -fsanitize=address)
|
||||
else ()
|
||||
target_link_options(${target} PRIVATE -fsanitize=address)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
if (YSGRAPHIC_CORE_ENABLE_TSAN)
|
||||
if (MSVC)
|
||||
message(FATAL_ERROR "Renderive TSan is not supported by MSVC")
|
||||
endif ()
|
||||
target_compile_options(${target} PRIVATE -fsanitize=thread -fno-omit-frame-pointer)
|
||||
if (target_type STREQUAL "STATIC_LIBRARY")
|
||||
target_link_options(${target} INTERFACE -fsanitize=thread)
|
||||
else ()
|
||||
target_link_options(${target} PRIVATE -fsanitize=thread)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction()
|
||||
|
||||
function(renderive_enable_qt_target target)
|
||||
set_target_properties(${target} PROPERTIES
|
||||
AUTOMOC ON
|
||||
AUTOUIC ON
|
||||
AUTORCC ON
|
||||
)
|
||||
set_target_properties(${target} PROPERTIES
|
||||
AUTOMOC ON
|
||||
AUTOUIC ON
|
||||
AUTORCC ON
|
||||
)
|
||||
endfunction()
|
||||
|
||||
set(renderive_public_libraries
|
||||
Qt5::Widgets
|
||||
Qt5::Core
|
||||
Qt5::Svg
|
||||
Qt5::Xml
|
||||
Qt5::PrintSupport
|
||||
Qt5::Multimedia
|
||||
Qt5::QuickWidgets
|
||||
Core_Static
|
||||
blend2d::blend2d
|
||||
Qt5::Widgets
|
||||
Qt5::Core
|
||||
Qt5::Svg
|
||||
Qt5::Xml
|
||||
Qt5::PrintSupport
|
||||
Qt5::Multimedia
|
||||
Qt5::QuickWidgets
|
||||
Core_Static
|
||||
blend2d::blend2d
|
||||
)
|
||||
|
||||
find_package(OpenGL QUIET)
|
||||
if (OpenGL_FOUND)
|
||||
list(APPEND renderive_public_libraries OpenGL::GL)
|
||||
list(APPEND renderive_public_libraries OpenGL::GL)
|
||||
endif ()
|
||||
|
||||
set(renderive_root "${CMAKE_CURRENT_LIST_DIR}/Renderive")
|
||||
file(GLOB_RECURSE renderive_sources CONFIGURE_DEPENDS
|
||||
"${renderive_root}/*.c"
|
||||
"${renderive_root}/*.cpp"
|
||||
"${renderive_root}/*.h"
|
||||
"${renderive_root}/*.qrc"
|
||||
"${renderive_root}/*.c"
|
||||
"${renderive_root}/*.cpp"
|
||||
"${renderive_root}/*.h"
|
||||
"${renderive_root}/*.qrc"
|
||||
)
|
||||
list(FILTER renderive_sources EXCLUDE REGEX "main\\.cpp$")
|
||||
list(FILTER renderive_sources EXCLUDE REGEX "Performance_Shower(_p)?\\.(cpp|h)$")
|
||||
@@ -107,16 +115,16 @@ add_library(Renderive STATIC ${renderive_sources})
|
||||
target_include_directories(Renderive PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||
target_link_libraries(Renderive PUBLIC ${renderive_public_libraries})
|
||||
target_compile_definitions(Renderive PUBLIC
|
||||
RENDERIVE_MEMORY_DOMAIN_STATS=$<BOOL:${RENDERIVE_MEMORY_DOMAIN_STATS}>
|
||||
RENDERIVE_MEMORY_GLOBAL_POOL=$<BOOL:${RENDERIVE_MEMORY_GLOBAL_POOL}>
|
||||
RENDERIVE_FRAME_ARENA_GROW=$<BOOL:${RENDERIVE_FRAME_ARENA_GROW}>
|
||||
RENDERIVE_MEMORY_DOMAIN_STATS=$<BOOL:${RENDERIVE_MEMORY_DOMAIN_STATS}>
|
||||
RENDERIVE_MEMORY_GLOBAL_POOL=$<BOOL:${RENDERIVE_MEMORY_GLOBAL_POOL}>
|
||||
RENDERIVE_FRAME_ARENA_GROW=$<BOOL:${RENDERIVE_FRAME_ARENA_GROW}>
|
||||
)
|
||||
renderive_enable_qt_target(Renderive)
|
||||
renderive_apply_sanitizer(Renderive)
|
||||
|
||||
set(renderive_diagnostics_sources
|
||||
"${renderive_root}/plottable/Performance_Shower.cpp"
|
||||
"${renderive_root}/plottable/Performance_Shower_p.h"
|
||||
"${renderive_root}/plottable/Performance_Shower.cpp"
|
||||
"${renderive_root}/plottable/Performance_Shower_p.h"
|
||||
)
|
||||
add_library(Renderive_Diagnostics STATIC ${renderive_diagnostics_sources})
|
||||
target_include_directories(Renderive_Diagnostics PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||
@@ -126,11 +134,11 @@ renderive_apply_sanitizer(Renderive_Diagnostics)
|
||||
|
||||
set(renderive_widget_root "${CMAKE_CURRENT_LIST_DIR}/Widget")
|
||||
file(GLOB_RECURSE renderive_widget_sources CONFIGURE_DEPENDS
|
||||
"${renderive_widget_root}/*.c"
|
||||
"${renderive_widget_root}/*.cpp"
|
||||
"${renderive_widget_root}/*.h"
|
||||
"${renderive_widget_root}/*.hpp"
|
||||
"${renderive_widget_root}/*.qrc"
|
||||
"${renderive_widget_root}/*.c"
|
||||
"${renderive_widget_root}/*.cpp"
|
||||
"${renderive_widget_root}/*.h"
|
||||
"${renderive_widget_root}/*.hpp"
|
||||
"${renderive_widget_root}/*.qrc"
|
||||
)
|
||||
add_library(Renderive_Widget STATIC ${renderive_widget_sources})
|
||||
target_include_directories(Renderive_Widget PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
|
||||
@@ -139,136 +147,135 @@ renderive_enable_qt_target(Renderive_Widget)
|
||||
renderive_apply_sanitizer(Renderive_Widget)
|
||||
|
||||
if (YSGRAPHIC_CORE_BUILD_TESTS)
|
||||
enable_testing()
|
||||
find_package(GTest REQUIRED)
|
||||
if (TARGET GTest::gtest)
|
||||
set(renderive_gtest_library GTest::gtest)
|
||||
elseif (TARGET GTest::GTest)
|
||||
set(renderive_gtest_library GTest::GTest)
|
||||
else ()
|
||||
message(FATAL_ERROR "GTest target was not found")
|
||||
endif ()
|
||||
enable_testing()
|
||||
|
||||
function(renderive_add_gtest target test_name source)
|
||||
add_executable(${target} EXCLUDE_FROM_ALL "${CMAKE_CURRENT_LIST_DIR}/tests/${source}")
|
||||
target_link_libraries(${target} PRIVATE
|
||||
Renderive
|
||||
${renderive_gtest_library}
|
||||
${ARGN}
|
||||
)
|
||||
renderive_apply_sanitizer(${target})
|
||||
add_test(NAME Renderive.${test_name} COMMAND ${target})
|
||||
endfunction()
|
||||
if (TARGET GTest::gtest)
|
||||
set(renderive_gtest_library GTest::gtest)
|
||||
elseif (TARGET GTest::GTest)
|
||||
set(renderive_gtest_library GTest::GTest)
|
||||
else ()
|
||||
message(FATAL_ERROR "GTest target was not found")
|
||||
endif ()
|
||||
|
||||
renderive_add_gtest(
|
||||
Renderive_ASan_Runtime_Smoke
|
||||
ASan_Runtime_Smoke
|
||||
ASan_Runtime_Smoke.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Update_Completion
|
||||
Update_Completion
|
||||
Update_Completion.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Default
|
||||
Memory_Default
|
||||
Memory_Default.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Callbacks
|
||||
Memory_Callbacks
|
||||
Memory_Callbacks.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Failure
|
||||
Memory_Failure
|
||||
Memory_Failure.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Late_Config
|
||||
Memory_Late_Config
|
||||
Memory_Late_Config.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Plot_Late_Config
|
||||
Memory_Plot_Late_Config
|
||||
Memory_Plot_Late_Config.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Memory_Plot_Late_Config PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen"
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Timeline_Stream_Consistency
|
||||
Timeline_Stream_Consistency
|
||||
Timeline_Stream_Consistency.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Data_Path_Stress
|
||||
Memory_Data_Path_Stress
|
||||
Memory_Data_Path_Stress.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Memory_Data_Path_Stress PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 20
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Renderable_Lifecycle_Stress
|
||||
Renderable_Lifecycle_Stress
|
||||
Renderable_Lifecycle_Stress.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Renderable_Lifecycle_Stress PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 20
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Frame_Scheduler_Feedback
|
||||
Frame_Scheduler_Feedback
|
||||
Frame_Scheduler_Feedback.cpp
|
||||
Renderive_Diagnostics
|
||||
)
|
||||
set_tests_properties(Renderive.Frame_Scheduler_Feedback PROPERTIES
|
||||
ENVIRONMENT "RENDERIVE_PERFORMANCE_LOG=1;RENDERIVE_PERFORMANCE_LOG_PATH=${CMAKE_BINARY_DIR}/renderive_feedback_test_log.csv"
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Performance_Shower_Interaction
|
||||
Performance_Shower_Interaction
|
||||
Performance_Shower_Interaction.cpp
|
||||
Renderive_Diagnostics
|
||||
Renderive_Widget
|
||||
)
|
||||
set_tests_properties(Renderive.Performance_Shower_Interaction PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 12
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Multithread_Input_Stress
|
||||
Multithread_Input_Stress
|
||||
Multithread_Input_Stress.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Multithread_Input_Stress PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 15
|
||||
)
|
||||
function(renderive_add_gtest target test_name source)
|
||||
add_executable(${target} EXCLUDE_FROM_ALL "${CMAKE_CURRENT_LIST_DIR}/tests/${source}")
|
||||
target_link_libraries(${target} PRIVATE
|
||||
Renderive
|
||||
${renderive_gtest_library}
|
||||
${ARGN}
|
||||
)
|
||||
renderive_apply_sanitizer(${target})
|
||||
add_test(NAME Renderive.${test_name} COMMAND ${target})
|
||||
endfunction()
|
||||
|
||||
renderive_add_gtest(
|
||||
Renderive_ASan_Runtime_Smoke
|
||||
ASan_Runtime_Smoke
|
||||
ASan_Runtime_Smoke.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Update_Completion
|
||||
Update_Completion
|
||||
Update_Completion.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Default
|
||||
Memory_Default
|
||||
Memory_Default.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Callbacks
|
||||
Memory_Callbacks
|
||||
Memory_Callbacks.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Failure
|
||||
Memory_Failure
|
||||
Memory_Failure.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Late_Config
|
||||
Memory_Late_Config
|
||||
Memory_Late_Config.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Plot_Late_Config
|
||||
Memory_Plot_Late_Config
|
||||
Memory_Plot_Late_Config.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Memory_Plot_Late_Config PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen"
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Timeline_Stream_Consistency
|
||||
Timeline_Stream_Consistency
|
||||
Timeline_Stream_Consistency.cpp
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Memory_Data_Path_Stress
|
||||
Memory_Data_Path_Stress
|
||||
Memory_Data_Path_Stress.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Memory_Data_Path_Stress PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 20
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Renderable_Lifecycle_Stress
|
||||
Renderable_Lifecycle_Stress
|
||||
Renderable_Lifecycle_Stress.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Renderable_Lifecycle_Stress PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 20
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Frame_Scheduler_Feedback
|
||||
Frame_Scheduler_Feedback
|
||||
Frame_Scheduler_Feedback.cpp
|
||||
Renderive_Diagnostics
|
||||
)
|
||||
set_tests_properties(Renderive.Frame_Scheduler_Feedback PROPERTIES
|
||||
ENVIRONMENT "RENDERIVE_PERFORMANCE_LOG=1;RENDERIVE_PERFORMANCE_LOG_PATH=${CMAKE_BINARY_DIR}/renderive_feedback_test_log.csv"
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Performance_Shower_Interaction
|
||||
Performance_Shower_Interaction
|
||||
Performance_Shower_Interaction.cpp
|
||||
Renderive_Diagnostics
|
||||
Renderive_Widget
|
||||
)
|
||||
set_tests_properties(Renderive.Performance_Shower_Interaction PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 12
|
||||
)
|
||||
renderive_add_gtest(
|
||||
Renderive_Multithread_Input_Stress
|
||||
Multithread_Input_Stress
|
||||
Multithread_Input_Stress.cpp
|
||||
)
|
||||
set_tests_properties(Renderive.Multithread_Input_Stress PROPERTIES
|
||||
ENVIRONMENT "QT_QPA_PLATFORM=offscreen;RENDERIVE_PERFORMANCE_LOG=0"
|
||||
TIMEOUT 15
|
||||
)
|
||||
endif ()
|
||||
|
||||
set(renderive_demo_root "${CMAKE_CURRENT_LIST_DIR}/Demo_Gallery")
|
||||
file(GLOB_RECURSE renderive_demo_sources CONFIGURE_DEPENDS
|
||||
"${renderive_demo_root}/*.c"
|
||||
"${renderive_demo_root}/*.cpp"
|
||||
"${renderive_demo_root}/*.h"
|
||||
"${renderive_demo_root}/*.hpp"
|
||||
"${renderive_demo_root}/*.c"
|
||||
"${renderive_demo_root}/*.cpp"
|
||||
"${renderive_demo_root}/*.h"
|
||||
"${renderive_demo_root}/*.hpp"
|
||||
)
|
||||
add_library(Demo_Gallery_Lib STATIC ${renderive_demo_sources})
|
||||
target_link_libraries(Demo_Gallery_Lib PUBLIC
|
||||
Renderive
|
||||
Renderive_Diagnostics
|
||||
Renderive_Widget
|
||||
Renderive
|
||||
Renderive_Diagnostics
|
||||
Renderive_Widget
|
||||
)
|
||||
renderive_apply_sanitizer(Demo_Gallery_Lib)
|
||||
|
||||
add_executable(Demo_Gallery "${CMAKE_CURRENT_LIST_DIR}/demo_gallery_main.cpp")
|
||||
target_link_libraries(Demo_Gallery PRIVATE Demo_Gallery_Lib)
|
||||
renderive_enable_qt_target(Demo_Gallery)
|
||||
renderive_apply_sanitizer(Demo_Gallery)
|
||||
|
||||
renderive_apply_sanitizer(Demo_Gallery)
|
||||
Reference in New Issue
Block a user