diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e614fecac3ebf263d5de130e8de3519accc01d8..4a5c881e041ccf7c6afee14642a1e521992780fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ # SKIP_JAVA_CLIENT -- Skip building the java client # ENABLE_JEMALLOC -- Link jemalloc into all executables # ENABLE_NATIVE -- Build native client +# ENABLE_TESTING -- Build unit test # cmake_minimum_required(VERSION 3.0.0) @@ -37,8 +38,10 @@ option(ENABLE_JEMALLOC "Whether to link jemalloc to all executables" ON) option(ENABLE_NATIVE "Whether to build native client" OFF) option(ENABLE_CCACHE "Whether to use ccache to speed up compiling" ON) option(ENABLE_ASAN "Whether to turn AddressSanitizer ON or OFF" OFF) +option(ENABLE_TEST "Whether to turn unit test ON or OFF" ON) message(STATUS "ASAN: ${ENABLE_ASAN}") +message(STATUS "ENABLE_TESTING: ${ENABLE_TESTING}") if (ENABLE_NATIVE) @@ -46,7 +49,9 @@ if (ENABLE_NATIVE) add_compile_options(-fPIC) endif() -enable_testing() +if (ENABLE_TESTING) + enable_testing() +endif() if (!CMAKE_CXX_COMPILER) message(FATAL_ERROR "No C++ compiler found") @@ -508,6 +513,13 @@ macro(nebula_link_libraries target) ) endmacro(nebula_link_libraries) +function(nebula_add_subdirectory dir_name) + if ((NOT ENABLE_TESTING) AND (${dir_name} STREQUAL test)) + return() + endif() + add_subdirectory(${dir_name}) +endfunction() + if (NOT SKIP_JAVA_CLIENT) set(NEBULA_CLEAN_ALL_DEPS clean-interface clean-pch clean-hbase clean-java-client) else() diff --git a/package/nebula.spec b/package/nebula.spec index 21df8fd5145d5bba280e27e72a2103ca2619a42f..69a0c8ae6e84e05f5663e32ad8f8334e86ba684b 100755 --- a/package/nebula.spec +++ b/package/nebula.spec @@ -33,7 +33,7 @@ A high performance distributed graph database %prep %build -cmake -DCMAKE_BUILD_TYPE=Release -DNEBULA_BUILD_VERSION=%{_version} -DCMAKE_INSTALL_PREFIX=%{_install_dir} ./ +cmake -DCMAKE_BUILD_TYPE=Release -DNEBULA_BUILD_VERSION=%{_version} -DCMAKE_INSTALL_PREFIX=%{_install_dir} -DENABLE_TESTING=OFF./ make -j2 %install diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 62460a849e3c413b95530bedd723deb418b7132f..486d03229cdd4a201a4e6ea696c702d8b75dce67 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,13 +1,13 @@ -add_subdirectory(common) -add_subdirectory(interface) -add_subdirectory(client) -add_subdirectory(meta) -add_subdirectory(console) -add_subdirectory(kvstore) -add_subdirectory(parser) -add_subdirectory(dataman) -add_subdirectory(graph) -add_subdirectory(daemons) -add_subdirectory(storage) -add_subdirectory(webservice) -add_subdirectory(tools) +nebula_add_subdirectory(common) +nebula_add_subdirectory(interface) +nebula_add_subdirectory(client) +nebula_add_subdirectory(meta) +nebula_add_subdirectory(console) +nebula_add_subdirectory(kvstore) +nebula_add_subdirectory(parser) +nebula_add_subdirectory(dataman) +nebula_add_subdirectory(graph) +nebula_add_subdirectory(daemons) +nebula_add_subdirectory(storage) +nebula_add_subdirectory(webservice) +nebula_add_subdirectory(tools) diff --git a/src/executor/CMakeLists.txt b/src/executor/CMakeLists.txt index 227104dc12b464b8e757e010716125d599465854..5a019b873f9a9f9de0684472f77a7c5d51681416 100644 --- a/src/executor/CMakeLists.txt +++ b/src/executor/CMakeLists.txt @@ -69,5 +69,5 @@ add_dependencies( base_obj ) -add_subdirectory(test) +nebula_add_subdirectory(test) diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt index 3bb586d7a5a58ae6f82d7277b8f0faec7728ca94..43f51cf73e1235f72bf01b65f09872ddb39cff03 100644 --- a/src/parser/CMakeLists.txt +++ b/src/parser/CMakeLists.txt @@ -21,4 +21,4 @@ nebula_add_library( UserSentences.cpp ) -add_subdirectory(test) +nebula_add_subdirectory(test)