[Piglit] [PATCH 4/4] cmake: check for glproto headers

nobled nobled at dreamwidth.org
Fri Mar 2 05:30:59 PST 2012


And error out when they're not present, rather than failing to
compile later when GL/glxproto.h can't be found.
---
 CMakeLists.txt                                     |    5 +++++
 tests/glx/CMakeLists.gl.txt                        |    3 +++
 .../spec/glx_arb_create_context/CMakeLists.gl.txt  |    3 +++
 .../spec/glx_ext_import_context/CMakeLists.gl.txt  |    3 +++
 tests/util/CMakeLists.gl.txt                       |    6 ++++++
 5 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2aa1020..a00efc5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,7 @@ INCLUDE (CheckCCompilerFlag)
 INCLUDE (CheckCXXCompilerFlag)
 INCLUDE (CheckFunctionExists)
 INCLUDE (CheckIncludeFile)
+INCLUDE (FindPkgConfig)

 project (piglit)

@@ -13,6 +14,10 @@ find_package(GLUT REQUIRED)
 find_package(PNG REQUIRED)
 find_package(X11)

+IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	pkg_check_modules(GLPROTO REQUIRED glproto)
+ENDIF()
+
 # The 'REQUIRED' above correctly produces an error for
 # OpenGL and PNG, but there's a bug involving FindGLUT.cmake
 # that fails to produce the error as of CMake 2.8.5.
diff --git a/tests/glx/CMakeLists.gl.txt b/tests/glx/CMakeLists.gl.txt
index 1d6621e..157e820 100644
--- a/tests/glx/CMakeLists.gl.txt
+++ b/tests/glx/CMakeLists.gl.txt
@@ -15,6 +15,9 @@ link_libraries (
 )

 IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	include_directories(
+		${GLPROTO_INCLUDE_DIRS}
+	)
 	add_executable (glx-fbconfig-sanity glx-fbconfig-sanity.c)
 	add_executable (glx-fbconfig-compliance glx-fbconfig-compliance.c)
 	add_executable (glx-fbo-binding glx-fbo-binding.c)
diff --git a/tests/spec/glx_arb_create_context/CMakeLists.gl.txt
b/tests/spec/glx_arb_create_context/CMakeLists.gl.txt
index 3b70207..a9f8a31 100644
--- a/tests/spec/glx_arb_create_context/CMakeLists.gl.txt
+++ b/tests/spec/glx_arb_create_context/CMakeLists.gl.txt
@@ -15,6 +15,9 @@ link_libraries (
 )

 IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	include_directories(
+		${GLPROTO_INCLUDE_DIRS}
+	)
 	add_executable (glx-create-context-default-major-version
default-major-version.c common.c)
 	add_executable (glx-create-context-default-minor-version
default-minor-version.c common.c)
 	add_executable (glx-create-context-invalid-attribute
invalid-attribute.c common.c)
diff --git a/tests/spec/glx_ext_import_context/CMakeLists.gl.txt
b/tests/spec/glx_ext_import_context/CMakeLists.gl.txt
index 2ba2acd..001ade9 100644
--- a/tests/spec/glx_ext_import_context/CMakeLists.gl.txt
+++ b/tests/spec/glx_ext_import_context/CMakeLists.gl.txt
@@ -15,6 +15,9 @@ link_libraries (
 )

 IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	include_directories(
+		${GLPROTO_INCLUDE_DIRS}
+	)
 	add_executable (glx-free-context free-context.c common.c)
 	add_executable (glx-get-context-id get-context-id.c common.c)
 	add_executable (glx-get-current-display-ext get-current-display.c common.c)
diff --git a/tests/util/CMakeLists.gl.txt b/tests/util/CMakeLists.gl.txt
index 13daa80..b612f41 100644
--- a/tests/util/CMakeLists.gl.txt
+++ b/tests/util/CMakeLists.gl.txt
@@ -23,6 +23,12 @@ if (C_COMPILER_FLAG_WDECL_AFTER_STMT)
 endif ()

 IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	# XXX: This is currently duplicated wherever tests
+	# include "piglit-glx-util.h". Is it possible to refactor it?
+	include_directories(
+		${GLPROTO_INCLUDE_DIRS}
+	)
+
 	add_definitions ( -DUSE_GLX )
 	add_library (piglitglxutil
 		    piglit-shader.c
-- 
1.7.4.1


More information about the Piglit mailing list