cmake_minimum_required (VERSION 2.8)
+
+# Use clang on MacOSX. gcc doesn't support __thread key, and Apple has
+# abandoned it for clang. This must be done before the project is defined.
+if (APPLE)
+ set (CMAKE_C_COMPILER "clang")
+ set (CMAKE_CXX_COMPILER "clang++")
+endif ()
+
+
project (apitrace-tests)
find_path (APITRACE_SOURCE_DIR NAMES cmake/FindDirectX.cmake PATHS .. ../.. DOC "apitrace source tree" NO_DEFAULT_PATH)
message (WARNING "Please specify path to apitrace executable via APITRACE_EXECUTABLE")
endif ()
+include (FindPythonInterp)
include (FindPkgConfig)
set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
if (WIN32)
find_package (DirectX)
-else ()
+elseif (PKG_CONFIG_FOUND)
pkg_check_modules (EGL egl)
pkg_check_modules (GLESV1 glesv1_cm)
pkg_check_modules (GLESV2 glesv2)
endif ()
+# Check for the presence of several python packages, which are needed to build
+# generated tests.
+execute_process(
+ COMMAND ${PYTHON_EXECUTABLE} -c "import PIL"
+ OUTPUT_QUIET
+ ERROR_QUIET
+ RESULT_VARIABLE IMPORT_PIL_RESULT)
+if (IMPORT_PIL_RESULT EQUAL 0)
+ set (PIL_FOUND 1)
+else ()
+ message (STATUS "python PIL module not found")
+endif ()
+
if (UNIX)
link_libraries(m)
endif (UNIX)
add_subdirectory (apps)
add_subdirectory (traces)
+# FIXME: The tests in the cli directory are intended to be high-level
+# tests of the apitrace command-line interface which would ideally be
+# portable across all platforms. However, these tests all rely on
+# doing image comparisons and the current implementation of the
+# "apitrace dump-images" command relies on direct invocation of the
+# glreplay command.
+#
+# Someday, we should have more unified commands for replaying traces,
+# dumping images, etc. At that point these cli tests should be usable
+# with all targets so that we can drop the "if (OPENGL_FOUND)"
+# condition here.
+if (OPENGL_FOUND AND PIL_FOUND)
+ add_subdirectory (cli)
+ add_subdirectory (trim_stress)
+endif ()