From 999eb8466031bdb2204609750c8915d90e6abf51 Mon Sep 17 00:00:00 2001 From: Jakub Ptak Date: Mon, 15 Aug 2022 12:06:36 +0200 Subject: [PATCH 1/2] Add fetching specified googletest version --- CMakeLists.txt | 15 ++++++++++++--- src/starkware/algebra/CMakeLists.txt | 8 ++++---- src/starkware/crypto/CMakeLists.txt | 6 +++--- src/starkware/starkex/CMakeLists.txt | 2 +- src/starkware/utils/CMakeLists.txt | 4 ++-- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b442be6..a10bbb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,11 +3,20 @@ 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) + 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) From 13ae076ea6db52566dfdf9ef8659181f964c809d Mon Sep 17 00:00:00 2001 From: Jakub Ptak Date: Thu, 8 Sep 2022 12:55:42 +0200 Subject: [PATCH 2/2] Add include_directories for googletest --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a10bbb8..f995810 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,7 @@ FetchContent_Declare( # 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)