diff --git a/CMakeLists.txt b/CMakeLists.txt index 470f2d2ba..acef07eb3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,16 +63,15 @@ endif() 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(${CMAKE_SYSTEM_NAME} STREQUAL NaCl) +if(CORRADE_TARGET_NACL) set(TARGET_GLES 1) set(TARGET_GLES2 1) - set(TARGET_NACL 1) - set(MAGNUM_TARGET_NACL 1) endif() # Check dependencies -find_package(Corrade REQUIRED) if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES) find_package(OpenGL REQUIRED) elseif(TARGET_GLES2) diff --git a/doc/cmake.dox b/doc/cmake.dox index 274ab26ce..4cb3b1a86 100644 --- a/doc/cmake.dox +++ b/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_DESKTOP_GLES` -- Defined if compiled with OpenGL ES emulation 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 @ref corrade-cmake "its documentation" for more information. diff --git a/doc/portability.dox b/doc/portability.dox index b0ef9fd3e..335b70259 100644 --- a/doc/portability.dox +++ b/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 3.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: @code diff --git a/external/OpenGL/GLES2/CMakeLists.txt b/external/OpenGL/GLES2/CMakeLists.txt index ffd77ee75..59c230f13 100644 --- a/external/OpenGL/GLES2/CMakeLists.txt +++ b/external/OpenGL/GLES2/CMakeLists.txt @@ -26,7 +26,7 @@ set(MagnumOpenGL_HEADERS gl2ext.h) # 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} gl2platform.h gl2.h) diff --git a/external/OpenGL/KHR/CMakeLists.txt b/external/OpenGL/KHR/CMakeLists.txt index 1ca8ca9ec..e8e737ceb 100644 --- a/external/OpenGL/KHR/CMakeLists.txt +++ b/external/OpenGL/KHR/CMakeLists.txt @@ -23,6 +23,6 @@ # # 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) endif() diff --git a/modules/FindMagnum.cmake b/modules/FindMagnum.cmake index 2074b14cb..27ade163b 100644 --- a/modules/FindMagnum.cmake +++ b/modules/FindMagnum.cmake @@ -50,8 +50,6 @@ # MAGNUM_TARGET_GLES3 - Defined if compiled for OpenGL ES 3.0 # MAGNUM_TARGET_DESKTOP_GLES - Defined if compiled with OpenGL ES # emulation on desktop OpenGL -# MAGNUM_TARGET_NACL - Defined if compiled for Google Chrome Native -# Client # # Additionally these variables are defined for internal usage: # 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) set(MAGNUM_TARGET_GLES3 1) 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) if(NOT _TARGET_DESKTOP_GLES EQUAL -1) set(MAGNUM_TARGET_DESKTOP_GLES 1) diff --git a/src/Magnum.h b/src/Magnum.h index 108df245e..3540beea9 100644 --- a/src/Magnum.h +++ b/src/Magnum.h @@ -77,7 +77,7 @@ OpenGL ES 2.0. @see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3", @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", - @ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building + @ref building */ #define MAGNUM_TARGET_GLES_ @@ -88,7 +88,7 @@ OpenGL ES 2.0. Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". @see @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3", @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", - @ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building + @ref building */ #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". @see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", - @ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building + @ref building */ #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 3.0 or OpenGL ES 2.0 emulated within standard desktop OpenGL. Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". -@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", - @ref MAGNUM_TARGET_NACL_ "MAGNUM_TARGET_NACL", @ref building +@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @ref building */ #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 /** @{ @name Basic type definitions diff --git a/src/OpenGL.h b/src/OpenGL.h index c19973805..a63f743d2 100644 --- a/src/OpenGL.h +++ b/src/OpenGL.h @@ -28,6 +28,7 @@ * @brief OpenGL headers */ +#include #include "magnumConfigure.h" /* Desktop OpenGL */ @@ -38,7 +39,7 @@ /* 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 errors with some recent extensions. */ -#elif defined(MAGNUM_TARGET_NACL) +#elif defined(CORRADE_TARGET_NACL) #include #include #undef __gl2ext_h_ diff --git a/src/Platform/magnum-info.cpp b/src/Platform/magnum-info.cpp index ab10e41a8..9578c32dd 100644 --- a/src/Platform/magnum-info.cpp +++ b/src/Platform/magnum-info.cpp @@ -53,6 +53,15 @@ MagnumInfo::MagnumInfo(int& argc, char** argv): WindowlessGlxApplication(argc, a #ifdef CORRADE_GCC46_COMPATIBILITY d << "CORRADE_GCC46_COMPATIBILITY"; #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 d << "MAGNUM_TARGET_GLES"; #endif @@ -62,9 +71,6 @@ MagnumInfo::MagnumInfo(int& argc, char** argv): WindowlessGlxApplication(argc, a #ifdef MAGNUM_TARGET_DESKTOP_GLES d << "MAGNUM_TARGET_DESKTOP_GLES"; #endif - #ifdef MAGNUM_TARGET_NACL - d << "MAGNUM_TARGET_NACL"; - #endif } Debug() << ""; diff --git a/src/magnumConfigure.h.cmake b/src/magnumConfigure.h.cmake index b6fd0f9c0..db580c400 100644 --- a/src/magnumConfigure.h.cmake +++ b/src/magnumConfigure.h.cmake @@ -26,4 +26,3 @@ #cmakedefine MAGNUM_TARGET_GLES2 #cmakedefine MAGNUM_TARGET_GLES3 #cmakedefine MAGNUM_TARGET_DESKTOP_GLES -#cmakedefine MAGNUM_TARGET_NACL