]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - CMakeLists.txt
MSVC: Fix casting warning C4057
[openssl-gost/engine.git] / CMakeLists.txt
index e1c4e1dd450ecc05751288ce23e2986d12ec32b2..8461be8a2dbe0aeb215254e1cc17fedd13e21820 100644 (file)
@@ -10,6 +10,11 @@ enable_testing()
 
 find_package(OpenSSL 3.0 REQUIRED)
 
+if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+  message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
+  set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build." FORCE)
+endif()
+
 if (NOT DEFINED OPENSSL_ROOT_DIR)
   get_filename_component(OPENSSL_ROOT_DIR ${OPENSSL_INCLUDE_DIR} DIRECTORY)
   message(STATUS "Setting OpenSSL root: ${OPENSSL_ROOT_DIR}")
@@ -88,7 +93,11 @@ if (NOT RELAXED_ALIGNMENT)
   add_definitions(-DSTRICT_ALIGNMENT)
 endif()
 
-set(BIN_DIRECTORY bin)
+if(MSVC)
+  set(BIN_DIRECTORY bin/$<CONFIG>/)
+else()
+  set(BIN_DIRECTORY bin)
+endif()
 
 set(OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_DIRECTORY})
 
@@ -290,8 +299,9 @@ add_test(NAME gost89 COMMAND test_gost89)
 
 if(NOT SKIP_PERL_TESTS)
     execute_process(COMMAND perl -MTest2::V0 -e ""
-       ERROR_QUIET RESULT_VARIABLE HAVE_TEST2_V0)
-    if(NOT HAVE_TEST2_V0)
+       ERROR_QUIET RESULT_VARIABLE MISSING_TEST2_V0)
+    find_program(HAVE_PROVE NAMES prove)
+    if(NOT MISSING_TEST2_V0 AND HAVE_PROVE)
        add_test(NAME engine
            COMMAND prove --merge -PWrapOpenSSL ${CMAKE_CURRENT_SOURCE_DIR}/test :: engine)
        set_tests_properties(engine PROPERTIES ENVIRONMENT "${TEST_ENVIRONMENT_ENGINE}")