oglplus icon indicating copy to clipboard operation
oglplus copied to clipboard

MacOS X support

Open raedwulf opened this issue 11 years ago • 28 comments

I've started porting some of the code over to MacOS X.

The characteristic issues with MacOS X is that it does not have full OpenGL 3.3 support (it does 'support' GLSL 330 partially but does not report it).

It also does not have a Compatibility profile for OpenGL 3.x, only the Core Profile.

So far, with the combination of opening of OpenGL 3.3 forward compatible context using GLFW and loading the extensions with GLEW (with glewExperimental = GL_TRUE), I can run the initial examples but they have graphical artefacts and do not actually draw anything.

I'll need to investigate this further, but I was hoping you could shed some light :)

Oh +1 for moving to github ;).

raedwulf avatar Mar 20 '13 11:03 raedwulf

For reference, my current work is going here: https://github.com/raedwulf/oglplus/tree/macosx

Once I manage to get something working, I'll probably pull out the individual commits if you need them in separate pull requests.

raedwulf avatar Mar 20 '13 11:03 raedwulf

I don't have any experience with running OpenGL on MacOS, so I will probably not be much of help in this regard. The artefacts are probably result of only partial support for GLSL 330, but I don't have access to any machine with MacOS X so I'm not sure. Anyway I appreciate any help with getting OGLplus going on this platform. Thanks.

matus-chochlik avatar Mar 20 '13 19:03 matus-chochlik

I'm a cross-platform developer so I'm happy to help! I made a simpler test program and it appears oglplus works.... but I can't figure what the current test harness is doing as opposed to what this simpler program is doing that is causing it to fail...

https://gist.github.com/raedwulf/5212118

raedwulf avatar Mar 21 '13 10:03 raedwulf

I suspect it might be something to do with ordering of GL-related initialisation... I'll try and break down the example harness until it works.

raedwulf avatar Mar 21 '13 10:03 raedwulf

I suspect that it might be in the following (which you do in your example but it's not done in the harness):

glfwOpenWindowHint(GLFW_WINDOW_NO_RESIZE, GL_TRUE); glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2); glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

or possibly (even if not very probably) in:

glfwSwapInterval(1);

you can try to add the above to the constructor of the GLFWInitializer class in ./example/oglplus/glfw_main.cpp and test if it works on MacOS.

matus-chochlik avatar Mar 21 '13 19:03 matus-chochlik

I've got it to work! The problem was that it was linking with the X11 GL libraries with your cmake script - which do not work properly on MacOS X. I've updated those scripts and the examples that only use OpenGL 3.2 features seem to work fine. The next step is to maybe abstract the version of OpenGL more cleanly and make the MacOS X build a bit more friendly for the normal user.

Do you have any suggestions for how we can tell the library what version of OpenGL is available? I guess the GLAPIInitializer is one way in, but it isn't utilised that much yet.

My current thoughts are to offload this to the user application (for setting the version required either by trial and error or detection of MacOS X version on the system), but the library needs to somehow know what features are available as well, so it either spews errors when 3.2 is requested but 3.3 features are accessed, for instance. Currently you can get a desktop lockup by running certain 3.3 examples - which is far from ideal :). One possible way, and I think you have some cmake code that already does it, is to detect at compile time what extensions (or in this case which version) of OpenGL is available, but that is still a problem because I believe different MacOS X hardware (but with Lion/Mountain Lion) have differing levels of OpenGL support (whether they have a discrete graphics card or not). Ideally a runtime check would be nice, but I do not know what the design implications of this would be.

Side note: Windowing library support for OpenGL 3 forward contexts in MacOS X is somewhat poor at the moment; I know glfw, SDL 2.x work so far. Wxwidgets fails to compile with clang (default compiler on OS X) and the system GLUT doesn't support OpenGL 3. gl3w segfaults for some reason (I've not investigated why).

raedwulf avatar Mar 22 '13 10:03 raedwulf

Nice! I've already been thinking about updating the build system to somehow detect what version of GL is supported and building only the examples for which the criteria are met. There are two options:

Either the examples requiring higher GL version will not be built at all, and the mechanism will be similar to that which detects compiler support for the C++11 features and enables/disables the building of the specific examples.

Or the examples will be built but will announce the required version at run-time to the harness and if the requirements are not met, it will report the problem and quit gracefully.

I'm inclined to do the former. I'll look into it probably during the weekend.

matus-chochlik avatar Mar 22 '13 11:03 matus-chochlik

The former is probably easier, though perhaps some of the examples can have similar/compatible code written for OpenGL 3.2? In which instance a runtime condition would be useful?

raedwulf avatar Mar 22 '13 14:03 raedwulf

Yes, I'll think about it some more and I plan to test it with MesaGL, which seems to have similar level of support as MacOS: full support for GL 3.3 and GLSL 1.5 (IIRC)

matus-chochlik avatar Mar 22 '13 14:03 matus-chochlik

I found a problem with Apple's OpenGL implementation; glDrawElements seems to be broken for cpu-based index arrays. This is why quite a lot of the examples won't work for me at the moment.

http://stackoverflow.com/questions/12618659/using-gldrawelements-on-os-x-opengl-3-2-core-profile

seems to outline the problem quite well.

The workaround would be either to use glDrawArrays or to load the indices into a buffer. I was wondering how to do the latter in oglplus - any suggestions?

raedwulf avatar Mar 23 '13 12:03 raedwulf

Actually most of the examples that use glDrawElements do put the element indices into a buffer on the GPU. In some examples it is hidden in the shapes::ShapeWrapper but in the following examples you can see how it is done directly:

http://oglplus.org/html/oglplus_2029_surface_8cpp-example.html http://oglplus.org/html/oglplus_2028_ripples_8cpp-example.html http://oglplus.org/html/oglplus_2019_gs_tessell_8cpp-example.html http://oglplus.org/html/oglplus_2032_bar_grid_8cpp-example.html http://oglplus.org/html/oglplus_2029_waves_8cpp-example.html http://oglplus.org/html/oglplus_2019_tessellation_8cpp-example.html http://oglplus.org/html/oglplus_2031_neon_8cpp-example.html ...and some others.

Basically: you need to have a bound vertex array object and then if you bind a buffer to the Buffer::Target::ElementArray and you put some values in it and this buffer is then used as the element index buffer.

For example:

VertexArray shape; Buffer verts, indices;

...

// bind the vao shape.Bind();

// get the vertex positions std::vector<GLfloat> data = init_positions(); GLuint n_per_vertex = 3; //

// bind the buffer to the Array target verts.Bind(Buffer::Target::Array); // upload the data to the buffer Buffer::Data(Buffer::Target::Array, data); // setup the vertex attribute VertexAttribArray attr(prog, "Position"); attr.Setup(n_per_vertex, DataType::Float); attr.Enable();

// === THIS IS WHAT YOU WERE ASKING ABOUT === // put the indices into a std::vector std::vector<GLuint> shape_indices = init_indices(); // bind the indices buffer to the ElementArray target indices.Bind(Buffer::Target::ElementArray); // upload the data to the buffer Buffer::Data(Buffer::Target::ElementArray, shape_indices); // you can throw away the indices in the vector shape_indices.clear();

... // DRAWING // bind the vao shape.Bind(); //now you can call gl.DrawElements(...) the indices are taken from the buffer in GPU's memory gl.DrawElements(PrimitiveType::Triangles, 0, n);

matus-chochlik avatar Mar 23 '13 13:03 matus-chochlik

Given that a lot of time has elapsed: is a continuing issue for OGLplus? I'm working on a project and have been developing it primarily on OS X, so I'm curious if there are still a lot of known issues using this library on OS X.

noam-c avatar Jan 16 '15 20:01 noam-c

I still don't have any machine with MacOS so I can't guarantee OGLplus works on that platform. But I'll gladly accept any pull requests improving support for MacOS, provided they don't break anything on the other platforms.

matus-chochlik avatar Jan 17 '15 07:01 matus-chochlik

Hi,

Platform: OSX, Intel HD 4000

I'm having trouble with the configure script failing to detect the gl context version. I believe HD 4000 supports up to 4.1 on OSX. It also fails with --strict-gl-version-dectection and defaults to 3.0 with following build errors:

In file included from /Users/jmcgee/Documents/oglplus/source/lib/oglplus/text.cpp:33:
/Users/jmcgee/Documents/oglplus/include/oglplus/text/bitmap_glyph.hpp:17:2: error: "The Bitmap glyph text rendering utility requires GL version 3.1"
#error "The Bitmap glyph text rendering utility requires GL version 3.1"
 ^
In file included from /Users/jmcgee/Documents/oglplus/source/lib/oglplus/text.cpp:33:
In file included from /Users/jmcgee/Documents/oglplus/include/oglplus/text/bitmap_glyph.hpp:22:
In file included from /Users/jmcgee/Documents/oglplus/include/oglplus/text/bitmap_glyph/font_essence.hpp:19:
In file included from /Users/jmcgee/Documents/oglplus/include/oglplus/text/bitmap_glyph/pager.hpp:145:
/Users/jmcgee/Documents/oglplus/implement/oglplus/text/bitmap_glyph/pager.ipp:98:2: error: no member named 'Buffer' in 'oglplus::Object<oglplus::ObjectOps<oglplus::tag::ExplicitSel, oglplus::tag::Texture> >';
      did you mean simply 'Buffer'?
        Texture::Buffer(
        ^~~~~~~~~
/Users/jmcgee/Documents/oglplus/include/oglplus/buffer.hpp:1159:27: note: 'Buffer' declared here
typedef Object<BufferOps> Buffer;
                          ^
In file included from /Users/jmcgee/Documents/oglplus/source/lib/oglplus/text.cpp:34:
/Users/jmcgee/Documents/oglplus/include/oglplus/text/stb_truetype.hpp:17:2: error: "The STB TrueType text rendering utility requires GL version 3.1"
#error "The STB TrueType text rendering utility requires GL version 3.1"

I will investigate more and would be willing to help in OSX support.

jbmcgee avatar May 06 '15 05:05 jbmcgee

Hi,

could You try the following? Run configure with --debug-config and --debug-gl-ver-error, when the configuration fails, go to _build/gl and try to make and run the tests executables. If either one fails, please paste somewhere the error output.

matus-chochlik avatar May 06 '15 12:05 matus-chochlik

Sorry for the blob, get the following on the configure script:

Running with debug output on.
debug trycompile on
-- The C compiler identification is AppleClang 6.1.0.6020049
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- The CXX compiler identification is AppleClang 6.1.0.6020049
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake:47 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting C compiler ABI info
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:36 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake:75 (CMAKE_DETERMINE_COMPILER_ABI)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting C compiler ABI info - done
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting C compile features
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Internal/FeatureTesting.cmake:25 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-C.cmake:21 (record_compiler_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-C.cmake:26 (_get_appleclang_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake:26 (cmake_record_c_compile_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake:78 (CMAKE_DETERMINE_COMPILE_FEATURES)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Internal/FeatureTesting.cmake:25 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-C.cmake:21 (record_compiler_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-C.cmake:28 (_get_appleclang_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake:26 (cmake_record_c_compile_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake:78 (CMAKE_DETERMINE_COMPILE_FEATURES)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Internal/FeatureTesting.cmake:25 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-C.cmake:21 (record_compiler_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-C.cmake:31 (_get_appleclang_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake:26 (cmake_record_c_compile_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake:78 (CMAKE_DETERMINE_COMPILE_FEATURES)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting C compile features - done
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at CMakeLists.txt:9 (project):
  Policy CMP0025 is not set: Compiler id for Apple Clang is now AppleClang.
  Run "cmake --help-policy CMP0025" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  Converting C compiler id "AppleClang" to "Clang" for compatibility.
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:40 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting CXX compiler ABI info
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:36 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:68 (CMAKE_DETERMINE_COMPILER_ABI)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting CXX compiler ABI info - done
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting CXX compile features
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Internal/FeatureTesting.cmake:25 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-CXX.cmake:28 (record_compiler_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-CXX.cmake:35 (_get_appleclang_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake:64 (cmake_record_cxx_compile_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:71 (CMAKE_DETERMINE_COMPILE_FEATURES)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Internal/FeatureTesting.cmake:25 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-CXX.cmake:28 (record_compiler_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-CXX.cmake:38 (_get_appleclang_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake:64 (cmake_record_cxx_compile_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:71 (CMAKE_DETERMINE_COMPILE_FEATURES)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Internal/FeatureTesting.cmake:25 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-CXX.cmake:28 (record_compiler_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/Compiler/AppleClang-CXX.cmake:41 (_get_appleclang_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake:64 (cmake_record_cxx_compile_features)
  /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:71 (CMAKE_DETERMINE_COMPILE_FEATURES)
  CMakeLists.txt:9 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting CXX compile features - done
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at CMakeLists.txt:9 (project):
  Policy CMP0025 is not set: Compiler id for Apple Clang is now AppleClang.
  Run "cmake --help-policy CMP0025" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  Converting CXX compiler id "AppleClang" to "Clang" for compatibility.
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE) 
   Called from: [2] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/FindPkgConfig.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Found GLEW: /usr/include /usr/lib/libGLEW.dylib
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGLEW.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find GL3W
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGL3W.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find GLES3
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGLES3.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find GLFW
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGLFW.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CommonFindMod.cmake:85 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/FindGLFW3.cmake:5 (oglplus_common_find_module)
  CMakeLists.txt:63 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGLFW3.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT compile or link with GLFW3
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGLFW3.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Found GLUT: /System/Library/Frameworks/GLUT.framework  
   Called from: [3] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/FindGLUT.cmake
                [2] /Users/jmcgee/Documents/oglplus/config/FindGLUT.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find wxWidgets (missing:  wxWidgets_FOUND) 
   Called from: [3] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/FindwxWidgets.cmake
                [2] /Users/jmcgee/Documents/oglplus/config/FindWXGL.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Found unsuitable Qt version "" from NOTFOUND
   Called from: [3] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/FindQt4.cmake
                [2] /Users/jmcgee/Documents/oglplus/config/FindQT4GL.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find SDL
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindSDL.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find EGL
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindEGL.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- GLM header files not found
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindGLM.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find PNG
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/FindPNG.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:46 (cpp_feature_detection)
  config/CPPFeature.cmake:57 (require_cpp_feature)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'SCOPED_ENUMS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:59 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'SCOPED_ENUM_TEMPLATE_PARAMS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:60 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'VARIADIC_MACROS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:61 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'VARIADIC_TEMPLATES': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:62 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'UNIFIED_INITIALIZATION_SYNTAX': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:63 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'INITIALIZER_LISTS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:64 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'DEFAULTED_FUNCTIONS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:65 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'DELETED_FUNCTIONS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:66 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'EXPLICIT_CONVERSION_OPERATORS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:67 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'FUNCTION_TEMPLATE_DEFAULT_ARGS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:68 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'UNICODE_LITERALS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:69 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'USER_DEFINED_LITERALS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:70 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'INHERITED_CONSTRUCTORS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:71 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'GENERALIZED_ATTRIBUTES': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:72 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'TEMPLATE_ALIASES': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:73 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'CONSTEXPR': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:74 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'NOEXCEPT': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:75 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'LAMBDAS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:76 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'CHRONO': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/CPPFeature.cmake:23 (try_compile):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/CPPFeature.cmake:77 (cpp_feature_detection)
  CMakeLists.txt:82 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting support for c++ feature 'THREADS': TRUE
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/CPPFeature.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Could NOT find Boost
   Called from: [3] /usr/local/Cellar/cmake/3.2.2/share/cmake/Modules/FindBoost.cmake
                [2] /Users/jmcgee/Documents/oglplus/config/FindBoost.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Using GLUT for GL context initialization.
   Called from: [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Using native OpenGL API library
   Called from: [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Detecting OpenGL version
   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Warning (dev) at config/GLVerExt.cmake:65 (try_run):
  Policy CMP0056 is not set: Honor link flags in try_compile() source-file
  signature.  Run "cmake --help-policy CMP0056" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, try_compile is not honoring
  caller link flags (e.g.  CMAKE_EXE_LINKER_FLAGS) in the test project.
Call Stack (most recent call first):
  config/GLVer.cmake:16 (gl_feature_detection)
  config/GLVer.cmake:45 (gl_version_detection)
  CMakeLists.txt:179 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
CMake Error at config/GLVer.cmake:71 (message):
  Error detecting GL version
Call Stack (most recent call first):
  CMakeLists.txt:179 (include)


   Called from: [2] /Users/jmcgee/Documents/oglplus/config/GLVer.cmake
                [1] /Users/jmcgee/Documents/oglplus/CMakeLists.txt
-- Configuring incomplete, errors occurred!
See also "/Users/jmcgee/Documents/oglplus/_build/CMakeFiles/CMakeOutput.log".
# Configuration failed with code 1

No makefile generated in the _build/gl directory.

jbmcgee avatar May 06 '15 13:05 jbmcgee

Hmm, try checking the sudirectories of _build/gl too, there should be subtree with directories like CMakefiles, CMakeTemp, etc. and in one of them there should be a makefile

matus-chochlik avatar May 06 '15 13:05 matus-chochlik

Oops, missed it. Get the following on make.

/usr/local/Cellar/cmake/3.2.2/bin/cmake -H/Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp -B/Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/3.2.2/bin/cmake -E cmake_progress_start /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp/CMakeFiles /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp/CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTryCompileExec2996519597.dir/build.make CMakeFiles/cmTryCompileExec2996519597.dir/depend
cd /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp && /usr/local/Cellar/cmake/3.2.2/bin/cmake -E cmake_depends "Unix Makefiles" /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp/CMakeFiles/cmTryCompileExec2996519597.dir/DependInfo.cmake --color=
Scanning dependencies of target cmTryCompileExec2996519597
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTryCompileExec2996519597.dir/build.make CMakeFiles/cmTryCompileExec2996519597.dir/build
/usr/local/Cellar/cmake/3.2.2/bin/cmake -E cmake_progress_report /Users/jmcgee/Documents/oglplus/_build/gl/CMakeFiles/CMakeTmp/CMakeFiles 1
[100%] Building CXX object CMakeFiles/cmTryCompileExec2996519597.dir/Users/jmcgee/Documents/oglplus/_build/gl/has_GL_3_1.cpp.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++    -I/Users/jmcgee/Documents/oglplus/third_party/include -I/Users/jmcgee/Documents/oglplus/include -I/Users/jmcgee/Documents/oglplus/implement -I/Users/jmcgee/Documents/oglplus/utils -I/Users/jmcgee/Documents/oglplus/_build/include -I/System/Library/Frameworks/GLUT.framework/Headers    -std=c++11 -o CMakeFiles/cmTryCompileExec2996519597.dir/Users/jmcgee/Documents/oglplus/_build/gl/has_GL_3_1.cpp.o -c /Users/jmcgee/Documents/oglplus/_build/gl/has_GL_3_1.cpp
In file included from /Users/jmcgee/Documents/oglplus/_build/gl/has_GL_3_1.cpp:9:
/Users/jmcgee/Documents/oglplus/_build/gl/init_GL.ipp:22:10: fatal error: 'GL/glut.h' file not found
#include <GL/glut.h>
         ^
1 error generated.

Then changed #include <GL/glut.h> to #include <GLUT/glut.h>. Only cmTryCompileExec2996519597* was generated with the following on execution:

Detecting GL version: 3.1
Supported major version: 0 is less than required: 3

jbmcgee avatar May 06 '15 13:05 jbmcgee

The thing with the GL/glut.h vs. GLUT/glut.h should be fixed easily enough,

but could You create a minimal working example where the following (or some alternative thereof):

glGetIntegerv(GL_MAJOR_VERSION, &sup_major);
glGetIntegerv(GL_MINOR_VERSION, &sup_minor);

would return the 'right' values of major and minor version numbers?

matus-chochlik avatar May 06 '15 13:05 matus-chochlik

#include <GLUT/GLUT.h>
#include <stdio.h>

int main(int argc, char* argv[]){
    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_3_2_CORE_PROFILE);
    glutCreateWindow("Test");

    printf("%s %s\n", glGetString(GL_RENDERER), glGetString(GL_VERSION));

    return 0;
}

output:

Intel Iris OpenGL Engine 4.1 INTEL-10.6.20

Without glutInitDisplayMode(GLUT_3_2_CORE_PROFILE):

Intel Iris OpenGL Engine 2.1 INTEL-10.6.20

jbmcgee avatar May 06 '15 14:05 jbmcgee

Hmm, and what does glGetIntegerv(GL_MAJOR_VERSION, &sup_major); return with glutInitDisplayMode(GLUT_3_2_CORE_PROFILE), still zero ?

I find it a little problematic trying to parse and rely on the vendor/renderer strings since they can be basically arbitrary.

matus-chochlik avatar May 06 '15 14:05 matus-chochlik

#include <GLUT/GLUT.h> is not a standard location for [free]glut. it's always been #include <GL/glut.h>. did you install [free]glut by yourself?

update: just found this [https://developer.apple.com/library/mac/qa/qa1613/_index.html].

regnirpsj avatar May 06 '15 14:05 regnirpsj

AFAIK on MacOS the include paths are different from other systems.

matus-chochlik avatar May 06 '15 14:05 matus-chochlik

Yeah, was going to post the same link. I get the same.

#include <OpenGL/gl3.h>
#include <GLUT/glut.h>
#include <stdio.h>

int main(int argc, char* argv[]){
    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_3_2_CORE_PROFILE);
    glutCreateWindow("Test");

    int major = 0, minor = 0;
    glGetIntegerv(GL_MAJOR_VERSION, &major);
    glGetIntegerv(GL_MINOR_VERSION, &minor);

    printf("GL %i.%i", major,minor);

    return 0;
}

output:

GL 4.1

Without glutInitDisplayMode(GLUT_3_2_CORE_PROFILE):

GL 0.0

jbmcgee avatar May 06 '15 14:05 jbmcgee

OK, thanks for the feedback. I'll have a look at this later today.

matus-chochlik avatar May 06 '15 14:05 matus-chochlik

I've pushed some changes to develop that should take care of this. Please let me know if that works on MacOS.

matus-chochlik avatar May 06 '15 19:05 matus-chochlik

The script detected 3.3 for me and liboglplus.a was built. However, the build failed on glut_main.cpp with:

oglplus/example/oglplus/glut_main.cpp:266:2: error: use of undeclared identifier 'glutInitContextVersion'
glutInitContextVersion(OGLPLUS_GL_VERSION_MAJOR, OGLPLUS_GL_VERSION_MINOR);

jbmcgee avatar May 07 '15 03:05 jbmcgee

OK, I did some further changes which should take care of this.

matus-chochlik avatar May 07 '15 08:05 matus-chochlik