Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
[platform/upstream/VK-GL-CTS.git] / CMakeLists.txt
index 4365ada..6d940b3 100644 (file)
@@ -66,6 +66,13 @@ if (NOT ZLIB_INCLUDE_PATH OR NOT ZLIB_LIBRARY)
        # \note ZLIB_LIBRARY and ZLIB_INCLUDE_PATH are promoted from external/zlib/CMakeLists.txt
 endif ()
 
+if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/external/renderdoc/src/renderdoc_app.h")
+       message(STATUS "Renderdoc header found, integration enabled")
+       set(DEQP_HAVE_RENDERDOC_HEADER 1)
+else ()
+       message(STATUS "Renderdoc header not found, integration will not work")
+endif ()
+
 include_directories(${ZLIB_INCLUDE_PATH})
 
 # libpng
@@ -106,6 +113,20 @@ include_directories(external/renderdoc/src)
 
 include_directories(${PNG_INCLUDE_PATH})
 
+# DRM (Direct Rendering Manager) Headers
+find_path(XF86DRM_H_PATH NAMES xf86drm.h)
+find_path(DRM_H_PATH NAMES drm.h PATH_SUFFIXES libdrm drm)
+
+if (XF86DRM_H_PATH AND DRM_H_PATH)
+       include_directories(${XF86DRM_H_PATH})
+       include_directories(${DRM_H_PATH})
+       set(DEQP_SUPPORT_DRM ON CACHE BOOL "Build code requiring the Linux/Unix Direct Rendering Manager")
+       mark_as_advanced(XF86DRM_H_PATH)
+       mark_as_advanced(DRM_H_PATH)
+else ()
+       set(DEQP_SUPPORT_DRM OFF CACHE BOOL "Build code requiring the Linux/Unix Direct Rendering Manager")
+endif ()
+
 message(STATUS "DEQP_TARGET_NAME        = ${DEQP_TARGET_NAME}")
 message(STATUS "DEQP_SUPPORT_GLES1      = ${DEQP_SUPPORT_GLES1}")
 message(STATUS "DEQP_GLES1_LIBRARIES    = ${DEQP_GLES1_LIBRARIES}")
@@ -117,6 +138,7 @@ message(STATUS "DEQP_SUPPORT_VG         = ${DEQP_SUPPORT_VG}")
 message(STATUS "DEQP_VG_LIBRARIES       = ${DEQP_VG_LIBRARIES}")
 message(STATUS "DEQP_EGL_LIBRARIES      = ${DEQP_EGL_LIBRARIES}")
 message(STATUS "DEQP_PLATFORM_LIBRARIES = ${DEQP_PLATFORM_LIBRARIES}")
+message(STATUS "DEQP_SUPPORT_DRM        = ${DEQP_SUPPORT_DRM}")
 
 # Defines
 add_definitions(-DDEQP_TARGET_NAME="${DEQP_TARGET_NAME}")
@@ -159,6 +181,12 @@ if (DEQP_SUPPORT_VG)
        endif ()
 endif ()
 
+if (DEQP_SUPPORT_DRM)
+       add_definitions(-DDEQP_SUPPORT_DRM=1)
+else ()
+       add_definitions(-DDEQP_SUPPORT_DRM=0)
+endif ()
+
 if (DE_COMPILER_IS_MSC)
        # Don't nag about std::copy for example
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_SCL_SECURE_NO_WARNINGS")
@@ -254,7 +282,7 @@ macro (add_deqp_module MODULE_NAME SRCS LIBS ENTRY)
        if (NOT DE_OS_IS_ANDROID AND NOT DE_OS_IS_IOS)
                # Executable target
                add_executable(${MODULE_NAME} ${PROJECT_SOURCE_DIR}/framework/platform/tcuMain.cpp ${ENTRY})
-               target_link_libraries(${MODULE_NAME} tcutil-platform "${MODULE_NAME}${MODULE_LIB_TARGET_POSTFIX}")
+               target_link_libraries(${MODULE_NAME} PUBLIC tcutil-platform "${MODULE_NAME}${MODULE_LIB_TARGET_POSTFIX}")
                target_copy_files(${MODULE_NAME} platform-libs-${MODULE_NAME} "${DEQP_PLATFORM_COPY_LIBRARIES}")
        endif ()
 
@@ -303,6 +331,7 @@ add_subdirectory(external/openglcts)
 # Single-binary targets
 if (DE_OS_IS_ANDROID)
        include_directories(executor)
+       include_directories(${PROJECT_BINARY_DIR}/external/vulkancts/framework/vulkan)
 
        set(DEQP_SRCS
                framework/platform/android/tcuAndroidMain.cpp