Added cmake MI_BUILD_TESTS flag to turn on/off building of test projects and unit tests.

This commit is contained in:
Nathan Moinvaziri 2019-08-21 23:49:42 -07:00
parent eb25093b13
commit 7343a7ae1b

View file

@ -10,6 +10,7 @@ option(MI_SEE_ASM "Generate assembly files" OFF)
option(MI_CHECK_FULL "Use full internal invariant checking in DEBUG mode" OFF) option(MI_CHECK_FULL "Use full internal invariant checking in DEBUG mode" OFF)
option(MI_USE_CXX "Use the C++ compiler to compile the library" OFF) option(MI_USE_CXX "Use the C++ compiler to compile the library" OFF)
option(MI_SECURE "Use security mitigations (like guard pages and randomization)" OFF) option(MI_SECURE "Use security mitigations (like guard pages and randomization)" OFF)
option(MI_BUILD_TESTS "Enable test projects and unit tests" OFF)
set(mi_install_dir "lib/mimalloc-${mi_version}") set(mi_install_dir "lib/mimalloc-${mi_version}")
@ -187,21 +188,23 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/mimalloc-obj.dir/src/static
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# API surface testing # API surface testing
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
add_executable(mimalloc-test-api test/test-api.c) if(MI_BUILD_TESTS)
target_compile_definitions(mimalloc-test-api PRIVATE ${mi_defines}) add_executable(mimalloc-test-api test/test-api.c)
target_compile_options(mimalloc-test-api PRIVATE ${mi_cflags}) target_compile_definitions(mimalloc-test-api PRIVATE ${mi_defines})
target_include_directories(mimalloc-test-api PRIVATE include) target_compile_options(mimalloc-test-api PRIVATE ${mi_cflags})
target_link_libraries(mimalloc-test-api PRIVATE mimalloc-static) target_include_directories(mimalloc-test-api PRIVATE include)
target_link_libraries(mimalloc-test-api PRIVATE mimalloc-static)
add_executable(mimalloc-test-stress test/test-stress.c) add_executable(mimalloc-test-stress test/test-stress.c)
target_compile_definitions(mimalloc-test-stress PRIVATE ${mi_defines}) target_compile_definitions(mimalloc-test-stress PRIVATE ${mi_defines})
target_compile_options(mimalloc-test-stress PRIVATE ${mi_cflags}) target_compile_options(mimalloc-test-stress PRIVATE ${mi_cflags})
target_include_directories(mimalloc-test-stress PRIVATE include) target_include_directories(mimalloc-test-stress PRIVATE include)
target_link_libraries(mimalloc-test-stress PRIVATE mimalloc-static) target_link_libraries(mimalloc-test-stress PRIVATE mimalloc-static)
enable_testing() enable_testing()
add_test(test_api, mimalloc-test-api) add_test(test_api, mimalloc-test-api)
add_test(test_stress, mimalloc-test-stress) add_test(test_stress, mimalloc-test-stress)
endif()
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Set override properties # Set override properties