X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=3888d44d6e727730a11b50d21008c5301a5ce336;hb=8751d1538fd893488d90ef5cb7997c58e54f8059;hp=cee45356fbaa35570543e8dfb868fd1c66d6c4f2;hpb=2ffd7dabe3d9f191c8933d89dcc62db1bee75200;p=openssl-gost%2Fengine.git diff --git a/CMakeLists.txt b/CMakeLists.txt index cee4535..3888d44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,11 +8,11 @@ include(CheckCSourceRuns) enable_testing() -find_package(OpenSSL 3.0 REQUIRED) +find_package(OpenSSL 1.1.1 REQUIRED) include_directories(${OPENSSL_INCLUDE_DIR}) if (CMAKE_C_COMPILER_ID MATCHES "Clang") - add_compile_options(-O2 -Werror -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -ggdb -Qunused-arguments) + add_compile_options(-O2 -Werror -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -ggdb -Qunused-arguments -Wno-deprecated-declarations) elseif(CMAKE_C_COMPILER_ID MATCHES "GNU") add_compile_options(-O2 -Werror -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -ggdb -Wno-error=unknown-pragmas -Wno-deprecated-declarations) elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") @@ -66,6 +66,18 @@ if (ADDCARRY_U64) add_definitions(-DHAVE_ADDCARRY_U64) endif() +check_c_source_runs(" + int main(void) { + char buf[16] = { 0, 1, 2 }; + int *p = buf + 1; + int *q = buf + 2; + return (*p == *q); + } + " RELAXED_ALIGNMENT) +if (NOT RELAXED_ALIGNMENT) + add_definitions(-DSTRICT_ALIGNMENT) +endif() + set(BIN_DIRECTORY bin) # Same soversion as OpenSSL @@ -136,6 +148,14 @@ set(GOST_CORE_SOURCE_FILES set(GOST_EC_SOURCE_FILES gost_ec_keyx.c gost_ec_sign.c + ecp_id_GostR3410_2001_CryptoPro_A_ParamSet.c + ecp_id_GostR3410_2001_CryptoPro_B_ParamSet.c + ecp_id_GostR3410_2001_CryptoPro_C_ParamSet.c + ecp_id_GostR3410_2001_TestParamSet.c + ecp_id_tc26_gost_3410_2012_256_paramSetA.c + ecp_id_tc26_gost_3410_2012_512_paramSetA.c + ecp_id_tc26_gost_3410_2012_512_paramSetB.c + ecp_id_tc26_gost_3410_2012_512_paramSetC.c ) set (GOST_OMAC_SOURCE_FILES @@ -183,6 +203,11 @@ target_link_libraries(test_params gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY add_test(NAME parameters COMMAND test_params) +add_executable(test_derive test_derive.c) +target_link_libraries(test_derive gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY}) +add_test(NAME derive + COMMAND test_derive) + add_executable(test_sign test_sign.c) target_link_libraries(test_sign gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY}) add_test(NAME sign/verify @@ -209,6 +234,11 @@ target_link_libraries(test_gost89 gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY add_test(NAME gost89 COMMAND test_gost89) +add_executable(test_mgm test_mgm.c) +target_link_libraries(test_mgm gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY}) +add_test(NAME mgm + COMMAND test_mgm) + if(NOT SKIP_PERL_TESTS) execute_process(COMMAND perl -MTest2::V0 -e "" ERROR_QUIET RESULT_VARIABLE HAVE_TEST2_V0) @@ -232,11 +262,13 @@ set(BINARY_TESTS_TARGETS test_ciphers test_curves test_params + test_derive test_sign test_context test_keyexpimp test_gost89 test_tls + test_mgm ) set_property(TARGET ${BINARY_TESTS_TARGETS} APPEND PROPERTY COMPILE_DEFINITIONS ENGINE_DIR="${OUTPUT_DIRECTORY}")