mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
Merge pull request #868 from mymedia2/master
Search for GoogleTest via pkg-config first
This commit is contained in:
commit
9355982fc5
@ -1,36 +1,41 @@
|
|||||||
cmake_minimum_required(VERSION 3.0.2)
|
cmake_minimum_required(VERSION 3.0.2)
|
||||||
|
|
||||||
project(GSLTests CXX)
|
project(GSLTests CXX)
|
||||||
|
include(FindPkgConfig)
|
||||||
|
|
||||||
# will make visual studio generated project group files
|
# will make visual studio generated project group files
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
|
||||||
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
|
pkg_search_module(GTestMain gtest_main)
|
||||||
execute_process(
|
if (NOT GTestMain_FOUND)
|
||||||
|
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
|
||||||
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
|
||||||
)
|
)
|
||||||
if(result)
|
if(result)
|
||||||
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
|
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} --build .
|
COMMAND ${CMAKE_COMMAND} --build .
|
||||||
RESULT_VARIABLE result
|
RESULT_VARIABLE result
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
|
||||||
)
|
)
|
||||||
if(result)
|
if(result)
|
||||||
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
|
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||||
|
set(GTestMain_LIBRARIES gtest_main)
|
||||||
|
|
||||||
add_subdirectory(
|
add_subdirectory(
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/googletest-src
|
${CMAKE_CURRENT_BINARY_DIR}/googletest-src
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
|
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
|
if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
|
||||||
set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
|
set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
|
||||||
@ -149,7 +154,7 @@ function(add_gsl_test name)
|
|||||||
target_link_libraries(${name}
|
target_link_libraries(${name}
|
||||||
GSL
|
GSL
|
||||||
gsl_tests_config
|
gsl_tests_config
|
||||||
gtest_main
|
${GTestMain_LIBRARIES}
|
||||||
)
|
)
|
||||||
add_test(
|
add_test(
|
||||||
${name}
|
${name}
|
||||||
@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
|
|||||||
target_link_libraries(${name}
|
target_link_libraries(${name}
|
||||||
GSL
|
GSL
|
||||||
gsl_tests_config_noexcept
|
gsl_tests_config_noexcept
|
||||||
gtest_main
|
${GTestMain_LIBRARIES}
|
||||||
)
|
)
|
||||||
add_test(
|
add_test(
|
||||||
${name}
|
${name}
|
||||||
|
Loading…
Reference in New Issue
Block a user