mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-23 03:10:01 +08:00
5ee4ec40de
The target_compile_features command allows setting PUBLIC compile features for the library, making it implicit for the applications linking it. This reduces the CMake boilerplate required to set up a dependent project (eg. ftxui-starter).
47 lines
1.2 KiB
CMake
47 lines
1.2 KiB
CMake
enable_testing()
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
|
|
set(FETCHCONTENT_UPDATES_DISCONNECTED TRUE)
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare( googletest
|
|
GIT_REPOSITORY "https://github.com/google/googletest"
|
|
GIT_TAG 23ef29555ef4789f555f1ba8c51b4c52975f0907
|
|
)
|
|
FetchContent_MakeAvailable(googletest)
|
|
|
|
add_executable(tests
|
|
src/ftxui/component/component_test.cpp
|
|
src/ftxui/component/container_test.cpp
|
|
src/ftxui/component/input_test.cpp
|
|
src/ftxui/component/radiobox_test.cpp
|
|
src/ftxui/component/receiver_test.cpp
|
|
src/ftxui/component/screen_interactive_test.cpp
|
|
src/ftxui/component/terminal_input_parser_test.cpp
|
|
src/ftxui/component/toggle_test.cpp
|
|
src/ftxui/dom/gauge_test.cpp
|
|
src/ftxui/dom/hbox_test.cpp
|
|
src/ftxui/dom/text_test.cpp
|
|
src/ftxui/dom/vbox_test.cpp
|
|
)
|
|
|
|
target_link_libraries(tests
|
|
PRIVATE component
|
|
PRIVATE gtest
|
|
PRIVATE gmock
|
|
PRIVATE gtest_main
|
|
)
|
|
target_include_directories(tests
|
|
PRIVATE src
|
|
)
|
|
target_compile_options(tests PRIVATE -fsanitize=address)
|
|
target_link_libraries(tests PRIVATE -fsanitize=address)
|
|
|
|
if (NOT MSVC)
|
|
include(cmake/ftxui_benchmark.cmake)
|
|
endif()
|
|
|
|
if (FTXUI_BUILD_TESTS_FUZZER)
|
|
include(cmake/ftxui_fuzzer.cmake)
|
|
endif()
|