Extend rasterization testing, modify verification
[platform/upstream/VK-GL-CTS.git] / CMakeLists.txt
index 92a79e8..4f25138 100644 (file)
@@ -1,9 +1,10 @@
 # dEQP cmake file
 
 # Module FindGit requires cmake >= 2.8.2
-cmake_minimum_required(VERSION 2.8.2)
+cmake_minimum_required(VERSION 3.0)
 
 find_package(Git)
+find_package(PythonInterp 3)
 
 # dEQP Target.
 set(DEQP_TARGET "default" CACHE STRING "dEQP Target (default, android...)")
@@ -87,6 +88,20 @@ add_subdirectory(external/glslang)
 # spirv-tools
 add_subdirectory(external/spirv-tools)
 
+# spirv-headers
+set(SPIRV_INCLUDE_PATH "${PROJECT_SOURCE_DIR}/external/spirv-headers/src/include")
+if (NOT EXISTS ${SPIRV_INCLUDE_PATH})
+       message(FATAL_ERROR "SPIR-V headers not found, please run external/fetch_sources.py")
+endif()
+include_directories(${SPIRV_INCLUDE_PATH})
+
+# Amber
+add_subdirectory(external/amber)
+include_directories(external/amber)
+
+# RenderDoc API
+include_directories(external/renderdoc/src)
+
 include_directories(${PNG_INCLUDE_PATH})
 
 message(STATUS "DEQP_TARGET_NAME        = ${DEQP_TARGET_NAME}")
@@ -147,6 +162,18 @@ if (DE_COMPILER_IS_MSC)
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_SCL_SECURE_NO_WARNINGS")
 endif ()
 
+# Precompiled header macro. Parameters are source file list and filename for pch cpp file.
+macro(PCH SRCS PCHCPP)
+  if(MSVC AND CMAKE_GENERATOR MATCHES "^Visual Studio")
+    set(PCH_NAME "$(IntDir)\\pch.pch")
+    # make source files use/depend on PCH_NAME
+    set_source_files_properties(${${SRCS}} PROPERTIES COMPILE_FLAGS "/Yupch.h /FIpch.h /Fp${PCH_NAME}" OBJECT_DEPENDS "${PCH_NAME}")
+    # make PCHCPP file compile and generate PCH_NAME
+    set_source_files_properties(${PCHCPP} PROPERTIES COMPILE_FLAGS "/Ycpch.h /Fp${PCH_NAME}" OBJECT_OUTPUTS "${PCH_NAME}")
+    list(APPEND ${SRCS} "${PCHCPP}")
+  endif()
+endmacro(PCH)
+
 # delibs projects
 add_subdirectory(framework/delibs/debase)
 add_subdirectory(framework/delibs/depool)
@@ -291,6 +318,11 @@ if (DE_OS_IS_ANDROID)
        add_library(deqp SHARED ${DEQP_SRCS})
        target_link_libraries(deqp ${DEQP_LIBS})
 
+       # Separate out the debug information because it's enormous
+       add_custom_command(TARGET deqp POST_BUILD
+               COMMAND ${CMAKE_STRIP} --only-keep-debug -o $<TARGET_FILE:deqp>.debug $<TARGET_FILE:deqp>
+               COMMAND ${CMAKE_STRIP} -g $<TARGET_FILE:deqp>)
+
        # Needed by OpenGL CTS that defines its own activity but depends on
        # common Android support code.
        target_include_directories(deqp PRIVATE framework/platform/android)