Skip to content

Commit eedcfa2

Browse files
committed
Added gtest to cmake files
1 parent e425dc4 commit eedcfa2

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

src/tests/CMakeLists.txt

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,39 @@
1-
cmake_minimum_required(VERSION 2.8)
1+
cmake_minimum_required(VERSION 2.8.2)
2+
3+
# Download and unpack googletest at configure time
4+
configure_file(CMakeListsGTest.txt.in googletest-download/CMakeLists.txt)
5+
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
6+
RESULT_VARIABLE result
7+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
8+
if(result)
9+
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
10+
endif()
11+
execute_process(COMMAND ${CMAKE_COMMAND} --build .
12+
RESULT_VARIABLE result
13+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
14+
if(result)
15+
message(FATAL_ERROR "Build step for googletest failed: ${result}")
16+
endif()
17+
18+
# Prevent overriding the parent project's compiler/linker
19+
# settings on Windows
20+
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
21+
22+
# Add googletest directly to our build. This defines
23+
# the gtest and gtest_main targets.
24+
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
25+
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
26+
EXCLUDE_FROM_ALL)
27+
28+
# The gtest/gtest_main targets carry header search path
29+
# dependencies automatically when using CMake 2.8.11 or
30+
# later. Otherwise we have to add them here ourselves.
31+
if (CMAKE_VERSION VERSION_LESS 2.8.11)
32+
include_directories("${gtest_SOURCE_DIR}/include")
33+
endif()
34+
35+
#target_link_libraries(example gtest_main)
36+
#add_test(NAME example_test COMMAND example)
237

338
include_directories(${EXPRPARSE_INCLUDE_DIR})
439
add_executable(exprtests main.cpp)

src/tests/CMakeListsGTest.txt.in

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
cmake_minimum_required(VERSION 2.8.2)
2+
3+
project(googletest-download NONE)
4+
5+
include(ExternalProject)
6+
ExternalProject_Add(googletest
7+
GIT_REPOSITORY https://github.com/google/googletest.git
8+
GIT_TAG master
9+
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
10+
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
11+
CONFIGURE_COMMAND ""
12+
BUILD_COMMAND ""
13+
INSTALL_COMMAND ""
14+
TEST_COMMAND ""
15+
)

0 commit comments

Comments
 (0)