diff --git a/CMakeLists.txt b/CMakeLists.txt index bba9295288..b9d1c8ab8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/cmake/check_deps.cmake b/cmake/check_deps.cmake index f73db60c28..4e6cc73058 100644 --- a/cmake/check_deps.cmake +++ b/cmake/check_deps.cmake @@ -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() diff --git a/cmake/system_deps.cmake b/cmake/system_deps.cmake index 5a8489c435..db2d2567cc 100644 --- a/cmake/system_deps.cmake +++ b/cmake/system_deps.cmake @@ -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() diff --git a/ortools/algorithms/CMakeLists.txt b/ortools/algorithms/CMakeLists.txt index 73d2bbe7fc..4d94166a58 100644 --- a/ortools/algorithms/CMakeLists.txt +++ b/ortools/algorithms/CMakeLists.txt @@ -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()