Commit 8f02f586 by Antonio Maiorano

CMake: use gtest and gmock targets

Bug: b/145758253 Bug: b/152606052 Change-Id: I826225ed393ed324301555ebaea14947997632cf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43289Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
parent b02a708c
...@@ -615,6 +615,18 @@ if(SWIFTSHADER_ENABLE_ASTC) ...@@ -615,6 +615,18 @@ if(SWIFTSHADER_ENABLE_ASTC)
endif() endif()
########################################################### ###########################################################
# gtest and gmock
###########################################################
if(SWIFTSHADER_BUILD_TESTS)
# For Win32, force gtest to match our CRT (shared)
set(gtest_force_shared_crt TRUE CACHE BOOL "" FORCE)
add_subdirectory(third_party/googletest EXCLUDE_FROM_ALL)
# gtest finds python, which picks python 2 first, if present.
# We need to undo this so that SPIR-V can later find python3.
unset(PYTHON_EXECUTABLE CACHE)
endif()
###########################################################
# Include Directories # Include Directories
########################################################### ###########################################################
...@@ -984,7 +996,7 @@ if(SWIFTSHADER_BUILD_VULKAN) ...@@ -984,7 +996,7 @@ if(SWIFTSHADER_BUILD_VULKAN)
# This variable is also used by SPIRV-Tools to locate SPIRV-Headers # This variable is also used by SPIRV-Tools to locate SPIRV-Headers
set(SPIRV-Headers_SOURCE_DIR "${THIRD_PARTY_DIR}/SPIRV-Headers") set(SPIRV-Headers_SOURCE_DIR "${THIRD_PARTY_DIR}/SPIRV-Headers")
list(APPEND VULKAN_INCLUDE_DIR "${SPIRV-Headers_SOURCE_DIR}/include") list(APPEND VULKAN_INCLUDE_DIR "${SPIRV-Headers_SOURCE_DIR}/include")
set(SPIRV_SKIP_TESTS TRUE CACHE BOOL "" FORCE)
add_subdirectory(third_party/SPIRV-Tools) add_subdirectory(third_party/SPIRV-Tools)
set_target_properties(core_tables PROPERTIES FOLDER "SPIRV-Tools build") set_target_properties(core_tables PROPERTIES FOLDER "SPIRV-Tools build")
...@@ -1097,33 +1109,22 @@ endif() ...@@ -1097,33 +1109,22 @@ endif()
if(SWIFTSHADER_BUILD_TESTS) if(SWIFTSHADER_BUILD_TESTS)
set(REACTOR_UNIT_TESTS_LIST set(REACTOR_UNIT_TESTS_LIST
${SOURCE_DIR}/Reactor/ReactorUnitTests.cpp ${SOURCE_DIR}/Reactor/ReactorUnitTests.cpp
${THIRD_PARTY_DIR}/googletest/googletest/src/gtest-all.cc
)
set(REACTOR_UNIT_TESTS_INCLUDE_DIR
${THIRD_PARTY_DIR}/googletest/googletest/include
${THIRD_PARTY_DIR}/googletest/googletest/
) )
add_executable(ReactorUnitTests ${REACTOR_UNIT_TESTS_LIST}) add_executable(ReactorUnitTests ${REACTOR_UNIT_TESTS_LIST})
set_target_properties(ReactorUnitTests PROPERTIES set_target_properties(ReactorUnitTests PROPERTIES
INCLUDE_DIRECTORIES "${REACTOR_UNIT_TESTS_INCLUDE_DIR}"
COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS};${WARNINGS_AS_ERRORS}" COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS};${WARNINGS_AS_ERRORS}"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}" LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
FOLDER "Tests" FOLDER "Tests"
) )
target_link_libraries(ReactorUnitTests ${Reactor} ${OS_LIBS}) target_link_libraries(ReactorUnitTests ${Reactor} ${OS_LIBS} gtest)
set(GLES_UNITTESTS_LIST set(GLES_UNITTESTS_LIST
${TESTS_DIR}/GLESUnitTests/main.cpp ${TESTS_DIR}/GLESUnitTests/main.cpp
${TESTS_DIR}/GLESUnitTests/unittests.cpp ${TESTS_DIR}/GLESUnitTests/unittests.cpp
${THIRD_PARTY_DIR}/googletest/googletest/src/gtest-all.cc
) )
set(GLES_UNITTESTS_INCLUDE_DIR set(GLES_UNITTESTS_INCLUDE_DIR
${THIRD_PARTY_DIR}/googletest/googletest/include/
${THIRD_PARTY_DIR}/googletest/googlemock/include/
${THIRD_PARTY_DIR}/googletest/googletest/
${CMAKE_CURRENT_SOURCE_DIR}/include/ ${CMAKE_CURRENT_SOURCE_DIR}/include/
) )
...@@ -1136,7 +1137,7 @@ if(SWIFTSHADER_BUILD_TESTS) ...@@ -1136,7 +1137,7 @@ if(SWIFTSHADER_BUILD_TESTS)
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}" LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
) )
target_link_libraries(gles-unittests libEGL libGLESv2 ${OS_LIBS} ${SWIFTSHADER_LIBS}) target_link_libraries(gles-unittests libEGL libGLESv2 ${OS_LIBS} ${SWIFTSHADER_LIBS} gtest gmock)
if(ANDROID) if(ANDROID)
target_link_libraries(gles-unittests -landroid) target_link_libraries(gles-unittests -landroid)
endif() endif()
...@@ -1145,13 +1146,9 @@ if(SWIFTSHADER_BUILD_TESTS) ...@@ -1145,13 +1146,9 @@ if(SWIFTSHADER_BUILD_TESTS)
set(MATH_UNITTESTS_LIST set(MATH_UNITTESTS_LIST
${TESTS_DIR}/MathUnitTests/main.cpp ${TESTS_DIR}/MathUnitTests/main.cpp
${TESTS_DIR}/MathUnitTests/unittests.cpp ${TESTS_DIR}/MathUnitTests/unittests.cpp
${THIRD_PARTY_DIR}/googletest/googletest/src/gtest-all.cc
) )
set(MATH_UNITTESTS_INCLUDE_DIR set(MATH_UNITTESTS_INCLUDE_DIR
${THIRD_PARTY_DIR}/googletest/googletest/include/
${THIRD_PARTY_DIR}/googletest/googlemock/include/
${THIRD_PARTY_DIR}/googletest/googletest/
${CMAKE_CURRENT_SOURCE_DIR}/src/ ${CMAKE_CURRENT_SOURCE_DIR}/src/
) )
...@@ -1163,6 +1160,7 @@ if(SWIFTSHADER_BUILD_TESTS) ...@@ -1163,6 +1160,7 @@ if(SWIFTSHADER_BUILD_TESTS)
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}" LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
) )
target_link_libraries(math-unittests gtest gmock)
if(NOT WIN32) if(NOT WIN32)
target_link_libraries(math-unittests pthread ${SWIFTSHADER_LIBS}) target_link_libraries(math-unittests pthread ${SWIFTSHADER_LIBS})
endif() endif()
...@@ -1194,13 +1192,9 @@ if(SWIFTSHADER_BUILD_TESTS AND SWIFTSHADER_BUILD_VULKAN) ...@@ -1194,13 +1192,9 @@ if(SWIFTSHADER_BUILD_TESTS AND SWIFTSHADER_BUILD_VULKAN)
${TESTS_DIR}/VulkanUnitTests/Driver.cpp ${TESTS_DIR}/VulkanUnitTests/Driver.cpp
${TESTS_DIR}/VulkanUnitTests/main.cpp ${TESTS_DIR}/VulkanUnitTests/main.cpp
${TESTS_DIR}/VulkanUnitTests/unittests.cpp ${TESTS_DIR}/VulkanUnitTests/unittests.cpp
${THIRD_PARTY_DIR}/googletest/googletest/src/gtest-all.cc
) )
set(VK_UNITTESTS_INCLUDE_DIR set(VK_UNITTESTS_INCLUDE_DIR
${THIRD_PARTY_DIR}/googletest/googletest/include/
${THIRD_PARTY_DIR}/googletest/googlemock/include/
${THIRD_PARTY_DIR}/googletest/googletest/
${THIRD_PARTY_DIR}/SPIRV-Tools/include ${THIRD_PARTY_DIR}/SPIRV-Tools/include
${CMAKE_CURRENT_SOURCE_DIR}/include/ ${CMAKE_CURRENT_SOURCE_DIR}/include/
) )
...@@ -1216,7 +1210,7 @@ if(SWIFTSHADER_BUILD_TESTS AND SWIFTSHADER_BUILD_VULKAN) ...@@ -1216,7 +1210,7 @@ if(SWIFTSHADER_BUILD_TESTS AND SWIFTSHADER_BUILD_VULKAN)
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}" LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
) )
target_link_libraries(vk-unittests ${OS_LIBS} SPIRV-Tools ${SWIFTSHADER_LIBS}) target_link_libraries(vk-unittests SPIRV-Tools ${OS_LIBS} ${SWIFTSHADER_LIBS} gtest gmock)
endif(SWIFTSHADER_BUILD_TESTS AND SWIFTSHADER_BUILD_VULKAN) endif(SWIFTSHADER_BUILD_TESTS AND SWIFTSHADER_BUILD_VULKAN)
if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR) if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment