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) if(WIN32) target_link_libraries(${TEST_PROJECT_NAME} ${REQUIRED_LIBRARIES} debug ${binary_dir}/Debug/gtest.lib optimized ${binary_dir}/Release/gtest.lib) else() target_link_libraries(${TEST_PROJECT_NAME} ${REQUIRED_LIBRARIES} gtest) endif() install(TARGETS ${TEST_PROJECT_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib)