repo: Modify gtest build logic
authorLenny Komow <lenny@lunarg.com>
Wed, 6 Jun 2018 16:55:24 +0000 (10:55 -0600)
committerLenny Komow <lenny@lunarg.com>
Wed, 6 Jun 2018 20:45:26 +0000 (14:45 -0600)
Change the logic regarding building the loader tests and Google Test
to match that of Glslang and Vulkan-ValidationLayers

Change-Id: I9f5a9b5385369514e3bec979c8de75ae432d00a6

CMakeLists.txt
external/CMakeLists.txt

index b7df1d2fadf69d240aa861edabe0c73550b08c14..5aec276f1fce5d98b9db0b1e856319abbb909121 100644 (file)
@@ -123,6 +123,7 @@ if(WIN32)
 endif()
 
 option(BUILD_LOADER "Build loader" ON)
+option(BUILD_TESTS "BUILD_TESTS" ON)
 
 set (PYTHON_CMD ${PYTHON_EXECUTABLE})
 
@@ -180,12 +181,11 @@ add_custom_target(uninstall
 
 add_definitions(-DAPI_NAME="Vulkan")
 
-add_subdirectory(external)
-
 if(BUILD_LOADER)
     add_subdirectory(loader)
 endif()
 
 if(BUILD_TESTS)
+    add_subdirectory(external)
     add_subdirectory(tests)
 endif()
index a8527dc2c8d52b59b2e4abbe1a3e12c4ab9f91ed..59af5d95324ad2f738ccd3286df6f90c27f0458e 100644 (file)
@@ -1,11 +1,9 @@
 # Add all optional dependencies
 # Currently, the only optional project is googletest
 
-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/googletest")
-    option(BUILD_TESTS "Build tests" ON)
-endif()
-
-if(BUILD_TESTS)
+if(TARGET gtest_main)
+    message(STATUS "Google Test (googletest) already configured - use it")
+elseif(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/googletest")
     message(STATUS "Building gtest from ${CMAKE_CURRENT_SOURCE_DIR}/googletest")
     set(BUILD_GTEST ON CACHE BOOL "Builds the googletest subproject")
     set(BUILD_GMOCK OFF CACHE BOOL "Builds the googlemock subproject")
@@ -13,4 +11,6 @@ if(BUILD_TESTS)
     set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries")
     # EXCLUDE_FROM_ALL keeps the install target from installing GTEST files.
     add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/googletest" EXCLUDE_FROM_ALL)
+else()
+    message(STATUS "Google Test was not found - test based on that will not build")
 endif()