GLFW also works on linux so allow proper fallback handling of tests. This means Waffle to GLFW to GLUT. --- CMakeLists.txt | 56 +++++++++++++++++++++++++++----------------------------- 1 file changed, 27 insertions(+), 29 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3dd488f..b70ae1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,31 +26,29 @@ else() find_package(OpenGL) endif() -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - option(PIGLIT_USE_WAFFLE "Use Waffle in place of GLUT" ON) - option(PIGLIT_USE_GLFW3 "Use GLFW in place of GLUT" ON) -else() - option(PIGLIT_USE_WAFFLE "Use Waffle in place of GLUT" OFF) - option(PIGLIT_USE_GLFW3 "Use GLFW in place of GLUT" ON) -endif() +option(PIGLIT_USE_WAFFLE "Attempt to use Waffle in place of GLUT" ON) +option(PIGLIT_USE_GLFW3 "Attempt to use GLFW in place of GLUT" ON) if(PIGLIT_USE_WAFFLE) - pkg_check_modules(WAFFLE REQUIRED waffle-1>=1.2.2) + pkg_check_modules(WAFFLE waffle-1>=1.2.2) + + if(WAFFLE_FOUND) + add_definitions(-DPIGLIT_USE_WAFFLE) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WAFFLE_CFLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WAFFLE_CFLAGS}") + else() + # Waffle not found. + set(PIGLIT_USE_WAFFLE OFF CACHE "" FORCE) + endif() - if(NOT WAFFLE_FOUND) - message(FATAL_ERROR "Failed to find Waffle. If Waffle is not " - "packaged for your distribution, you can get it at " - "http://people.freedesktop.org/~chadversary/waffle." - ) - endif() - add_definitions(-DPIGLIT_USE_WAFFLE) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WAFFLE_CFLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WAFFLE_CFLAGS}") -elseif(PIGLIT_USE_GLFW3) - pkg_search_module(GLFW3 glfw3) +endif(PIGLIT_USE_WAFFLE) + +if(PIGLIT_USE_GLFW3 AND( NOT PIGLIT_USE_WAFFLE)) + pkg_search_module(GLFW3 glfw3) if(GLFW3_FOUND) include_directories(${GLFW3_INCLUDE_DIRS}) + add_definitions(-DPIGLIT_USE_GLFW3) else() if(EXISTS "${CMAKE_SOURCE_DIR}/glfw/CMakeLists.txt") set(GLFW_BUILD_EXAMPLES OFF CACHE STRING "" FORCE) @@ -84,18 +82,17 @@ elseif(PIGLIT_USE_GLFW3) RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/bin" RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/bin" ) - if(MSVC_IDE) - endif() endif(WIN32) + add_definitions(-DPIGLIT_USE_GLFW3) else() - message(FATAL_ERROR "Failed to find GLFW version 3.\n" - "If GLFW3 is not installed, You can download GLFW3 from " - "their website at http://www.glfw.org/" - ) + # GLFW3 not found. + set(PIGLIT_USE_GLFW3 OFF CACHE "" FORCE) endif() endif() - add_definitions(-DPIGLIT_USE_GLFW3) -else() + +endif(PIGLIT_USE_GLFW3 AND( NOT PIGLIT_USE_WAFFLE)) + +if(NOT (PIGLIT_USE_GLFW3 OR PIGLIT_USE_WAFFLE)) find_package(GLUT REQUIRED) # The 'REQUIRED' above correctly produces an error for @@ -109,9 +106,10 @@ else() # # Work around the bug and error out quickly here instead. if (NOT GLUT_FOUND) - message(FATAL_ERROR "GLUT library not found") + message(FATAL_ERROR + "Unable to find Framework to use. Please Install GLUT, GLFW, nor Waffle.") endif() -endif(PIGLIT_USE_WAFFLE) +endif(NOT (PIGLIT_USE_GLFW3 OR PIGLIT_USE_WAFFLE)) if(PIGLIT_BUILD_GLES1_TESTS AND NOT PIGLIT_USE_WAFFLE) message(FATAL_ERROR "Option PIGLIT_BUILD_GLES1_TESTS requires PIGLIT_USE_WAFFLE") -- 1.7.9.5 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit