forked from chncwang/FoolGo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
57 lines (49 loc) · 1.89 KB
/
CMakeLists.txt
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(FoolGo)
SET(CMAKE_CXX_COMPILER c++)
IF(APPLE)
SET(BASE_FLAGS ${BASE_FLAGS} -stdlib=libc++)
ENDIF()
SET(GTEST_ROOT /usr/share/gtest-1.7.0)
SET(SRC_DIR src)
SET(TEST_DIR test)
SET(BASE_FLAGS "-std=c++0x -Wno-unused-result -iquote ${SRC_DIR}")
SET(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_CXX_FLAGS_DEBUG "${BASE_FLAGS} -O1 -g")
SET(CMAKE_CXX_FLAGS_RELEASE "${BASE_FLAGS} -O3")
SET(CMAKE_EXE_LINKER_FLAGS["Debug"] "-g")
AUX_SOURCE_DIRECTORY(${SRC_DIR} SRCS)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/board SRCS)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/piece_structure SRCS)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/math SRCS)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/game SRCS)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/player SRCS)
AUX_SOURCE_DIRECTORY(${SRC_DIR}/util SRCS)
ADD_EXECUTABLE(foolgo ${SRCS})
SET(LOG4CPLUS_LIB /usr/local/Cellar/log4cplus/1.1.2/lib/liblog4cplus.a)
SET(FOOLGO_LIB ${LOG4CPLUS_LIB})
IF (APPLE)
SET(FOOLGO_LIB ${FOOLGO_LIB} c++)
ENDIF()
TARGET_LINK_LIBRARIES(foolgo ${FOOLGO_LIB})
SET(BOOST_INCLUDE_DIR /usr/local/Cellar/boost/1.56.0/include/)
SET(LOG4CPLUS_INCLUDE_DIR /usr/local/Cellar/log4cplus/1.1.2/include/)
INCLUDE_DIRECTORIES(${GTEST_ROOT} ${GTEST_ROOT}/include ${BOOST_INCLUDE_DIR} ${LOG4CPLUS_INCLUDE_DIR})
# Test configs.
ENABLE_TESTING()
SET(GTEST_MAIN ${GTEST_ROOT}/src/gtest_main.cc)
SET(TESTS ${SRCS} ${GTEST_MAIN})
AUX_SOURCE_DIRECTORY(${TEST_DIR} TESTS)
AUX_SOURCE_DIRECTORY(${TEST_DIR}/board TESTS)
AUX_SOURCE_DIRECTORY(${TEST_DIR}/game TESTS)
LIST(REMOVE_ITEM TESTS ${SRC_DIR}/foolishgo.cc)
ADD_EXECUTABLE(tests ${TESTS})
SET(TEST_LIB ${GTEST_ROOT}/libgtest.a ${GTEST_ROOT}/libgtest_main.a pthread)
IF (APPLE)
SET(TEST_LIB ${TEST_LIB} c++)
ENDIF()
TARGET_LINK_LIBRARIES(tests ${FOOLGO_LIB} ${TEST_LIB})
ADD_TEST(NAME BoardTest COMMAND tests)
ADD_TEST(NAME BoardInGmTest COMMAND tests)
ADD_TEST(NAME MonteCarloGameTest COMMAND tests)
ADD_TEST(NAME FreshGameTest COMMAND tests)