X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=d705b3b51d5106ceddcc859a75352de15759bd1d;hb=a708a9784aa06d5daa8ee93aa2612d21ef748791;hp=6ba5a974c5f77ad28e1c7824c49572f4aba09276;hpb=3881226ccc975666346f88d00c1f1917e9ccfd91;p=openssl-gost%2Fengine.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ba5a97..d705b3b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,20 +9,31 @@ include(CheckCSourceRuns) enable_testing() find_package(OpenSSL 3.0 REQUIRED) + +if (NOT DEFINED OPENSSL_ROOT_DIR) + get_filename_component(OPENSSL_ROOT_DIR ${OPENSSL_INCLUDE_DIR} DIRECTORY) + message(STATUS "Setting OpenSSL root: ${OPENSSL_ROOT_DIR}") +endif() find_program(OPENSSL_PROGRAM openssl PATHS ${OPENSSL_ROOT_DIR} PATH_SUFFIXES apps bin NO_DEFAULT_PATH) -message("-- Found OpenSSL application: ${OPENSSL_PROGRAM}") +message(STATUS "Found OpenSSL application: ${OPENSSL_PROGRAM}") 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 -Wno-deprecated-declarations) + set(CMAKE_C_FLAGS_RELEASE -O2) + set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -ggdb") + add_compile_options(-Werror -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -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-error=pragmas -Wno-deprecated-declarations) + set(CMAKE_C_FLAGS_RELEASE -O2) + set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -ggdb") + add_compile_options(-Werror -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -Wno-error=unknown-pragmas -Wno-error=pragmas -Wno-deprecated-declarations) elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - add_definitions(-D_CRT_DEPRECATED_NO_WARNINGS) - add_definitions(-D_CRT_NONSTDC_NO_WARNINGS) - add_compile_options(/MP /WX /W4 /wd4100 /wd4267 /wd4206 /wd4706 /wd4244 /wd4115) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + add_definitions(-D_CRT_DEPRECATED_NO_WARNINGS) + add_definitions(-D_CRT_NONSTDC_NO_WARNINGS) + add_compile_options(/MP /WX /W4 /wd4100 /wd4267 /wd4206 /wd4706 /wd4244 /wd4115) endif() if (ASAN) @@ -231,16 +242,16 @@ target_link_libraries(test_context ${OPENSSL_CRYPTO_LIBRARY}) add_test(NAME context COMMAND test_context) set_tests_properties(context PROPERTIES ENVIRONMENT "${TEST_ENVIRONMENT}") +# test_keyexpimp is an internals testing program, it doesn't need a test env add_executable(test_keyexpimp test_keyexpimp.c) #target_compile_definitions(test_keyexpimp PUBLIC -DOPENSSL_LOAD_CONF) target_link_libraries(test_keyexpimp gost_core ${OPENSSL_CRYPTO_LIBRARY}) -add_test(NAME keyexpimp - COMMAND test_keyexpimp) +add_test(NAME keyexpimp COMMAND test_keyexpimp) +# test_gost89 is an internals testing program, it doesn't need a test env add_executable(test_gost89 test_gost89.c) target_link_libraries(test_gost89 gost_core ${OPENSSL_CRYPTO_LIBRARY}) -add_test(NAME gost89 - COMMAND test_gost89) +add_test(NAME gost89 COMMAND test_gost89) if(NOT SKIP_PERL_TESTS) execute_process(COMMAND perl -MTest2::V0 -e ""