diff options
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c1a6a37..5b5c088 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -17,15 +17,14 @@ if (NOT GO_EXECUTABLE) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -ggdb -fvisibility=hidden") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -ggdb -std=c++0x -fvisibility=hidden") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wsign-compare -ggdb -fvisibility=hidden") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wsign-compare -ggdb -std=c++0x -fvisibility=hidden") elseif(MSVC) set(MSVC_DISABLED_WARNINGS_LIST "C4100" # 'exarg' : unreferenced formal parameter "C4127" # conditional expression is constant "C4200" # nonstandard extension used : zero-sized array in # struct/union. - "C4210" # nonstandard extension used : function given file scope "C4242" # 'function' : conversion from 'int' to 'uint8_t', # possible loss of data "C4244" # 'function' : conversion from 'int' to 'uint8_t', @@ -138,8 +137,27 @@ if (OPENSSL_NO_ASM) set(ARCH "generic") endif() +# Declare a dummy target to build all unit tests. Test targets should inject +# themselves as dependencies next to the target definition. +add_custom_target(all_tests) + add_subdirectory(crypto) add_subdirectory(ssl) add_subdirectory(ssl/test) add_subdirectory(tool) add_subdirectory(decrepit) + +if (NOT ${CMAKE_VERSION} VERSION_LESS "3.2") + # USES_TERMINAL is only available in CMake 3.2 or later. + set(MAYBE_USES_TERMINAL USES_TERMINAL) +endif() + +add_custom_target( + run_tests + COMMAND ${GO_EXECUTABLE} run util/all_tests.go -build-dir + ${CMAKE_BINARY_DIR} + COMMAND cd ssl/test/runner + COMMAND ${GO_EXECUTABLE} test -shim-path $<TARGET_FILE:bssl_shim> + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + DEPENDS all_tests bssl_shim + ${MAYBE_USES_TERMINAL}) |