Changing GTest inclusion in cmake to use find_package (#234)

* GTest is used via find_package. No longer downloaded in cmake.

* Adding error handling

[ROCm/rccl commit: 99a491273f]
This commit is contained in:
saadrahim
2020-07-15 20:51:48 -06:00
committed by GitHub
parent b600c00292
commit f80136bbba
2 changed files with 5 additions and 39 deletions
+5 -24
View File
@@ -11,31 +11,12 @@ if(BUILD_TESTS)
message(FATAL_ERROR "chrpath is required for UnitTests. Please install (e.g. sudo apt-get install chrpath)")
endif()
# Download and unpack googletest at configure time
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(
COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download)
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
endif()
execute_process(
COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download)
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
find_package(GTest REQUIRED)
if (NOT GTest_FOUND)
message(FATAL_ERROR "Please ensure GTest is installed on the system")
endif()
# Add googletest directly to our build. This adds the following targets:
# gtest, gtest_main, gmock and gmock_main
add_subdirectory("${CMAKE_BINARY_DIR}/googletest-src"
"${CMAKE_BINARY_DIR}/googletest-build")
# Add googletest directly to our build. This defines the gtest and gtest_main
# targets. add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
# ${CMAKE_CURRENT_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL)
include_directories(${GTEST_INCLUDE_DIR})
# Collect source files for tests
set(TEST_SOURCES
@@ -55,7 +36,7 @@ if(BUILD_TESTS)
add_executable(UnitTests ${TEST_SOURCES})
target_include_directories(UnitTests PRIVATE /opt/rocm)
target_link_libraries(UnitTests PRIVATE gtest_main PRIVATE rccl)
target_link_libraries(UnitTests PRIVATE ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY} PRIVATE rccl)
else()
message("Not building unit tests")
endif()
-15
View File
@@ -1,15 +0,0 @@
cmake_minimum_required(VERSION 2.8.2)
project(googletest-download NONE)
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.8.1
SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)