summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorFrancesco Borzì <borzifrancesco@gmail.com>2020-08-15 22:34:45 +0200
committerGitHub <noreply@github.com>2020-08-15 22:34:45 +0200
commitc2b40b126d669e66fd5f602c03c42924da41d776 (patch)
treefd6c7b0f94feed4941c2b8d5d294dad17141352e /CMakeLists.txt
parent4d11f5c92139f26483763b2f558da4b5a6fcae6e (diff)
feature(testing-automation): unit tests with Google Framework (#3273)
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt38
1 files changed, 27 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e266cbf48f..79c73eccbd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,8 +33,8 @@ set(AC_PATH_ROOT "${CMAKE_SOURCE_DIR}")
# set macro-directory
list(APPEND CMAKE_MODULE_PATH
- "${CMAKE_SOURCE_DIR}/src/cmake/macros"
- "${CMAKE_SOURCE_DIR}/deps/cotire/CMake")
+ "${CMAKE_SOURCE_DIR}/src/cmake/macros"
+ "${CMAKE_SOURCE_DIR}/deps/cotire/CMake")
include(CheckCXXSourceRuns)
include(CheckIncludeFiles)
@@ -49,7 +49,7 @@ include(conf/dist/config.cmake)
# load custom configurations for cmake if exists
if(EXISTS "${CMAKE_SOURCE_DIR}/conf/config.cmake")
- include(conf/config.cmake)
+ include(conf/config.cmake)
endif()
#
@@ -63,7 +63,7 @@ FOREACH(subdir ${sub_DIRS})
get_filename_component(MODULENAME ${subdir} NAME)
if (";${DISABLED_AC_MODULES};" MATCHES ";${MODULENAME};")
- continue()
+ continue()
endif()
STRING(REGEX REPLACE "^${CMAKE_SOURCE_DIR}/" "" subdir_rel ${subdir})
@@ -77,13 +77,13 @@ CU_RUN_HOOK("AFTER_LOAD_CONF")
# build in Release-mode by default if not explicitly set
if( NOT CMAKE_BUILD_TYPE )
- set(CMAKE_BUILD_TYPE "Release")
+ set(CMAKE_BUILD_TYPE "Release")
endif()
# turn off PCH totally if enabled (hidden setting, mainly for devs)
if( NOPCH )
- set(USE_COREPCH 0)
- set(USE_SCRIPTPCH 0)
+ set(USE_COREPCH 0)
+ set(USE_SCRIPTPCH 0)
endif()
include(ConfigureBaseTargets)
@@ -101,11 +101,11 @@ find_package(ACE REQUIRED)
find_package(MySQL REQUIRED)
if(UNIX AND WITH_PERFTOOLS)
- find_package(Gperftools)
+ find_package(Gperftools)
endif()
if(NOT WITHOUT_GIT)
- find_package(Git)
+ find_package(Git)
endif()
# Find revision ID and hash of the sourcetree
@@ -121,11 +121,11 @@ include(src/cmake/showoptions.cmake)
add_subdirectory(deps)
if( SERVERS OR TOOLS)
- add_subdirectory(src/common)
+ add_subdirectory(src/common)
endif()
if( TOOLS )
- add_subdirectory(src/tools)
+ add_subdirectory(src/tools)
endif()
#
@@ -138,3 +138,19 @@ CU_RUN_HOOK("BEFORE_SRC_LOAD")
add_subdirectory(src)
CU_RUN_HOOK("AFTER_SRC_LOAD")
+
+if( UNIT_TESTS )
+ # we use this to get code coverage
+ if(CMAKE_CXX_COMPILER_ID MATCHES GNU)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
+ endif()
+
+ include(src/cmake/googletest.cmake)
+ fetch_googletest(
+ ${PROJECT_SOURCE_DIR}/src/cmake
+ ${PROJECT_BINARY_DIR}/googletest
+ )
+
+ enable_testing()
+ add_subdirectory(src/test)
+endif()