diff --git a/CMakeLists.txt b/CMakeLists.txt index b442be6..f995810 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,11 +3,21 @@ if (NOT DEFINED CMAKE_CXX_COMPILER) set(CMAKE_CXX_COMPILER /usr/bin/clang++-6.0) endif() +set(CMAKE_CXX_STANDARD 17) + +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip + URL_HASH SHA256=5cf189eb6847b4f8fc603a3ffff3b0771c08eec7dd4bd961bfd45477dd13eb73 +) +# For Windows: Prevent overriding the parent project's compiler/linker settings +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) +include_directories(${googletest_SOURCE_DIR}) + project(StarkwareCryptoLib VERSION 0.1.0 LANGUAGES CXX) include(CTest) -# Basic setup for gtest -find_package(GTest REQUIRED) -include_directories(${GTEST_INCLUDE_DIRS}) enable_testing() include_directories("${CMAKE_SOURCE_DIR}/src") diff --git a/src/starkware/algebra/CMakeLists.txt b/src/starkware/algebra/CMakeLists.txt index 8046434..720d7fd 100644 --- a/src/starkware/algebra/CMakeLists.txt +++ b/src/starkware/algebra/CMakeLists.txt @@ -1,17 +1,17 @@ add_library(algebra prime_field_element.cc) add_executable(big_int_test big_int_test.cc) -target_link_libraries(big_int_test gtest gtest_main pthread) +target_link_libraries(big_int_test gtest gtest_main gmock pthread) add_test(big_int_test big_int_test) add_executable(prime_field_element_test prime_field_element_test.cc) -target_link_libraries(prime_field_element_test algebra gtest gtest_main pthread) +target_link_libraries(prime_field_element_test algebra gtest gtest_main gmock pthread) add_test(prime_field_element_test prime_field_element_test) add_executable(fraction_field_element_test fraction_field_element_test.cc) -target_link_libraries(fraction_field_element_test algebra gtest gtest_main pthread) +target_link_libraries(fraction_field_element_test algebra gtest gtest_main gmock pthread) add_test(fraction_field_element_test fraction_field_element_test) add_executable(elliptic_curve_test elliptic_curve_test.cc) -target_link_libraries(elliptic_curve_test algebra gtest gtest_main pthread) +target_link_libraries(elliptic_curve_test algebra gtest gtest_main gmock pthread) add_test(elliptic_curve_test elliptic_curve_test) diff --git a/src/starkware/crypto/CMakeLists.txt b/src/starkware/crypto/CMakeLists.txt index 7ee5ecc..7b9e217 100644 --- a/src/starkware/crypto/CMakeLists.txt +++ b/src/starkware/crypto/CMakeLists.txt @@ -4,13 +4,13 @@ add_library(crypto elliptic_curve_constants.cc pedersen_hash.cc ecdsa.cc) target_link_libraries(crypto algebra) add_executable(elliptic_curve_constants_test elliptic_curve_constants_test.cc) -target_link_libraries(elliptic_curve_constants_test gtest crypto gtest_main pthread) +target_link_libraries(elliptic_curve_constants_test gtest crypto gtest_main gmock pthread) add_test(elliptic_curve_constants_test elliptic_curve_constants_test) add_executable(pedersen_hash_test pedersen_hash_test.cc) -target_link_libraries(pedersen_hash_test crypto gtest gtest_main pthread) +target_link_libraries(pedersen_hash_test crypto gtest gtest_main gmock pthread) add_test(pedersen_hash_test pedersen_hash_test) add_executable(ecdsa_test ecdsa_test.cc) -target_link_libraries(ecdsa_test crypto gtest gtest_main pthread) +target_link_libraries(ecdsa_test crypto gtest gtest_main gmock pthread) add_test(ecdsa_test ecdsa_test) diff --git a/src/starkware/starkex/CMakeLists.txt b/src/starkware/starkex/CMakeLists.txt index 435cb75..7e744aa 100644 --- a/src/starkware/starkex/CMakeLists.txt +++ b/src/starkware/starkex/CMakeLists.txt @@ -2,5 +2,5 @@ add_library(starkex order.cc) target_link_libraries(starkex crypto) add_executable(order_test order_test.cc) -target_link_libraries(order_test starkex gtest gtest_main pthread) +target_link_libraries(order_test starkex gtest gtest_main gmock pthread) add_test(order_test order_test) diff --git a/src/starkware/utils/CMakeLists.txt b/src/starkware/utils/CMakeLists.txt index 0b50e36..e0afe21 100644 --- a/src/starkware/utils/CMakeLists.txt +++ b/src/starkware/utils/CMakeLists.txt @@ -1,7 +1,7 @@ add_executable(math_test math_test.cc) -target_link_libraries(math_test gtest gtest_main pthread) +target_link_libraries(math_test gtest gtest_main gmock pthread) add_test(math_test math_test) add_executable(prng_test prng_test.cc) -target_link_libraries(prng_test gtest gtest_main pthread) +target_link_libraries(prng_test gtest gtest_main gmock pthread) add_test(prng_test prng_test)