cmake: Add USE_fuzztest option
This commit is contained in:
@@ -197,15 +197,27 @@ if(BUILD_TESTING)
|
||||
"NOT BUILD_DEPS" ON)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_benchmark "Build benchmark" OFF
|
||||
"NOT BUILD_DEPS" ON)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_fuzztest "Build fuzztest" OFF
|
||||
"NOT BUILD_DEPS" ON)
|
||||
# Fuzztest do not support MSVC
|
||||
if(NOT MSVC)
|
||||
CMAKE_DEPENDENT_OPTION(USE_fuzztest "Enable fuzztest" ON "BUILD_CXX" OFF)
|
||||
else()
|
||||
set(USE_fuzztest OFF)
|
||||
endif()
|
||||
if(NOT USE_fuzztest)
|
||||
set(BUILD_fuzztest OFF)
|
||||
else()
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_fuzztest "Build fuzztest" OFF
|
||||
"NOT BUILD_DEPS" ON)
|
||||
endif()
|
||||
else()
|
||||
set(BUILD_googletest OFF)
|
||||
set(BUILD_benchmark OFF)
|
||||
set(USE_fuzztest OFF)
|
||||
set(BUILD_fuzztest OFF)
|
||||
endif()
|
||||
message(STATUS "Build googletest: ${BUILD_googletest}")
|
||||
message(STATUS "Build benchmark: ${BUILD_benchmark}")
|
||||
message(STATUS "Enable fuzztest: ${USE_fuzztest}")
|
||||
message(STATUS "Build fuzztest: ${BUILD_fuzztest}")
|
||||
|
||||
# Optional third party solvers (enabled by default)
|
||||
|
||||
@@ -117,7 +117,7 @@ if(BUILD_TESTING)
|
||||
if(NOT TARGET benchmark::benchmark)
|
||||
message(FATAL_ERROR "Target benchmark::benchmark not available.")
|
||||
endif()
|
||||
if(NOT TARGET fuzztest::fuzztest)
|
||||
if(USE_fuzztest AND NOT TARGET fuzztest::fuzztest)
|
||||
message(FATAL_ERROR "Target fuzztest::fuzztest not available.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -105,8 +105,10 @@ if(BUILD_TESTING)
|
||||
find_package(benchmark REQUIRED)
|
||||
endif()
|
||||
|
||||
if(NOT BUILD_fuzztest AND NOT TARGET fuzztest::fuzztest)
|
||||
find_package(fuzztest REQUIRED)
|
||||
if(USE_fuzztest)
|
||||
if(NOT BUILD_fuzztest AND NOT TARGET fuzztest::fuzztest)
|
||||
find_package(fuzztest REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
@@ -52,15 +52,17 @@ if(BUILD_TESTING)
|
||||
GTest::gmock
|
||||
)
|
||||
endforeach()
|
||||
ortools_cxx_test(
|
||||
NAME
|
||||
if(USE_fuzztest)
|
||||
ortools_cxx_test(
|
||||
NAME
|
||||
algorithms_n_choose_k_test
|
||||
SOURCES
|
||||
SOURCES
|
||||
"./n_choose_k_test.cc"
|
||||
LINK_LIBRARIES
|
||||
LINK_LIBRARIES
|
||||
benchmark::benchmark
|
||||
fuzztest::fuzztest
|
||||
fuzztest::fuzztest_gtest_main
|
||||
GTest::gmock
|
||||
)
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user