[Piglit] [PATCH v3 11/19] cmake: Move utility functions into piglit_util.cmake

Paul Berry stereotype441 at gmail.com
Wed Mar 21 08:58:10 PDT 2012


From: Chad Versace <chad.versace at linux.intel.com>

Currently there is only one utility function, piglit_include_target_api.
However, subsequent commits will add several more.

I'm choosing to define all the utility functions in their own file,
piglit_util.cmake, in order to keep things organized and the top
CMakeLists uncluttered.

Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
---
 CMakeLists.txt                  |    1 +
 cmake/piglit_util.cmake         |   49 +++++++++++++++++++++++++++++++++++++++
 cmake/target_api/CMakeLists.txt |   23 ------------------
 3 files changed, 50 insertions(+), 23 deletions(-)
 create mode 100644 cmake/piglit_util.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d814d2..581a813 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,6 +169,7 @@ configure_file(
 	"${piglit_BINARY_DIR}/tests/util/config.h"
 )
 
+include(cmake/piglit_util.cmake)
 include(cmake/piglit_glapi.cmake)
 include(cmake/piglit_dispatch.cmake)
 
diff --git a/cmake/piglit_util.cmake b/cmake/piglit_util.cmake
new file mode 100644
index 0000000..78a0919
--- /dev/null
+++ b/cmake/piglit_util.cmake
@@ -0,0 +1,49 @@
+# Copyright 2012 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+# function piglit_include_target_api
+#
+# If the file CMakeLists.${piglit_target_api}.txt exists in the current source
+# directory, then include it.
+#
+function(piglit_include_target_api)
+
+    # Verify that the value of `piglit_target_api` is valid.
+    set(valid_api FALSE)
+
+    foreach(api "gl" "gles1" "gles2" "no_api")
+        if(piglit_target_api STREQUAL ${api})
+            set(valid_api TRUE)
+            break()
+        endif(piglit_target_api STREQUAL ${api})
+    endforeach(api)
+
+    if(NOT valid_api)
+        message(FATAL_ERROR "Invalid value for piglit_target_api: ${piglit_target_api}")
+    endif(NOT valid_api)
+
+    # Include CMakeLists.${piglit_target_api}.txt` if it exists.
+    set(api_file ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.${piglit_target_api}.txt)
+    if(EXISTS ${api_file})
+        include(${api_file})
+    endif(EXISTS ${api_file})
+
+endfunction(piglit_include_target_api)
diff --git a/cmake/target_api/CMakeLists.txt b/cmake/target_api/CMakeLists.txt
index eecbd35..f0c0e13 100644
--- a/cmake/target_api/CMakeLists.txt
+++ b/cmake/target_api/CMakeLists.txt
@@ -22,29 +22,6 @@
 # Authors:
 #     Chad Versace <chad.versace at intel.com>
 
-
-# piglit_include_target_api
-#
-# If the file CMakeLists.${piglit_target_api}.txt exists in the current source
-# directory, then include it.
-#
-function(piglit_include_target_api)
-	set(valid_api FALSE)
-	foreach(api "gl" "gles1" "gles2" "no_api")
-		if(piglit_target_api STREQUAL ${api})
-			set(valid_api TRUE)
-			break()
-		endif(piglit_target_api STREQUAL ${api})
-	endforeach(api)
-	if(NOT valid_api)
-		message(FATAL_ERROR "Invalid value for piglit_target_api: ${piglit_target_api}")
-	endif(NOT valid_api)
-	set(api_file ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.${piglit_target_api}.txt)
-	if(EXISTS ${api_file})
-		include(${api_file})
-	endif(EXISTS ${api_file})
-endfunction(piglit_include_target_api)
-
 add_subdirectory(gl)
 add_subdirectory(gles1)
 add_subdirectory(gles2)
-- 
1.7.7.6



More information about the Piglit mailing list