summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/CMakeLists.txt23
-rw-r--r--tests/FindGLEW.cmake94
2 files changed, 71 insertions, 46 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f7c3206..0e74f58 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -229,10 +229,27 @@ if (NOT $ENV{GLEWDIR} STREQUAL "")
elseif (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
set(GLEW_DIR "$ENV{OPENSCAD_LIBRARIES}")
endif()
+if (NOT GLEW_INCLUDE_DIR)
+ message(STATUS "OPENCSG_DIR: " ${OPENCSG_DIR})
+ find_path(GLEW_INCLUDE_DIR
+ GL/glew.h
+ HINTS ${GLEW_DIR}/include
+ NO_DEFAULT_PATH)
+ find_library(GLEW_LIBRARY
+ NAMES GLEW glew
+ HINTS ${GLEW_DIR}/lib
+ NO_DEFAULT_PATH)
+ if (NOT GLEW_LIBRARY)
+ find_package(GLEW REQUIRED)
+ if (NOT GLEW_LIBRARY)
+ message(FATAL_ERROR "GLEW not found")
+ endif()
+ endif()
+ message(STATUS "GLEW include: " ${GLEW_INCLUDE_DIR})
+ message(STATUS "GLEW library: " ${GLEW_LIBRARY})
+endif()
-find_package(GLEW REQUIRED)
-
-inclusion( GLEW_DIR GLEW_INCLUDE_PATH )
+inclusion(GLEW_DIR GLEW_INCLUDE_DIR)
# Flex/Bison
find_package(BISON REQUIRED)
diff --git a/tests/FindGLEW.cmake b/tests/FindGLEW.cmake
index 1b0cac4..a503368 100644
--- a/tests/FindGLEW.cmake
+++ b/tests/FindGLEW.cmake
@@ -3,55 +3,63 @@
# Once done this will define
#
# GLEW_FOUND
-# GLEW_INCLUDE_PATH
+# GLEW_INCLUDE_DIR
# GLEW_LIBRARY
#
# a few lines of this file are based on the LGPL code found at
# http://openlibraries.org/browser/trunk/FindGLEW.cmake?rev=1383
+include(FindPkgConfig)
-IF (WIN32 AND MSVC)
- IF (WIN32_STATIC_BUILD) # passed from caller
- SET(GLEW_LIB_SEARCH_NAME glew32s.lib) # static, non-debug (Release)
- ELSE ()
- SET(GLEW_LIB_SEARCH_NAME glew32.lib) # other. untested with OpenSCAD
- ENDIF()
-ELSE () # GCC
- SET(GLEW_LIB_SEARCH_NAME "libglew32s.a")
-ENDIF ()
+if (PKG_CONFIG_FOUND)
+ message("Doing pkg config glew check...")
+ pkg_check_modules(GLEW glew>=1.5)
+endif()
-IF (WIN32)
- FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
- $ENV{PROGRAMFILES}/GLEW/include
- ${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
- DOC "The directory where GL/glew.h resides")
- FIND_LIBRARY( GLEW_LIBRARY
- NAMES ${GLEW_LIB_SEARCH_NAME}
- PATHS
- $ENV{PROGRAMFILES}/GLEW/lib
- ${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
- ${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
- DOC "The GLEW library")
-ELSE (WIN32)
- message(STATUS "GLEW_DIR: " ${GLEW_DIR})
- FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
- HINTS ${GLEW_DIR}/include
- PATHS /usr/include /usr/local/include /usr/pkg/include
- NO_DEFAULT_PATH
- DOC "The directory where GL/glew.h resides")
- FIND_LIBRARY( GLEW_LIBRARY
- NAMES GLEW glew
- HINTS ${GLEW_DIR}/lib
- PATHS /usr/lib /usr/local/lib /usr/pkg/lib
- NO_DEFAULT_PATH
- DOC "The GLEW library")
-ENDIF (WIN32)
+if (GLEW_LIBRARIES)
+ set(GLEW_INCLUDE_DIR "${GLEW_INCLUDE_DIRS}")
+ set(GLEW_LIBRARY ${GLEW_LDFLAGS})
+else()
+ if (WIN32 AND MSVC)
+ if (WIN32_STATIC_BUILD) # passed from caller
+ set(GLEW_LIB_SEARCH_NAME glew32s.lib) # static, non-debug (Release)
+ else ()
+ set(GLEW_LIB_SEARCH_NAME glew32.lib) # other. untested with OpenSCAD
+ endif()
+ else () # GCC
+ set(GLEW_LIB_SEARCH_NAME "libglew32s.a")
+ endif ()
-IF (GLEW_INCLUDE_PATH)
- SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
- MESSAGE(STATUS "GLEW include found in " ${GLEW_INCLUDE_PATH} )
- MESSAGE(STATUS "GLEW library found in " ${GLEW_LIBRARY} )
-ELSE (GLEW_INCLUDE_PATH)
- SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
-ENDIF (GLEW_INCLUDE_PATH)
+ if (WIN32)
+ find_path(GLEW_INCLUDE_DIR GL/glew.h
+ $ENV{PROGRAMFILES}/GLEW/include
+ ${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
+ DOC "The directory where GL/glew.h resides")
+ find_library(GLEW_LIBRARY
+ NAMES ${GLEW_LIB_SEARCH_NAME}
+ PATHS
+ $ENV{PROGRAMFILES}/GLEW/lib
+ ${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
+ ${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
+ DOC "The GLEW library")
+ else (WIN32)
+ find_path(GLEW_INCLUDE_DIR GL/glew.h
+ PATHS /usr/include /usr/local/include /usr/pkg/include
+ NO_DEFAULT_PATH
+ DOC "The directory where GL/glew.h resides")
+ find_library(GLEW_LIBRARY
+ NAMES GLEW glew
+ PATHS /usr/lib /usr/local/lib /usr/pkg/lib
+ NO_DEFAULT_PATH
+ DOC "The GLEW library")
+ endif (WIN32)
+
+ if (GLEW_INCLUDE_DIR)
+ set(GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
+ message(STATUS "GLEW include found in " ${GLEW_INCLUDE_DIR} )
+ message(STATUS "GLEW library found in " ${GLEW_LIBRARY} )
+ else()
+ set(GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
+ endif()
+endif() \ No newline at end of file
contact: Jan Huwald // Impressum