51 lines
1.5 KiB
CMake
Executable File
51 lines
1.5 KiB
CMake
Executable File
cmake_minimum_required(VERSION 2.8)
|
|
|
|
set(TEST_PROJECT_NAME "cpputil_test")
|
|
set(SRC_DIR ".")
|
|
set(REQUIRED_LIBRARIES cpputil)
|
|
|
|
if(WIN32)
|
|
INCLUDE(ExternalProject)
|
|
SET_DIRECTORY_PROPERTIES(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/ThirdParty)
|
|
|
|
ExternalProject_Add(
|
|
googletest
|
|
SVN_REPOSITORY http://googletest.googlecode.com/svn/trunk/
|
|
TIMEOUT 100
|
|
CMAKE_ARGS -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=Debug
|
|
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=Release
|
|
-Dgtest_force_shared_crt=ON
|
|
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
|
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
|
INSTALL_COMMAND ""
|
|
LOG_DOWNLOAD ON
|
|
LOG_CONFIGURE ON
|
|
LOG_BUILD ON)
|
|
|
|
ExternalProject_Get_Property(googletest source_dir)
|
|
ExternalProject_Get_Property(googletest binary_dir)
|
|
INCLUDE_DIRECTORIES(${source_dir}/include)
|
|
#link_directories(${binary_dir}/Debug)
|
|
else()
|
|
FIND_PACKAGE(GTest REQUIRED)
|
|
if(NOT GTEST_FOUND)
|
|
message(SEND_ERROR "Failed to find Google Test Framework")
|
|
return()
|
|
else()
|
|
include_directories(${GTEST_INCLUDE_DIRS})
|
|
endif()
|
|
endif()
|
|
|
|
project(${TEST_PROJECT_NAME} CXX)
|
|
aux_source_directory(${SRC_DIR} TEST_SRC)
|
|
add_executable(${TEST_PROJECT_NAME} ${TEST_SRC})
|
|
SET_TARGET_PROPERTIES(${TEST_PROJECT_NAME} PROPERTIES ENABLE_EXPORTS TRUE)
|
|
ADD_DEPENDENCIES(${TEST_PROJECT_NAME} googletest)
|
|
target_link_libraries(${TEST_PROJECT_NAME} ${REQUIRED_LIBRARIES}
|
|
debug ${binary_dir}/Debug/gtest.lib
|
|
optimized ${binary_dir}/Release/gtest.lib)
|
|
|
|
install(TARGETS ${TEST_PROJECT_NAME}
|
|
RUNTIME DESTINATION bin
|
|
ARCHIVE DESTINATION lib)
|