diff options
-rw-r--r-- | tests/CMakeLists.txt | 26 | ||||
-rw-r--r-- | tests/FindGLEW.cmake | 94 |
2 files changed, 73 insertions, 47 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9803704..ad3eefe 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -229,10 +229,28 @@ 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_INCLUDE_DIR OR NOT GLEW_LIBRARY) + find_package(GLEW REQUIRED) + if (NOT GLEW_INCLUDE_DIR OR NOT GLEW_LIBRARY) + message(FATAL_ERROR "GLEW not found") + endif() + else() + message(STATUS "GLEW include found in " ${GLEW_INCLUDE_DIR}) + message(STATUS "GLEW library found in " ${GLEW_LIBRARY}) + endif() +endif() -find_package(GLEW REQUIRED) - -inclusion( GLEW_DIR GLEW_INCLUDE_PATH ) +inclusion(GLEW_DIR GLEW_INCLUDE_DIR) # Flex/Bison find_package(BISON REQUIRED) @@ -419,7 +437,7 @@ target_link_libraries(csgtexttest tests-common tests-nocgal ${QT_LIBRARIES} ${OP # csgtermtest # add_executable(csgtermtest csgtermtest.cc ../src/CSGTermEvaluator.cc) -target_link_libraries(csgtermtest tests-common tests-nocgal ${QT_LIBRARIES} ${OPENGL_LIBRARY} ${Boost_LIBRARIES}) +target_link_libraries(csgtermtest tests-nocgal ${QT_LIBRARIES} ${OPENGL_LIBRARY} ${Boost_LIBRARIES}) # # cgaltest diff --git a/tests/FindGLEW.cmake b/tests/FindGLEW.cmake index 1b0cac4..b7e37d0 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_FOUND) + 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 |