diff options
| -rw-r--r-- | tests/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | tests/FindGLEW.cmake | 94 | 
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 | 
