On 15/12/14 18:56, Dylan Baker wrote:
This is nice because it should work on both windows and on linux, since
FindWaffle is provided by waffle itself.

This is tested on Linux, but not on Windows.

NOTE: There is a bug in FindWaffle.cmake that causes it to never check
that the requested version is present. There is a patch on the waffle
list for this problem.

Signed-off-by: Dylan Baker <[email protected]>
---
  CMakeLists.txt | 26 +-------------------------
  1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e85bb37..200dbbf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,31 +42,7 @@ else()
  endif()

  if(PIGLIT_USE_WAFFLE)
-       if (NOT MSVC)
-               pkg_check_modules(WAFFLE REQUIRED waffle-1)
-
-               if(NOT WAFFLE_FOUND)
-                       message(FATAL_ERROR "Failed to find Waffle. If Waffle"
-                       "is not packaged for your distribution, you can get "
-                       "it at 
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.waffle-2Dgl.org_&d=AAIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=SFYpmK_kSJY6st6hV0UPqYb0RyGi0hmhIs-w1r41SnA&s=igTNwzIfRoh2YlND544S4c0lbruOUka8htnMKhjGMcE&e=
 ."
-               )
-               endif()
-       endif ()
-
-       # Check the installed waffle version.
-       #
-       # We cannot reliably check the version with pkg_check_modules(), but
-       # instead must check the version manually as below. The problem is that,
-       # if one passes a required version to pkg_check_modules(), CMake
-       # validates the required version at most once for the lifetime of the
-       # source tree.  If someone changes the required version by editing the
-       # CMakeLists, CMake fails to detect the new requirement.
-       set(WAFFLE_REQUIRED_VERSION "1.3.0")
-       if(WAFFLE_VERSION VERSION_LESS WAFFLE_REQUIRED_VERSION)
-               message(FATAL_ERROR "Found waffle-${WAFFLE_VERSION}, but "
-               "piglit requires waffle-${WAFFLE_REQUIRED_VERSION}")
-       endif()
-
+       find_package(Waffle, 1.3.0 REQUIRED)
        add_definitions(-DPIGLIT_USE_WAFFLE)
        add_definitions(-DWAFFLE_API_VERSION=0x0103)
  else()


`pkg_check_modules(WAFFLE)` defines  WAFFLE_INCLUDE_DIRS and WAFFLE_LDFLAGS

But FindWaffle.cmake defines WAFFLE_INCLUDE_DIR & WAFFLE_LIBRARIES

I'm surprised this works at all without renaming the variables everywhere.


The Windows instructions will need to be updated, mentining that -DCMAKE_MODULE_PATH=/path/to/where/FindWaffle.cmake/can/be/found should be passed on command line.


But otherwise I think it might be a good idea.


Jose
_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to