Просмотр исходного кода

Tidied up glext.g and wglext.h downloading some more.

Cameron Hart 14 лет назад
Родитель
Сommit
4d3959f682
3 измененных файлов с 32 добавлено и 16 удалено
  1. 2 10
      CMake/ExternalGLExt.cmake
  2. 10 0
      CMake/ExternalWGLExt.cmake
  3. 20 6
      Dependencies/CMakeLists.txt

+ 2 - 10
CMake/ExternalGLExt.cmake

@@ -7,13 +7,5 @@ IF(NOT EXISTS ${POLYCODE_DEPS_DOWNLOAD_DIR}/glext.h)
         SHOW_PROGRESS)
 ENDIF()
 
-IF(NOT EXISTS ${POLYCODE_DEPS_DOWNLOAD_DIR}/wglext.h)
-    MESSAGE("Downloading http://www.opengl.org/registry/api/wglext.h")
-    FILE(DOWNLOAD http://www.opengl.org/registry/api/wglext.h 
-        ${POLYCODE_DEPS_DOWNLOAD_DIR}/wglext.h
-        SHOW_PROGRESS)
-ENDIF()
-
-ADD_CUSTOM_TARGET(glext
-    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${POLYCODE_DEPS_DOWNLOAD_DIR}/glext.h ${POLYCODE_DEPS_CORE_PREFIX}/include/GL/glext.h
-    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${POLYCODE_DEPS_DOWNLOAD_DIR}/wglext.h ${POLYCODE_DEPS_CORE_PREFIX}/include/GL/wglext.h)
+ADD_CUSTOM_TARGET(wglext
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${POLYCODE_DEPS_DOWNLOAD_DIR}/glext.h ${POLYCODE_DEPS_CORE_PREFIX}/include/GL/glext.h)

+ 10 - 0
CMake/ExternalWGLExt.cmake

@@ -0,0 +1,10 @@
+# download some headers missing from Windows
+IF(NOT EXISTS ${POLYCODE_DEPS_DOWNLOAD_DIR}/wglext.h)
+    MESSAGE("Downloading http://www.opengl.org/registry/api/wglext.h")
+    FILE(DOWNLOAD http://www.opengl.org/registry/api/wglext.h 
+        ${POLYCODE_DEPS_DOWNLOAD_DIR}/wglext.h
+        SHOW_PROGRESS)
+ENDIF()
+
+ADD_CUSTOM_TARGET(wglext
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${POLYCODE_DEPS_DOWNLOAD_DIR}/wglext.h ${POLYCODE_DEPS_CORE_PREFIX}/include/GL/wglext.h)

+ 20 - 6
Dependencies/CMakeLists.txt

@@ -34,13 +34,26 @@ ELSE()
 ENDIF()
 
 # Options for what components should be downloaded and built
-FIND_PATH(GLEXT_INCLUDE_DIR GL/glext)
-FIND_PATH(WGLEXT_INCLUDE_DIR GL/wglext)
-IF(GLEXT_INCLUDE_DIR AND WGLEXT_INCLUDE_DIR)
+
+# glext.h is sometimes missing
+FIND_PATH(GLEXT_INCLUDE_DIR GL/glext.h)
+IF(GLEXT_INCLUDE_DIR)
     SET(internal_GLEXT OFF)
-ELSE(GLEXT_INCLUDE_DIR AND WGLEXT_INCLUDE_DIR)
+ELSE(GLEXT_INCLUDE_DIR)
     SET(internal_GLEXT ${common_deps})
-ENDIF(GLEXT_INCLUDE_DIR AND WGLEXT_INCLUDE_DIR)
+ENDIF(GLEXT_INCLUDE_DIR)
+
+IF(MSVC)
+    # wglext.h is needed on windows
+    FIND_PATH(WGLEXT_INCLUDE_DIR GL/wglext.h)
+    IF(WGLEXT_INCLUDE_DIR)
+        SET(internal_WGLEXT OFF)
+    ELSE(GLEXT_INCLUDE_DIR)
+        SET(internal_WGLEXT ${common_deps})
+    ENDIF(WGLEXT_INCLUDE_DIR)
+ELSE(MSVC)
+    SET(internal_WGLEXT OFF)
+ENDIF(MSVC)
 
 FIND_PACKAGE(PhysFS)
 IF(PHYSFS_FOUND)
@@ -105,7 +118,8 @@ ELSE(ASSIMP_FOUND)
     SET(internal_ASSIMP ON)
 ENDIF(ASSIMP_FOUND)
 
-OPTION(POLYCODE_DEPS_GLEXT "Download additional OpenGL headers" ${internal_GLEXT})
+OPTION(POLYCODE_DEPS_GLEXT "Download GL/glext.h header" ${internal_GLEXT})
+OPTION(POLYCODE_DEPS_WGLEXT "Download GL/wglext.h header" ${internal_WGLEXT})
 
 OPTION(POLYCODE_DEPS_PHYSFS "Download and build the PhysFS package" ${internal_PHYSFS})
 OPTION(POLYCODE_DEPS_OPENAL "Download and build the OpenAL package" ${internal_OPENAL})