blob: 5db4f616f255162936f65162a36b513d8ca3067a [file] [log] [blame]
include (FindPkgConfig)
if(NOT WIN32)
find_package(XCB REQUIRED)
endif()
find_package(ImageMagick COMPONENTS MagickWand)
if(NOT EXISTS /usr/include/glm/glm.hpp)
message(FATAL_ERROR "Necessary libglm-dev headers cannot be found: sudo apt-get install libglm-dev")
endif()
if(NOT ImageMagick_FOUND)
message(FATAL_ERROR "Missing ImageMagick library: sudo apt-get install libmagickwand-dev")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXGL_PROTOTYPES -Wno-sign-compare")
SET(COMMON_CPP
xglrenderframework.cpp
xgltestbinding.cpp
xgltestframework.cpp
test_environment.cpp
)
# Expect libraries to be in either the build (release build) or dbuild (debug) directories
if(EXISTS ${GLSLANG_PREFIX}/build/install/lib)
set(GLSLANG_BUILD ${GLSLANG_PREFIX}/build)
elseif(EXISTS ${GLSLANG_PREFIX}/dbuild/install/lib)
set(GLSLANG_BUILD ${GLSLANG_PREFIX}/dbuild)
else()
message(FATAL_ERROR "Necessary glslang libraries cannot be found: " ${GLSLANG_PREFIX})
endif()
link_directories(
"${GLSLANG_BUILD}/install/lib"
)
set(TEST_LIBRARIES
glslang
OGLCompiler
OSDependent
SPIRV
${XCB_LIBRARIES}
${ImageMagick_LIBRARIES}
)
include_directories(
"${PROJECT_SOURCE_DIR}/tests/gtest-1.7.0/include"
"${PROJECT_SOURCE_DIR}/icd/common"
"${GLSLANG_PREFIX}/glslang/Include"
"${GLSLANG_PREFIX}/glslang/Public"
"${GLSLANG_PREFIX}/SPIRV"
${XCB_INCLUDE_DIRS}
${ImageMagick_INCLUDE_DIRS}
)
add_definitions(
-DMAGICKCORE_QUANTUM_DEPTH=16
-DMAGICKCORE_HDRI_ENABLE=0
)
# extra setup for out-of-tree builds
if (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR))
add_custom_target(binary-dir-symlinks ALL
COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/golden
COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/run_all_tests.sh
COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/run_all_tests_with_layers.sh
COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/layer_test_suite.py
VERBATIM
)
endif()
add_executable(xglbase init.cpp ${COMMON_CPP})
set_target_properties(xglbase
PROPERTIES
COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
target_link_libraries(xglbase XGL gtest gtest_main ${TEST_LIBRARIES})
add_executable(xgl_image_tests image_tests.cpp ${COMMON_CPP})
set_target_properties(xgl_image_tests
PROPERTIES
COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
target_link_libraries(xgl_image_tests XGL gtest gtest_main ${TEST_LIBRARIES})
add_executable(xgl_render_tests render_tests.cpp ${COMMON_CPP})
set_target_properties(xgl_render_tests
PROPERTIES
COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
target_link_libraries(xgl_render_tests XGL gtest gtest_main ${TEST_LIBRARIES})
add_executable(xgl_blit_tests blit_tests.cpp ${COMMON_CPP})
set_target_properties(xgl_blit_tests
PROPERTIES
COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
target_link_libraries(xgl_blit_tests XGL gtest gtest_main ${TEST_LIBRARIES})
add_subdirectory(gtest-1.7.0)