diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b0aca4..675b500 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,16 @@ endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/") -include(CTest) +# Configure testing before adding subdirectories +if(TR31_IS_TOP_LEVEL) + # Configure Valgrind before including CTest module + find_program(VALGRIND_COMMAND valgrind) + set(MEMORYCHECK_TYPE Valgrind) + set(VALGRIND_COMMAND_OPTIONS "--leak-check=full --show-reachable=yes --track-origins=yes --num-callers=100 --show-error-list=yes") + + # Only top-level project should include CTest module + include(CTest) +endif() # Allow parent scope to provide crypto targets when not building shared libs if(TR31_IS_TOP_LEVEL OR BUILD_SHARED_LIBS) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8e0bf46..3ed71b6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -71,7 +71,7 @@ install( COMPONENT tr31_development ) -if(BUILD_TESTING) +if(TR31_IS_TOP_LEVEL AND BUILD_TESTING) add_test(NAME tr31_tool_test1 COMMAND tr31-tool --import B0128B1TX00N0300KS18FFFF00A0200001E00000KC0C000169E3KP0C00ECAD626F9F1A826814AA066D86C8C18BD0E14033E1EBEC75BEDF586E6E325F3AA8C0E5 --kbpk AB2E09DB3EF0BA71E0CE6CD755C23A3B )