forked from alexleemanfui/disruptor4cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
40 lines (32 loc) · 1.19 KB
/
CMakeLists.txt
File metadata and controls
40 lines (32 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
cmake_minimum_required(VERSION 2.8.8)
set(PROJECT_NAME_STR disruptor4cpp)
project(${PROJECT_NAME_STR} C CXX)
include(ExternalProject)
find_package(Threads REQUIRED)
if(UNIX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")
endif()
#-------------------
# set common include folder for module
#-------------------
set(PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
set(PROJECT_TEST_DIR ${PROJECT_SOURCE_DIR}/test)
set(EXT_PROJECTS_DIR ${PROJECT_SOURCE_DIR}/ext)
#-------------------
# Module source
#-------------------
add_subdirectory(${EXT_PROJECTS_DIR}/gtest)
add_subdirectory(${EXT_PROJECTS_DIR}/gmock)
#-------------------
# Test
#-------------------
enable_testing()
set(PROJECT_TEST_NAME ${PROJECT_NAME_STR}_test)
file(GLOB TEST_SRC_FILES ${PROJECT_TEST_DIR}/*.cpp)
add_executable(${PROJECT_TEST_NAME} ${TEST_SRC_FILES})
add_dependencies(${PROJECT_TEST_NAME} gmock gtest)
include_directories(${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR} ${PROJECT_INCLUDE_DIR})
target_link_libraries(${PROJECT_TEST_NAME} libgmock)
target_link_libraries(${PROJECT_TEST_NAME} libgtest)
target_link_libraries(${PROJECT_TEST_NAME} ${CMAKE_THREAD_LIBS_INIT})
add_test(disruptor4cpp_test ${PROJECT_TEST_NAME})