Browse Source

NaCl target system is now handled with CORRADE_TARGET_NACL.

pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
36bedb3f5a
  1. 7
      CMakeLists.txt
  2. 1
      doc/cmake.dox
  3. 2
      doc/portability.dox
  4. 2
      external/OpenGL/GLES2/CMakeLists.txt
  5. 2
      external/OpenGL/KHR/CMakeLists.txt
  6. 6
      modules/FindMagnum.cmake
  7. 19
      src/Magnum.h
  8. 3
      src/OpenGL.h
  9. 12
      src/Platform/magnum-info.cpp
  10. 1
      src/magnumConfigure.h.cmake

7
CMakeLists.txt

@ -63,16 +63,15 @@ endif()
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/modules/") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/modules/")
find_package(Corrade REQUIRED)
# If targeting NaCl, set explicit OpenGL ES 2.0 support # If targeting NaCl, set explicit OpenGL ES 2.0 support
if(${CMAKE_SYSTEM_NAME} STREQUAL NaCl) if(CORRADE_TARGET_NACL)
set(TARGET_GLES 1) set(TARGET_GLES 1)
set(TARGET_GLES2 1) set(TARGET_GLES2 1)
set(TARGET_NACL 1)
set(MAGNUM_TARGET_NACL 1)
endif() endif()
# Check dependencies # Check dependencies
find_package(Corrade REQUIRED)
if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES) if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES)
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
elseif(TARGET_GLES2) elseif(TARGET_GLES2)

1
doc/cmake.dox

@ -100,7 +100,6 @@ are also available as preprocessor variables if including Magnum.h:
- `MAGNUM_TARGET_GLES3` -- Defined if compiled for OpenGL ES 3.0 - `MAGNUM_TARGET_GLES3` -- Defined if compiled for OpenGL ES 3.0
- `MAGNUM_TARGET_DESKTOP_GLES` -- Defined if compiled with OpenGL ES emulation - `MAGNUM_TARGET_DESKTOP_GLES` -- Defined if compiled with OpenGL ES emulation
on desktop OpenGL on desktop OpenGL
- `MAGNUM_TARGET_NACL` -- Defined if compiled for Google Chrome Native Client
%Corrade library provides also its own set of CMake macros and variables, see %Corrade library provides also its own set of CMake macros and variables, see
@ref corrade-cmake "its documentation" for more information. @ref corrade-cmake "its documentation" for more information.

2
doc/portability.dox

@ -42,8 +42,6 @@ If you include Magnum.h, you get these predefined macros:
- @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES" if targeting OpenGL ES 2.0 or - @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES" if targeting OpenGL ES 2.0 or
3.0 3.0
- @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2" if targeting OpenGL ES 2.0 - @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2" if targeting OpenGL ES 2.0
- @ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL" if targeting Google Chrome
Native Client
Example usage: Example usage:
@code @code

2
external/OpenGL/GLES2/CMakeLists.txt vendored

@ -26,7 +26,7 @@ set(MagnumOpenGL_HEADERS
gl2ext.h) gl2ext.h)
# NaCl has its own gl2.h, this one causes linker issues # NaCl has its own gl2.h, this one causes linker issues
if(NOT TARGET_NACL) if(NOT CORRADE_TARGET_NACL)
set(MagnumOpenGL_HEADERS ${MagnumOpenGL_HEADERS} set(MagnumOpenGL_HEADERS ${MagnumOpenGL_HEADERS}
gl2platform.h gl2platform.h
gl2.h) gl2.h)

2
external/OpenGL/KHR/CMakeLists.txt vendored

@ -23,6 +23,6 @@
# #
# NaCl has its own gl2.h, this one causes linker issues # NaCl has its own gl2.h, this one causes linker issues
if(NOT TARGET_NACL) if(NOT CORRADE_TARGET_NACL)
install(FILES khrplatform.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/OpenGL/KHR) install(FILES khrplatform.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/OpenGL/KHR)
endif() endif()

6
modules/FindMagnum.cmake

@ -50,8 +50,6 @@
# MAGNUM_TARGET_GLES3 - Defined if compiled for OpenGL ES 3.0 # MAGNUM_TARGET_GLES3 - Defined if compiled for OpenGL ES 3.0
# MAGNUM_TARGET_DESKTOP_GLES - Defined if compiled with OpenGL ES # MAGNUM_TARGET_DESKTOP_GLES - Defined if compiled with OpenGL ES
# emulation on desktop OpenGL # emulation on desktop OpenGL
# MAGNUM_TARGET_NACL - Defined if compiled for Google Chrome Native
# Client
# #
# Additionally these variables are defined for internal usage: # Additionally these variables are defined for internal usage:
# MAGNUM_INCLUDE_DIR - Root include dir (w/o # MAGNUM_INCLUDE_DIR - Root include dir (w/o
@ -126,10 +124,6 @@ string(FIND "${_magnumConfigure}" "#define MAGNUM_TARGET_GLES3" _TARGET_GLES3)
if(NOT _TARGET_GLES3 EQUAL -1) if(NOT _TARGET_GLES3 EQUAL -1)
set(MAGNUM_TARGET_GLES3 1) set(MAGNUM_TARGET_GLES3 1)
endif() endif()
string(FIND "${_magnumConfigure}" "#define MAGNUM_TARGET_NACL" _TARGET_NACL)
if(NOT _TARGET_NACL EQUAL -1)
set(MAGNUM_TARGET_NACL 1)
endif()
string(FIND "${_magnumConfigure}" "#define MAGNUM_TARGET_DESKTOP_GLES" _TARGET_DESKTOP_GLES) string(FIND "${_magnumConfigure}" "#define MAGNUM_TARGET_DESKTOP_GLES" _TARGET_DESKTOP_GLES)
if(NOT _TARGET_DESKTOP_GLES EQUAL -1) if(NOT _TARGET_DESKTOP_GLES EQUAL -1)
set(MAGNUM_TARGET_DESKTOP_GLES 1) set(MAGNUM_TARGET_DESKTOP_GLES 1)

19
src/Magnum.h

@ -77,7 +77,7 @@ OpenGL ES 2.0.
@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2",
@ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3", @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3",
@ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES",
@ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building @ref building
*/ */
#define MAGNUM_TARGET_GLES_ #define MAGNUM_TARGET_GLES_
@ -88,7 +88,7 @@ OpenGL ES 2.0.
Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES".
@see @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3", @see @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3",
@ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES",
@ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building @ref building
*/ */
#define MAGNUM_TARGET_GLES2_ #define MAGNUM_TARGET_GLES2_
@ -99,7 +99,7 @@ Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES".
Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES".
@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2",
@ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES",
@ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building @ref building
*/ */
#define MAGNUM_TARGET_GLES3_ #define MAGNUM_TARGET_GLES3_
@ -109,21 +109,10 @@ Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES".
`MAGNUM_TARGET_DESKTOP_GLES` is defined if the engine is built for OpenGL ES `MAGNUM_TARGET_DESKTOP_GLES` is defined if the engine is built for OpenGL ES
3.0 or OpenGL ES 2.0 emulated within standard desktop OpenGL. Implies also 3.0 or OpenGL ES 2.0 emulated within standard desktop OpenGL. Implies also
@ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES".
@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @ref building
@ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building
*/ */
#define MAGNUM_TARGET_DESKTOP_GLES_ #define MAGNUM_TARGET_DESKTOP_GLES_
/**
@brief Google Chrome Native Client target
`MAGNUM_TARGET_NACL` is defined if the engine is built for OpenGL ES 2.0 on
Google Chrome Native Client. Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES"
and @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES".
@see @ref building
*/
#define MAGNUM_TARGET_NACL_
#endif #endif
/** @{ @name Basic type definitions /** @{ @name Basic type definitions

3
src/OpenGL.h

@ -28,6 +28,7 @@
* @brief OpenGL headers * @brief OpenGL headers
*/ */
#include <corradeConfigure.h>
#include "magnumConfigure.h" #include "magnumConfigure.h"
/* Desktop OpenGL */ /* Desktop OpenGL */
@ -38,7 +39,7 @@
/* NaCl has its own gl2.h, the official one causes linker issues. Additionaly /* NaCl has its own gl2.h, the official one causes linker issues. Additionaly
to NaCl's gl2ext.h we are including our own to prevent undeclared symbol to NaCl's gl2ext.h we are including our own to prevent undeclared symbol
errors with some recent extensions. */ errors with some recent extensions. */
#elif defined(MAGNUM_TARGET_NACL) #elif defined(CORRADE_TARGET_NACL)
#include <GLES2/gl2.h> #include <GLES2/gl2.h>
#include <GLES2/gl2ext.h> #include <GLES2/gl2ext.h>
#undef __gl2ext_h_ #undef __gl2ext_h_

12
src/Platform/magnum-info.cpp

@ -53,6 +53,15 @@ MagnumInfo::MagnumInfo(int& argc, char** argv): WindowlessGlxApplication(argc, a
#ifdef CORRADE_GCC46_COMPATIBILITY #ifdef CORRADE_GCC46_COMPATIBILITY
d << "CORRADE_GCC46_COMPATIBILITY"; d << "CORRADE_GCC46_COMPATIBILITY";
#endif #endif
#ifdef CORRADE_TARGET_NACL
d << "CORRADE_TARGET_NACL";
#endif
#ifdef CORRADE_TARGET_NACL_NEWLIB
d << "CORRADE_TARGET_NACL_NEWLIB";
#endif
#ifdef CORRADE_TARGET_NACL_GLIBC
d << "CORRADE_TARGET_NACL_GLIBC";
#endif
#ifdef MAGNUM_TARGET_GLES #ifdef MAGNUM_TARGET_GLES
d << "MAGNUM_TARGET_GLES"; d << "MAGNUM_TARGET_GLES";
#endif #endif
@ -62,9 +71,6 @@ MagnumInfo::MagnumInfo(int& argc, char** argv): WindowlessGlxApplication(argc, a
#ifdef MAGNUM_TARGET_DESKTOP_GLES #ifdef MAGNUM_TARGET_DESKTOP_GLES
d << "MAGNUM_TARGET_DESKTOP_GLES"; d << "MAGNUM_TARGET_DESKTOP_GLES";
#endif #endif
#ifdef MAGNUM_TARGET_NACL
d << "MAGNUM_TARGET_NACL";
#endif
} }
Debug() << ""; Debug() << "";

1
src/magnumConfigure.h.cmake

@ -26,4 +26,3 @@
#cmakedefine MAGNUM_TARGET_GLES2 #cmakedefine MAGNUM_TARGET_GLES2
#cmakedefine MAGNUM_TARGET_GLES3 #cmakedefine MAGNUM_TARGET_GLES3
#cmakedefine MAGNUM_TARGET_DESKTOP_GLES #cmakedefine MAGNUM_TARGET_DESKTOP_GLES
#cmakedefine MAGNUM_TARGET_NACL

Loading…
Cancel
Save