cmake_minimum_required(VERSION 3.15)

project(Gem LANGUAGES C CXX ASM)

set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

set(GEM_SOURCE_PATH "./src")

cmake_policy(SET CMP0077 NEW)

cmake_policy(SET CMP0063 NEW)  # add_library standard visibility
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW) # also set for subprojects

cmake_policy(SET CMP0072 NEW) # for FindOpenGL
set(CMAKE_POLICY_DEFAULT_CMP0072 NEW) # also set for subprojects

if(UNIX)
add_compile_options(-Wno-deprecated -Wno-conversion)
endif()

file(GLOB GEM_SOURCES
  ${GEM_SOURCE_PATH}/Base/CPPExtern.cpp
  ${GEM_SOURCE_PATH}/Base/GemBase.cpp
  ${GEM_SOURCE_PATH}/Base/GemContext.cpp
  ${GEM_SOURCE_PATH}/Base/GemGluObj.cpp
  ${GEM_SOURCE_PATH}/Base/GemPathBase.cpp
  ${GEM_SOURCE_PATH}/Base/GemPixDualObj.cpp
  ${GEM_SOURCE_PATH}/Base/GemPixObj.cpp
  ${GEM_SOURCE_PATH}/Base/GemShape.cpp
  ${GEM_SOURCE_PATH}/Base/GemVertex.cpp
  ${GEM_SOURCE_PATH}/Base/GemWindow.cpp
  ${GEM_SOURCE_PATH}/Base/TextBaseFTGL.cpp
  #${GEM_SOURCE_PATH}/Base/TextBaseNone.cpp
  ${GEM_SOURCE_PATH}/Controls/gemcubeframebuffer.cpp
  ${GEM_SOURCE_PATH}/Controls/gemframebuffer.cpp
  ${GEM_SOURCE_PATH}/Controls/gemhead.cpp
  ${GEM_SOURCE_PATH}/Controls/gemkeyboard.cpp
  ${GEM_SOURCE_PATH}/Controls/gemkeyname.cpp
  ${GEM_SOURCE_PATH}/Controls/gemlist.cpp
  ${GEM_SOURCE_PATH}/Controls/gemlist_info.cpp
  ${GEM_SOURCE_PATH}/Controls/gemlist_matrix.cpp
  ${GEM_SOURCE_PATH}/Controls/gemmanager.cpp
  ${GEM_SOURCE_PATH}/Controls/gemmouse.cpp
  ${GEM_SOURCE_PATH}/Controls/gemreceive.cpp
  ${GEM_SOURCE_PATH}/Controls/gemwin.cpp
  ${GEM_SOURCE_PATH}/Controls/modelfiler.cpp
  ${GEM_SOURCE_PATH}/Controls/render_trigger.cpp
  ${GEM_SOURCE_PATH}/Gem/Cache.cpp
  ${GEM_SOURCE_PATH}/Gem/ContextData.cpp
  ${GEM_SOURCE_PATH}/Gem/Dylib.cpp
  ${GEM_SOURCE_PATH}/Gem/Event.cpp
  ${GEM_SOURCE_PATH}/Gem/Exception.cpp
  ${GEM_SOURCE_PATH}/Gem/Files.cpp
  ${GEM_SOURCE_PATH}/Gem/GLStack.cpp
  ${GEM_SOURCE_PATH}/Gem/Image.cpp
  ${GEM_SOURCE_PATH}/Gem/ImageLoad.cpp
  ${GEM_SOURCE_PATH}/Gem/ImageSave.cpp
  ${GEM_SOURCE_PATH}/Gem/Loaders.cpp
  ${GEM_SOURCE_PATH}/Gem/Manager.cpp
  ${GEM_SOURCE_PATH}/Gem/PBuffer.cpp
  ${GEM_SOURCE_PATH}/Gem/PixConvertAltivec.cpp
  ${GEM_SOURCE_PATH}/Gem/PixConvertSSE2.cpp
  ${GEM_SOURCE_PATH}/Gem/Properties.cpp
  ${GEM_SOURCE_PATH}/Gem/Rectangle.cpp
  ${GEM_SOURCE_PATH}/Gem/Settings.cpp
  ${GEM_SOURCE_PATH}/Gem/Setup.cpp
  ${GEM_SOURCE_PATH}/Gem/State.cpp
  ${GEM_SOURCE_PATH}/Gem/VertexBuffer.cpp
  ${GEM_SOURCE_PATH}/Gem/PixConvert.cpp
  ${GEM_SOURCE_PATH}/Gem/model.cpp
  ${GEM_SOURCE_PATH}/Geos/GemSplash.cpp
  ${GEM_SOURCE_PATH}/Geos/circle.cpp
  ${GEM_SOURCE_PATH}/Geos/colorSquare.cpp
  ${GEM_SOURCE_PATH}/Geos/cone.cpp
  ${GEM_SOURCE_PATH}/Geos/cube.cpp
  ${GEM_SOURCE_PATH}/Geos/cuboid.cpp
  ${GEM_SOURCE_PATH}/Geos/curve.cpp
  ${GEM_SOURCE_PATH}/Geos/curve3d.cpp
  ${GEM_SOURCE_PATH}/Geos/cylinder.cpp
  ${GEM_SOURCE_PATH}/Geos/disk.cpp
  ${GEM_SOURCE_PATH}/Geos/gemvertexbuffer.cpp
  ${GEM_SOURCE_PATH}/Geos/imageVert.cpp
  ${GEM_SOURCE_PATH}/Geos/mesh_line.cpp
  ${GEM_SOURCE_PATH}/Geos/mesh_square.cpp
  ${GEM_SOURCE_PATH}/Geos/model.cpp
  ${GEM_SOURCE_PATH}/Geos/multimodel.cpp
  ${GEM_SOURCE_PATH}/Geos/newWave.cpp
  ${GEM_SOURCE_PATH}/Geos/polygon.cpp
  ${GEM_SOURCE_PATH}/Geos/pqtorusknots.cpp
  ${GEM_SOURCE_PATH}/Geos/primTri.cpp
  ${GEM_SOURCE_PATH}/Geos/rectangle.cpp
  ${GEM_SOURCE_PATH}/Geos/ripple.cpp
  ${GEM_SOURCE_PATH}/Geos/rubber.cpp
  ${GEM_SOURCE_PATH}/Geos/scopeXYZ~.cpp
  ${GEM_SOURCE_PATH}/Geos/slideSquares.cpp
  ${GEM_SOURCE_PATH}/Geos/sphere.cpp
  ${GEM_SOURCE_PATH}/Geos/sphere3d.cpp
  ${GEM_SOURCE_PATH}/Geos/square.cpp
  ${GEM_SOURCE_PATH}/Geos/surface3d.cpp
  ${GEM_SOURCE_PATH}/Geos/teapot.cpp
  ${GEM_SOURCE_PATH}/Geos/text2d.cpp
  ${GEM_SOURCE_PATH}/Geos/text3d.cpp
  ${GEM_SOURCE_PATH}/Geos/textextruded.cpp
  ${GEM_SOURCE_PATH}/Geos/textoutline.cpp
  ${GEM_SOURCE_PATH}/Geos/torus.cpp
  ${GEM_SOURCE_PATH}/Geos/trapezoid.cpp
  ${GEM_SOURCE_PATH}/Geos/triangle.cpp
  ${GEM_SOURCE_PATH}/Geos/tube.cpp
  ${GEM_SOURCE_PATH}/Manips/accumrotate.cpp
  ${GEM_SOURCE_PATH}/Manips/alpha.cpp
  ${GEM_SOURCE_PATH}/Manips/ambient.cpp
  ${GEM_SOURCE_PATH}/Manips/ambientRGB.cpp
  ${GEM_SOURCE_PATH}/Manips/camera.cpp
  ${GEM_SOURCE_PATH}/Manips/color.cpp
  ${GEM_SOURCE_PATH}/Manips/colorRGB.cpp
  ${GEM_SOURCE_PATH}/Manips/depth.cpp
  ${GEM_SOURCE_PATH}/Manips/diffuse.cpp
  ${GEM_SOURCE_PATH}/Manips/diffuseRGB.cpp
  ${GEM_SOURCE_PATH}/Manips/emission.cpp
  ${GEM_SOURCE_PATH}/Manips/emissionRGB.cpp
  ${GEM_SOURCE_PATH}/Manips/fragment_program.cpp
  ${GEM_SOURCE_PATH}/Manips/glsl_fragment.cpp
  ${GEM_SOURCE_PATH}/Manips/glsl_geometry.cpp
  ${GEM_SOURCE_PATH}/Manips/glsl_program.cpp
  ${GEM_SOURCE_PATH}/Manips/glsl_tesscontrol.cpp
  ${GEM_SOURCE_PATH}/Manips/glsl_tesseval.cpp
  ${GEM_SOURCE_PATH}/Manips/glsl_vertex.cpp
  ${GEM_SOURCE_PATH}/Manips/linear_path.cpp
  ${GEM_SOURCE_PATH}/Manips/ortho.cpp
  ${GEM_SOURCE_PATH}/Manips/polygon_smooth.cpp
  ${GEM_SOURCE_PATH}/Manips/rotate.cpp
  ${GEM_SOURCE_PATH}/Manips/rotateXYZ.cpp
  ${GEM_SOURCE_PATH}/Manips/scale.cpp
  ${GEM_SOURCE_PATH}/Manips/gemrepeat.cpp
  ${GEM_SOURCE_PATH}/Manips/scaleXYZ.cpp
  ${GEM_SOURCE_PATH}/Manips/separator.cpp
  ${GEM_SOURCE_PATH}/Manips/shearXY.cpp
  ${GEM_SOURCE_PATH}/Manips/shearXZ.cpp
  ${GEM_SOURCE_PATH}/Manips/shearYX.cpp
  ${GEM_SOURCE_PATH}/Manips/shearYZ.cpp
  ${GEM_SOURCE_PATH}/Manips/shearZX.cpp
  ${GEM_SOURCE_PATH}/Manips/shearZY.cpp
  ${GEM_SOURCE_PATH}/Manips/shininess.cpp
  ${GEM_SOURCE_PATH}/Manips/specular.cpp
  ${GEM_SOURCE_PATH}/Manips/specularRGB.cpp
  ${GEM_SOURCE_PATH}/Manips/spline_path.cpp
  ${GEM_SOURCE_PATH}/Manips/translate.cpp
  ${GEM_SOURCE_PATH}/Manips/translateXYZ.cpp
  ${GEM_SOURCE_PATH}/Manips/vertex_program.cpp
  ${GEM_SOURCE_PATH}/Nongeos/light.cpp
  ${GEM_SOURCE_PATH}/Nongeos/spot_light.cpp
  ${GEM_SOURCE_PATH}/Nongeos/world_light.cpp
  ${GEM_SOURCE_PATH}/Particles/papi/actionapi.cpp
  ${GEM_SOURCE_PATH}/Particles/papi/actions.cpp
  ${GEM_SOURCE_PATH}/Particles/papi/opengl.cpp
  ${GEM_SOURCE_PATH}/Particles/papi/system.cpp
  ${GEM_SOURCE_PATH}/Particles/part_color.cpp
  ${GEM_SOURCE_PATH}/Particles/part_damp.cpp
  ${GEM_SOURCE_PATH}/Particles/part_draw.cpp
  ${GEM_SOURCE_PATH}/Particles/part_follow.cpp
  ${GEM_SOURCE_PATH}/Particles/part_gravity.cpp
  ${GEM_SOURCE_PATH}/Particles/part_head.cpp
  ${GEM_SOURCE_PATH}/Particles/part_info.cpp
  ${GEM_SOURCE_PATH}/Particles/part_killold.cpp
  ${GEM_SOURCE_PATH}/Particles/part_killslow.cpp
  ${GEM_SOURCE_PATH}/Particles/part_orbitpoint.cpp
  ${GEM_SOURCE_PATH}/Particles/part_render.cpp
  ${GEM_SOURCE_PATH}/Particles/part_sink.cpp
  ${GEM_SOURCE_PATH}/Particles/part_size.cpp
  ${GEM_SOURCE_PATH}/Particles/part_source.cpp
  ${GEM_SOURCE_PATH}/Particles/part_targetcolor.cpp
  ${GEM_SOURCE_PATH}/Particles/part_targetsize.cpp
  ${GEM_SOURCE_PATH}/Particles/part_velcone.cpp
  ${GEM_SOURCE_PATH}/Particles/part_velocity.cpp
  ${GEM_SOURCE_PATH}/Particles/part_velsphere.cpp
  ${GEM_SOURCE_PATH}/Particles/part_vertex.cpp
  ${GEM_SOURCE_PATH}/Particles/partlib_base.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_2grey.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_a_2grey.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_add.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_aging.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_alpha.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_background.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_backlight.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_biquad.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_bitmask.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_blob.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_blur.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_buf.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_buffer.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_buffer_read.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_buffer_write.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_chroma_key.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_clearblock.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_color.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_coloralpha.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_colorclassify.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_colormatrix.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_colorreduce.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_compare.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_composite.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_contrast.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_convert.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_convolve.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_coordinate.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_crop.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_cubemap.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_curve.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_data.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_deinterlace.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_delay.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_diff.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_dot.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_draw.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_dump.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_duotone.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_emboss.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_equal.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_film.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_flip.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_freeframe.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_frei0r.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_gain.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_grey.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_halftone.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_histo.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_hsv2rgb.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_image.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_imageInPlace.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_info.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_invert.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_kaleidoscope.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_levels.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_lumaoffset.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_mask.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_mean_color.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_metaimage.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_mix.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_motionblur.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_movement.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_movement2.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_movie.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_multiblob.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_multiimage.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_multiply.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_multitexture.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_noise.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_normalize.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_offset.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_pix2sig~.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_posterize.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_puzzle.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_rds.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_record.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_rectangle.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_refraction.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_resize.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_rgb2hsv.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_rgba.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_roi.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_roll.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_rtx.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_scanline.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_set.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_share_read.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_share_write.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_sig2pix~.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_snap.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_snap2tex.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_subtract.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_tIIR.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_tIIRf.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_takealpha.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_test.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_texture.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_threshold.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_threshold_bernsen.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_video.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_vpaint.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_write.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_writer.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_yuv.cpp
  ${GEM_SOURCE_PATH}/Pixes/pix_zoom.cpp
  ${GEM_SOURCE_PATH}/RTE/Array.cpp
  ${GEM_SOURCE_PATH}/RTE/Outlet.cpp
  ${GEM_SOURCE_PATH}/RTE/RTE.cpp
  ${GEM_SOURCE_PATH}/RTE/Symbol.cpp
  ${GEM_SOURCE_PATH}/RTE/Atom.cpp
  ${GEM_SOURCE_PATH}/Utils/Functions.cpp
  ${GEM_SOURCE_PATH}/Utils/GLUtil.cpp
  ${GEM_SOURCE_PATH}/Utils/GLUtil_define.cpp
  ${GEM_SOURCE_PATH}/Utils/GemString.cpp
  ${GEM_SOURCE_PATH}/Utils/MSVCMinGW.cpp
  ${GEM_SOURCE_PATH}/Utils/Matrix.cpp
  ${GEM_SOURCE_PATH}/Utils/SIMD.cpp
  ${GEM_SOURCE_PATH}/Utils/SynchedWorkerThread.cpp
  ${GEM_SOURCE_PATH}/Utils/Thread.cpp
  ${GEM_SOURCE_PATH}/Utils/ThreadMutex.cpp
  ${GEM_SOURCE_PATH}/Utils/ThreadSemaphore.cpp
  ${GEM_SOURCE_PATH}/Utils/Vector.cpp
  ${GEM_SOURCE_PATH}/Utils/WorkerThread.cpp
  ${GEM_SOURCE_PATH}/Utils/plist.cpp
  ${GEM_SOURCE_PATH}/Utils/pstk.cpp
  ${GEM_SOURCE_PATH}/Version.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_add.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_combine.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_draw.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_grid.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_info.cpp
# ${GEM_SOURCE_PATH}/Vertex/vertex_model.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_mul.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_offset.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_quad.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_scale.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_set.cpp
  ${GEM_SOURCE_PATH}/Vertex/vertex_tabread.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglAccum.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglActiveTexture.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglActiveTextureARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglAlphaFunc.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglAreTexturesResident.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglArrayElement.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglBegin.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglBindProgramARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglBindTexture.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglBitmap.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglBlendEquation.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglBlendFunc.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCallList.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClear.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClearAccum.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClearColor.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClearDepth.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClearIndex.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClearStencil.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglClipPlane.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3b.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3bv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3ub.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3ubv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3ui.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3uiv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3us.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3usv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4b.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4bv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4ub.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4ubv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4ui.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4uiv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4us.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4usv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColorMask.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglColorMaterial.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyPixels.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexImage1D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexImage2D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexSubImage1D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexSubImage2D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglCullFace.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDeleteTextures.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDepthFunc.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDepthMask.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDepthRange.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDisable.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDisableClientState.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDrawArrays.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDrawBuffer.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglDrawElements.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEdgeFlag.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEnable.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEnableClientState.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEnd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEndList.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalMesh1.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalMesh2.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalPoint1.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalPoint2.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFeedbackBuffer.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFinish.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFlush.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFogf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFogfv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFogi.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFogiv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFrontFace.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglFrustum.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGenLists.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGenProgramsARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGenTextures.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGenerateMipmap.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetError.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetFloatv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetIntegerv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetMapdv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetMapfv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetMapiv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetPointerv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglGetString.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglHint.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexMask.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexdv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexfv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexi.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexiv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexs.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexsv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexub.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexubv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglInitNames.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIsEnabled.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIsList.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglIsTexture.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLightModelf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLightModeli.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLightf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLighti.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLineStipple.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLineWidth.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadIdentity.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadMatrixd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadMatrixf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadName.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadTransposeMatrixd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadTransposeMatrixf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglLogicOp.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMap1d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMap1f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMap2d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMap2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid1d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid1f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid2d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMaterialf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMaterialfv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMateriali.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMatrixMode.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMultMatrixd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMultMatrixf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMultTransposeMatrixd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMultTransposeMatrixf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMultiTexCoord2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglMultiTexCoord2fARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNewList.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3b.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3bv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglOrtho.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPassThrough.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelStoref.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelStorei.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelTransferf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelTransferi.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelZoom.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPointSize.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPolygonMode.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPolygonOffset.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPopAttrib.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPopClientAttrib.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPopMatrix.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPopName.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPrioritizeTextures.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramEnvParameter4dARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramEnvParameter4fvARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramLocalParameter4fvARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramStringARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPushAttrib.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPushClientAttrib.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPushMatrix.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglPushName.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRectd.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRectf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRecti.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRects.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRenderMode.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglReportError.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRotated.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglRotatef.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglScaled.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglScalef.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglScissor.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglSelectBuffer.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglShadeModel.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglStencilFunc.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglStencilMask.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglStencilOp.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexEnvf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexEnvi.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGend.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGenf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGenfv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGeni.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexImage2D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexParameterf.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexParameteri.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexSubImage1D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTexSubImage2D.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTranslated.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglTranslatef.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglUniform1f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglUniform1fARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglUseProgramObjectARB.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4d.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4dv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4f.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4fv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4i.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4iv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4s.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4sv.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMglViewport.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMgluLookAt.cpp
  ${GEM_SOURCE_PATH}/openGL/GEMgluPerspective.cpp
  ${GEM_SOURCE_PATH}/openGL/GLdefine.cpp
  ${GEM_SOURCE_PATH}/plugins/PluginFactory.cpp
  ${GEM_SOURCE_PATH}/plugins/film.cpp
  ${GEM_SOURCE_PATH}/plugins/imageloader.cpp
  ${GEM_SOURCE_PATH}/plugins/imagesaver.cpp
  ${GEM_SOURCE_PATH}/plugins/modelloader.cpp
  ${GEM_SOURCE_PATH}/plugins/record.cpp
  ${GEM_SOURCE_PATH}/plugins/video.cpp
  ${GEM_SOURCE_PATH}/plugins/videoBase.cpp
)

# for searching convenience inside an IDE
file(GLOB GEM_HEADERS
  ${GEM_SOURCE_PATH}/Base/CPPExtern.h
  ${GEM_SOURCE_PATH}/Base/GemBase.h
  ${GEM_SOURCE_PATH}/Base/GemContext.h
  ${GEM_SOURCE_PATH}/Base/GemGLBase.h
  ${GEM_SOURCE_PATH}/Base/GemGluObj.h
  ${GEM_SOURCE_PATH}/Base/GemJUCEContext.h
  ${GEM_SOURCE_PATH}/Base/GemPathBase.h
  ${GEM_SOURCE_PATH}/Base/GemPixDualObj.h
  ${GEM_SOURCE_PATH}/Base/GemPixObj.h
  ${GEM_SOURCE_PATH}/Base/GemShape.h
  ${GEM_SOURCE_PATH}/Base/GemVertex.h
  ${GEM_SOURCE_PATH}/Base/GemWinCreate.h
  ${GEM_SOURCE_PATH}/Base/GemWindow.h
  ${GEM_SOURCE_PATH}/Base/TextBase.h
  ${GEM_SOURCE_PATH}/Controls/gemcubeframebuffer.h
  ${GEM_SOURCE_PATH}/Controls/gemframebuffer.h
  ${GEM_SOURCE_PATH}/Controls/gemhead.h
  ${GEM_SOURCE_PATH}/Controls/gemkeyboard.h
  ${GEM_SOURCE_PATH}/Controls/gemkeyname.h
  ${GEM_SOURCE_PATH}/Controls/gemlist.h
  ${GEM_SOURCE_PATH}/Controls/gemlist_info.h
  ${GEM_SOURCE_PATH}/Controls/gemlist_matrix.h
  ${GEM_SOURCE_PATH}/Controls/gemmanager.h
  ${GEM_SOURCE_PATH}/Controls/gemmouse.h
  ${GEM_SOURCE_PATH}/Controls/gemreceive.h
  ${GEM_SOURCE_PATH}/Controls/gemwin.h
  ${GEM_SOURCE_PATH}/Controls/modelfiler.h
  ${GEM_SOURCE_PATH}/Controls/render_trigger.h
  ${GEM_SOURCE_PATH}/Gem/Cache.h
  ${GEM_SOURCE_PATH}/Gem/ContextData.h
  ${GEM_SOURCE_PATH}/Gem/Dylib.h
  ${GEM_SOURCE_PATH}/Gem/Event.h
  ${GEM_SOURCE_PATH}/Gem/Exception.h
  ${GEM_SOURCE_PATH}/Gem/ExportDef.h
  ${GEM_SOURCE_PATH}/Gem/Files.h
  ${GEM_SOURCE_PATH}/Gem/GLStack.h
  ${GEM_SOURCE_PATH}/Gem/GemConfig.h
  ${GEM_SOURCE_PATH}/Gem/GemGL.h
  ${GEM_SOURCE_PATH}/Gem/GemGLconfig.h
  ${GEM_SOURCE_PATH}/Gem/Image.h
  ${GEM_SOURCE_PATH}/Gem/ImageIO.h
  ${GEM_SOURCE_PATH}/Gem/Loaders.h
  ${GEM_SOURCE_PATH}/Gem/Manager.h
  ${GEM_SOURCE_PATH}/Gem/PBuffer.h
  ${GEM_SOURCE_PATH}/Gem/PixConvert.h
  ${GEM_SOURCE_PATH}/Gem/Properties.h
  ${GEM_SOURCE_PATH}/Gem/RTE.h
  ${GEM_SOURCE_PATH}/Gem/Rectangle.h
  ${GEM_SOURCE_PATH}/Gem/Settings.h
  ${GEM_SOURCE_PATH}/Gem/State.h
  ${GEM_SOURCE_PATH}/Gem/Version.h
  ${GEM_SOURCE_PATH}/Gem/VertexBuffer.h
  ${GEM_SOURCE_PATH}/Gem/configDarwin.h
  ${GEM_SOURCE_PATH}/Gem/configLinux.h
  ${GEM_SOURCE_PATH}/Gem/configNT.h
  ${GEM_SOURCE_PATH}/Gem/glew.h
  ${GEM_SOURCE_PATH}/Gem/glxew.h
  ${GEM_SOURCE_PATH}/Gem/wglew.h
  ${GEM_SOURCE_PATH}/Geos/GemSplash.h
  ${GEM_SOURCE_PATH}/Geos/circle.h
  ${GEM_SOURCE_PATH}/Geos/colorSquare.h
  ${GEM_SOURCE_PATH}/Geos/cone.h
  ${GEM_SOURCE_PATH}/Geos/cube.h
  ${GEM_SOURCE_PATH}/Geos/cuboid.h
  ${GEM_SOURCE_PATH}/Geos/curve.h
  ${GEM_SOURCE_PATH}/Geos/curve3d.h
  ${GEM_SOURCE_PATH}/Geos/cylinder.h
  ${GEM_SOURCE_PATH}/Geos/disk.h
  ${GEM_SOURCE_PATH}/Geos/gemvertexbuffer.h
  ${GEM_SOURCE_PATH}/Geos/imageVert.h
  ${GEM_SOURCE_PATH}/Geos/mesh_line.h
  ${GEM_SOURCE_PATH}/Geos/mesh_square.h
  ${GEM_SOURCE_PATH}/Geos/model.h
  ${GEM_SOURCE_PATH}/Geos/multimodel.h
  ${GEM_SOURCE_PATH}/Geos/newWave.h
  ${GEM_SOURCE_PATH}/Geos/polygon.h
  ${GEM_SOURCE_PATH}/Geos/pqtorusknots.h
  ${GEM_SOURCE_PATH}/Geos/primTri.h
  ${GEM_SOURCE_PATH}/Geos/rectangle.h
  ${GEM_SOURCE_PATH}/Geos/ripple.h
  ${GEM_SOURCE_PATH}/Geos/rubber.h
  ${GEM_SOURCE_PATH}/Geos/scopeXYZ~.h
  ${GEM_SOURCE_PATH}/Geos/slideSquares.h
  ${GEM_SOURCE_PATH}/Geos/sphere.h
  ${GEM_SOURCE_PATH}/Geos/sphere3d.h
  ${GEM_SOURCE_PATH}/Geos/square.h
  ${GEM_SOURCE_PATH}/Geos/surface3d.h
  ${GEM_SOURCE_PATH}/Geos/teapot.h
  ${GEM_SOURCE_PATH}/Geos/text2d.h
  ${GEM_SOURCE_PATH}/Geos/text3d.h
  ${GEM_SOURCE_PATH}/Geos/textextruded.h
  ${GEM_SOURCE_PATH}/Geos/textoutline.h
  ${GEM_SOURCE_PATH}/Geos/torus.h
  ${GEM_SOURCE_PATH}/Geos/trapezoid.h
  ${GEM_SOURCE_PATH}/Geos/triangle.h
  ${GEM_SOURCE_PATH}/Geos/tube.h
  ${GEM_SOURCE_PATH}/Manips/accumrotate.h
  ${GEM_SOURCE_PATH}/Manips/alpha.h
  ${GEM_SOURCE_PATH}/Manips/ambient.h
  ${GEM_SOURCE_PATH}/Manips/ambientRGB.h
  ${GEM_SOURCE_PATH}/Manips/camera.h
  ${GEM_SOURCE_PATH}/Manips/color.h
  ${GEM_SOURCE_PATH}/Manips/colorRGB.h
  ${GEM_SOURCE_PATH}/Manips/depth.h
  ${GEM_SOURCE_PATH}/Manips/diffuse.h
  ${GEM_SOURCE_PATH}/Manips/diffuseRGB.h
  ${GEM_SOURCE_PATH}/Manips/emission.h
  ${GEM_SOURCE_PATH}/Manips/emissionRGB.h
  ${GEM_SOURCE_PATH}/Manips/fragment_program.h
  ${GEM_SOURCE_PATH}/Manips/glsl_fragment.h
  ${GEM_SOURCE_PATH}/Manips/glsl_geometry.h
  ${GEM_SOURCE_PATH}/Manips/glsl_program.h
  ${GEM_SOURCE_PATH}/Manips/glsl_tesscontrol.h
  ${GEM_SOURCE_PATH}/Manips/glsl_tesseval.h
  ${GEM_SOURCE_PATH}/Manips/glsl_vertex.h
  ${GEM_SOURCE_PATH}/Manips/linear_path.h
  ${GEM_SOURCE_PATH}/Manips/ortho.h
  ${GEM_SOURCE_PATH}/Manips/polygon_smooth.h
  ${GEM_SOURCE_PATH}/Manips/rotate.h
  ${GEM_SOURCE_PATH}/Manips/rotateXYZ.h
  ${GEM_SOURCE_PATH}/Manips/scale.h
  ${GEM_SOURCE_PATH}/Manips/scaleXYZ.h
  ${GEM_SOURCE_PATH}/Manips/separator.h
  ${GEM_SOURCE_PATH}/Manips/shearXY.h
  ${GEM_SOURCE_PATH}/Manips/shearXZ.h
  ${GEM_SOURCE_PATH}/Manips/shearYX.h
  ${GEM_SOURCE_PATH}/Manips/shearYZ.h
  ${GEM_SOURCE_PATH}/Manips/shearZX.h
  ${GEM_SOURCE_PATH}/Manips/shearZY.h
  ${GEM_SOURCE_PATH}/Manips/shininess.h
  ${GEM_SOURCE_PATH}/Manips/specular.h
  ${GEM_SOURCE_PATH}/Manips/specularRGB.h
  ${GEM_SOURCE_PATH}/Manips/spline_path.h
  ${GEM_SOURCE_PATH}/Manips/translate.h
  ${GEM_SOURCE_PATH}/Manips/translateXYZ.h
  ${GEM_SOURCE_PATH}/Manips/vertex_program.h
  ${GEM_SOURCE_PATH}/Nongeos/light.h
  ${GEM_SOURCE_PATH}/Nongeos/spot_light.h
  ${GEM_SOURCE_PATH}/Nongeos/world_light.h
  ${GEM_SOURCE_PATH}/Particles/papi/general.h
  ${GEM_SOURCE_PATH}/Particles/papi/papi.h
  ${GEM_SOURCE_PATH}/Particles/papi/vector.h
  ${GEM_SOURCE_PATH}/Particles/part_color.h
  ${GEM_SOURCE_PATH}/Particles/part_damp.h
  ${GEM_SOURCE_PATH}/Particles/part_draw.h
  ${GEM_SOURCE_PATH}/Particles/part_follow.h
  ${GEM_SOURCE_PATH}/Particles/part_gravity.h
  ${GEM_SOURCE_PATH}/Particles/part_head.h
  ${GEM_SOURCE_PATH}/Particles/part_info.h
  ${GEM_SOURCE_PATH}/Particles/part_killold.h
  ${GEM_SOURCE_PATH}/Particles/part_killslow.h
  ${GEM_SOURCE_PATH}/Particles/part_orbitpoint.h
  ${GEM_SOURCE_PATH}/Particles/part_render.h
  ${GEM_SOURCE_PATH}/Particles/part_sink.h
  ${GEM_SOURCE_PATH}/Particles/part_size.h
  ${GEM_SOURCE_PATH}/Particles/part_source.h
  ${GEM_SOURCE_PATH}/Particles/part_targetcolor.h
  ${GEM_SOURCE_PATH}/Particles/part_targetsize.h
  ${GEM_SOURCE_PATH}/Particles/part_velcone.h
  ${GEM_SOURCE_PATH}/Particles/part_velocity.h
  ${GEM_SOURCE_PATH}/Particles/part_velsphere.h
  ${GEM_SOURCE_PATH}/Particles/part_vertex.h
  ${GEM_SOURCE_PATH}/Particles/partlib_base.h
  ${GEM_SOURCE_PATH}/Pixes/FreeFrame.h
  ${GEM_SOURCE_PATH}/Pixes/frei0r.h
  ${GEM_SOURCE_PATH}/Pixes/pix_2grey.h
  ${GEM_SOURCE_PATH}/Pixes/pix_a_2grey.h
  ${GEM_SOURCE_PATH}/Pixes/pix_add.h
  ${GEM_SOURCE_PATH}/Pixes/pix_aging.h
  ${GEM_SOURCE_PATH}/Pixes/pix_alpha.h
  ${GEM_SOURCE_PATH}/Pixes/pix_background.h
  ${GEM_SOURCE_PATH}/Pixes/pix_backlight.h
  ${GEM_SOURCE_PATH}/Pixes/pix_biquad.h
  ${GEM_SOURCE_PATH}/Pixes/pix_bitmask.h
  ${GEM_SOURCE_PATH}/Pixes/pix_blob.h
  ${GEM_SOURCE_PATH}/Pixes/pix_blur.h
  ${GEM_SOURCE_PATH}/Pixes/pix_buf.h
  ${GEM_SOURCE_PATH}/Pixes/pix_buffer.h
  ${GEM_SOURCE_PATH}/Pixes/pix_buffer_read.h
  ${GEM_SOURCE_PATH}/Pixes/pix_buffer_write.h
  ${GEM_SOURCE_PATH}/Pixes/pix_chroma_key.h
  ${GEM_SOURCE_PATH}/Pixes/pix_clearblock.h
  ${GEM_SOURCE_PATH}/Pixes/pix_color.h
  ${GEM_SOURCE_PATH}/Pixes/pix_coloralpha.h
  ${GEM_SOURCE_PATH}/Pixes/pix_colorclassify.h
  ${GEM_SOURCE_PATH}/Pixes/pix_colormatrix.h
  ${GEM_SOURCE_PATH}/Pixes/pix_colorreduce.h
  ${GEM_SOURCE_PATH}/Pixes/pix_compare.h
  ${GEM_SOURCE_PATH}/Pixes/pix_composite.h
  ${GEM_SOURCE_PATH}/Pixes/pix_contrast.h
  ${GEM_SOURCE_PATH}/Pixes/pix_convert.h
  ${GEM_SOURCE_PATH}/Pixes/pix_convolve.h
  ${GEM_SOURCE_PATH}/Pixes/pix_coordinate.h
  ${GEM_SOURCE_PATH}/Pixes/pix_crop.h
  ${GEM_SOURCE_PATH}/Pixes/pix_cubemap.h
  ${GEM_SOURCE_PATH}/Pixes/pix_curve.h
  ${GEM_SOURCE_PATH}/Pixes/pix_data.h
  ${GEM_SOURCE_PATH}/Pixes/pix_deinterlace.h
  ${GEM_SOURCE_PATH}/Pixes/pix_delay.h
  ${GEM_SOURCE_PATH}/Pixes/pix_diff.h
  ${GEM_SOURCE_PATH}/Pixes/pix_dot.h
  ${GEM_SOURCE_PATH}/Pixes/pix_draw.h
  ${GEM_SOURCE_PATH}/Pixes/pix_dump.h
  ${GEM_SOURCE_PATH}/Pixes/pix_duotone.h
  ${GEM_SOURCE_PATH}/Pixes/pix_emboss.h
  ${GEM_SOURCE_PATH}/Pixes/pix_equal.h
  ${GEM_SOURCE_PATH}/Pixes/pix_film.h
  ${GEM_SOURCE_PATH}/Pixes/pix_flip.h
  ${GEM_SOURCE_PATH}/Pixes/pix_freeframe.h
  ${GEM_SOURCE_PATH}/Pixes/pix_frei0r.h
  ${GEM_SOURCE_PATH}/Pixes/pix_gain.h
  ${GEM_SOURCE_PATH}/Pixes/pix_grey.h
  ${GEM_SOURCE_PATH}/Pixes/pix_halftone.h
  ${GEM_SOURCE_PATH}/Pixes/pix_histo.h
  ${GEM_SOURCE_PATH}/Pixes/pix_hsv2rgb.h
  ${GEM_SOURCE_PATH}/Pixes/pix_image.h
  ${GEM_SOURCE_PATH}/Pixes/pix_imageInPlace.h
  ${GEM_SOURCE_PATH}/Pixes/pix_info.h
  ${GEM_SOURCE_PATH}/Pixes/pix_invert.h
  ${GEM_SOURCE_PATH}/Pixes/pix_kaleidoscope.h
  ${GEM_SOURCE_PATH}/Pixes/pix_levels.h
  ${GEM_SOURCE_PATH}/Pixes/pix_lumaoffset.h
  ${GEM_SOURCE_PATH}/Pixes/pix_mask.h
  ${GEM_SOURCE_PATH}/Pixes/pix_mean_color.h
  ${GEM_SOURCE_PATH}/Pixes/pix_metaimage.h
  ${GEM_SOURCE_PATH}/Pixes/pix_mix.h
  ${GEM_SOURCE_PATH}/Pixes/pix_motionblur.h
  ${GEM_SOURCE_PATH}/Pixes/pix_movement.h
  ${GEM_SOURCE_PATH}/Pixes/pix_movement2.h
  ${GEM_SOURCE_PATH}/Pixes/pix_movie.h
  ${GEM_SOURCE_PATH}/Pixes/pix_multiblob.h
  ${GEM_SOURCE_PATH}/Pixes/pix_multiimage.h
  ${GEM_SOURCE_PATH}/Pixes/pix_multiply.h
  ${GEM_SOURCE_PATH}/Pixes/pix_multitexture.h
  ${GEM_SOURCE_PATH}/Pixes/pix_noise.h
  ${GEM_SOURCE_PATH}/Pixes/pix_normalize.h
  ${GEM_SOURCE_PATH}/Pixes/pix_offset.h
  ${GEM_SOURCE_PATH}/Pixes/pix_pix2sig.h
  ${GEM_SOURCE_PATH}/Pixes/pix_posterize.h
  ${GEM_SOURCE_PATH}/Pixes/pix_puzzle.h
  ${GEM_SOURCE_PATH}/Pixes/pix_rds.h
  ${GEM_SOURCE_PATH}/Pixes/pix_record.h
  ${GEM_SOURCE_PATH}/Pixes/pix_rectangle.h
  ${GEM_SOURCE_PATH}/Pixes/pix_refraction.h
  ${GEM_SOURCE_PATH}/Pixes/pix_resize.h
  ${GEM_SOURCE_PATH}/Pixes/pix_rgb2hsv.h
  ${GEM_SOURCE_PATH}/Pixes/pix_rgba.h
  ${GEM_SOURCE_PATH}/Pixes/pix_roi.h
  ${GEM_SOURCE_PATH}/Pixes/pix_roll.h
  ${GEM_SOURCE_PATH}/Pixes/pix_rtx.h
  ${GEM_SOURCE_PATH}/Pixes/pix_scanline.h
  ${GEM_SOURCE_PATH}/Pixes/pix_set.h
  ${GEM_SOURCE_PATH}/Pixes/pix_share.h
  ${GEM_SOURCE_PATH}/Pixes/pix_share_read.h
  ${GEM_SOURCE_PATH}/Pixes/pix_share_write.h
  ${GEM_SOURCE_PATH}/Pixes/pix_sig2pix.h
  ${GEM_SOURCE_PATH}/Pixes/pix_snap.h
  ${GEM_SOURCE_PATH}/Pixes/pix_snap2tex.h
  ${GEM_SOURCE_PATH}/Pixes/pix_subtract.h
  ${GEM_SOURCE_PATH}/Pixes/pix_tIIR.h
  ${GEM_SOURCE_PATH}/Pixes/pix_tIIRf.h
  ${GEM_SOURCE_PATH}/Pixes/pix_takealpha.h
  ${GEM_SOURCE_PATH}/Pixes/pix_test.h
  ${GEM_SOURCE_PATH}/Pixes/pix_texture.h
  ${GEM_SOURCE_PATH}/Pixes/pix_threshold.h
  ${GEM_SOURCE_PATH}/Pixes/pix_threshold_bernsen.h
  ${GEM_SOURCE_PATH}/Pixes/pix_video.h
  ${GEM_SOURCE_PATH}/Pixes/pix_vpaint.h
  ${GEM_SOURCE_PATH}/Pixes/pix_write.h
  ${GEM_SOURCE_PATH}/Pixes/pix_writer.h
  ${GEM_SOURCE_PATH}/Pixes/pix_yuv.h
  ${GEM_SOURCE_PATH}/Pixes/pix_zoom.h
  ${GEM_SOURCE_PATH}/RTE/Array.h
  ${GEM_SOURCE_PATH}/RTE/MessageCallbacks.h
  ${GEM_SOURCE_PATH}/RTE/Outlet.h
  ${GEM_SOURCE_PATH}/RTE/RTE.h
  ${GEM_SOURCE_PATH}/RTE/Symbol.h
  ${GEM_SOURCE_PATH}/Utils/Functions.h
  ${GEM_SOURCE_PATH}/Utils/GLUtil.h
  ${GEM_SOURCE_PATH}/Utils/GLUtil_define_generated.h
  ${GEM_SOURCE_PATH}/Utils/GemMath.h
  ${GEM_SOURCE_PATH}/Utils/GemString.h
  ${GEM_SOURCE_PATH}/Utils/Matrix.h
  ${GEM_SOURCE_PATH}/Utils/PixPete.h
  ${GEM_SOURCE_PATH}/Utils/SIMD.h
  ${GEM_SOURCE_PATH}/Utils/SynchedWorkerThread.h
  ${GEM_SOURCE_PATH}/Utils/Thread.h
  ${GEM_SOURCE_PATH}/Utils/ThreadMutex.h
  ${GEM_SOURCE_PATH}/Utils/ThreadSemaphore.h
  ${GEM_SOURCE_PATH}/Utils/Vector.h
  ${GEM_SOURCE_PATH}/Utils/WorkerThread.h
  ${GEM_SOURCE_PATH}/Utils/any.h
  ${GEM_SOURCE_PATH}/Utils/is_pointer.h
  ${GEM_SOURCE_PATH}/Utils/nop.h
  ${GEM_SOURCE_PATH}/Utils/plist.h
  ${GEM_SOURCE_PATH}/Utils/pstk.h
  ${GEM_SOURCE_PATH}/Utils/wstring.h
  ${GEM_SOURCE_PATH}/Vertex/glVBO_ext.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_add.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_combine.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_draw.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_grid.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_info.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_model.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_mul.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_offset.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_quad.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_scale.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_set.h
  ${GEM_SOURCE_PATH}/Vertex/vertex_tabread.h
  ${GEM_SOURCE_PATH}/config.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemCache.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemContextData.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemEvent.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemExportDef.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemFuncUtil.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemGL.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemGLUtil.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemLoaders.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemMan.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemMath.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemPBuffer.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemPixConvert.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemPixImageLoad.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemPixImageSave.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemPixPete.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemPixUtil.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemSIMD.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemState.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemVector.h
  ${GEM_SOURCE_PATH}/deprecated/Base/GemVersion.h
  ${GEM_SOURCE_PATH}/deprecated/Base/Matrix.h
  ${GEM_SOURCE_PATH}/deprecated/Gem/SynchedWorkerThread.h
  ${GEM_SOURCE_PATH}/deprecated/Gem/ThreadMutex.h
  ${GEM_SOURCE_PATH}/deprecated/Gem/ThreadSemaphore.h
  ${GEM_SOURCE_PATH}/deprecated/Gem/WorkerThread.h
  ${GEM_SOURCE_PATH}/openGL/GEMglAccum.h
  ${GEM_SOURCE_PATH}/openGL/GEMglActiveTexture.h
  ${GEM_SOURCE_PATH}/openGL/GEMglActiveTextureARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglAlphaFunc.h
  ${GEM_SOURCE_PATH}/openGL/GEMglAreTexturesResident.h
  ${GEM_SOURCE_PATH}/openGL/GEMglArrayElement.h
  ${GEM_SOURCE_PATH}/openGL/GEMglBegin.h
  ${GEM_SOURCE_PATH}/openGL/GEMglBindProgramARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglBindTexture.h
  ${GEM_SOURCE_PATH}/openGL/GEMglBitmap.h
  ${GEM_SOURCE_PATH}/openGL/GEMglBlendEquation.h
  ${GEM_SOURCE_PATH}/openGL/GEMglBlendFunc.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCallList.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClear.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClearAccum.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClearColor.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClearDepth.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClearIndex.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClearStencil.h
  ${GEM_SOURCE_PATH}/openGL/GEMglClipPlane.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3b.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3bv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3ub.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3ubv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3ui.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3uiv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3us.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor3usv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4b.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4bv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4ub.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4ubv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4ui.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4uiv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4us.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColor4usv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColorMask.h
  ${GEM_SOURCE_PATH}/openGL/GEMglColorMaterial.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyPixels.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexImage1D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexImage2D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexSubImage1D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCopyTexSubImage2D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglCullFace.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDeleteTextures.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDepthFunc.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDepthMask.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDepthRange.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDisable.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDisableClientState.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDrawArrays.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDrawBuffer.h
  ${GEM_SOURCE_PATH}/openGL/GEMglDrawElements.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEdgeFlag.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEnable.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEnableClientState.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEnd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEndList.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord1fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalCoord2fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalMesh1.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalMesh2.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalPoint1.h
  ${GEM_SOURCE_PATH}/openGL/GEMglEvalPoint2.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFeedbackBuffer.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFinish.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFlush.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFogf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFogfv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFogi.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFogiv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFrontFace.h
  ${GEM_SOURCE_PATH}/openGL/GEMglFrustum.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGenLists.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGenProgramsARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGenTextures.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGenerateMipmap.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetError.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetFloatv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetIntegerv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetMapdv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetMapfv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetMapiv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetPointerv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglGetString.h
  ${GEM_SOURCE_PATH}/openGL/GEMglHint.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexMask.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexdv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexfv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexi.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexiv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexs.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexsv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexub.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIndexubv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglInitNames.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIsEnabled.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIsList.h
  ${GEM_SOURCE_PATH}/openGL/GEMglIsTexture.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLightModelf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLightModeli.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLightf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLighti.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLineStipple.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLineWidth.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadIdentity.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadMatrixd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadMatrixf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadName.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadTransposeMatrixd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLoadTransposeMatrixf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglLogicOp.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMap1d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMap1f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMap2d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMap2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid1d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid1f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid2d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMapGrid2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMaterialf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMaterialfv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMateriali.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMatrixMode.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMultMatrixd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMultMatrixf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMultTransposeMatrixd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMultTransposeMatrixf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMultiTexCoord2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglMultiTexCoord2fARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNewList.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3b.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3bv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglNormal3sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglOrtho.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPassThrough.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelStoref.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelStorei.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelTransferf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelTransferi.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPixelZoom.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPointSize.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPolygonMode.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPolygonOffset.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPopAttrib.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPopClientAttrib.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPopMatrix.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPopName.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPrioritizeTextures.h
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramEnvParameter4dARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramEnvParameter4fvARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramLocalParameter4fvARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglProgramStringARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPushAttrib.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPushClientAttrib.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPushMatrix.h
  ${GEM_SOURCE_PATH}/openGL/GEMglPushName.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos2sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos3sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRasterPos4sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRectd.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRectf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRecti.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRects.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRenderMode.h
  ${GEM_SOURCE_PATH}/openGL/GEMglReportError.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRotated.h
  ${GEM_SOURCE_PATH}/openGL/GEMglRotatef.h
  ${GEM_SOURCE_PATH}/openGL/GEMglScaled.h
  ${GEM_SOURCE_PATH}/openGL/GEMglScalef.h
  ${GEM_SOURCE_PATH}/openGL/GEMglScissor.h
  ${GEM_SOURCE_PATH}/openGL/GEMglSelectBuffer.h
  ${GEM_SOURCE_PATH}/openGL/GEMglShadeModel.h
  ${GEM_SOURCE_PATH}/openGL/GEMglStencilFunc.h
  ${GEM_SOURCE_PATH}/openGL/GEMglStencilMask.h
  ${GEM_SOURCE_PATH}/openGL/GEMglStencilOp.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord1sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord2sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord3sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexCoord4sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexEnvf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexEnvi.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGend.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGenf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGenfv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexGeni.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexImage2D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexParameterf.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexParameteri.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexSubImage1D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTexSubImage2D.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTranslated.h
  ${GEM_SOURCE_PATH}/openGL/GEMglTranslatef.h
  ${GEM_SOURCE_PATH}/openGL/GEMglUniform1f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglUniform1fARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglUseProgramObjectARB.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex2sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex3sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4d.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4dv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4f.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4fv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4i.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4iv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4s.h
  ${GEM_SOURCE_PATH}/openGL/GEMglVertex4sv.h
  ${GEM_SOURCE_PATH}/openGL/GEMglViewport.h
  ${GEM_SOURCE_PATH}/openGL/GEMgluLookAt.h
  ${GEM_SOURCE_PATH}/openGL/GEMgluPerspective.h
  ${GEM_SOURCE_PATH}/openGL/GLdefine.h
  ${GEM_SOURCE_PATH}/plugins/PluginFactory.h
  ${GEM_SOURCE_PATH}/plugins/PluginFactoryTimple.h
  ${GEM_SOURCE_PATH}/plugins/film.h
  ${GEM_SOURCE_PATH}/plugins/imageloader.h
  ${GEM_SOURCE_PATH}/plugins/imagesaver.h
  ${GEM_SOURCE_PATH}/plugins/modelloader.h
  ${GEM_SOURCE_PATH}/plugins/record.h
  ${GEM_SOURCE_PATH}/plugins/video.h
  ${GEM_SOURCE_PATH}/plugins/videoBase.h
  ${GEM_SOURCE_PATH}/version_current.h
)

add_subdirectory(glew/build/cmake)

include_directories("./glew/include"
                    "./ftgl/cmake"
                    "./ftgl/src"
                    "./ftgl/src/FTFont"
                    "./ftgl/src/FTGL"
                    "./freetype/include"
                    )

set(MESSAGE_QUIET ON)

set(BUILD_SHARED_LIBS OFF) # Build ftgl and freetype as static libs

if(UNIX) # needed for freetype
add_compile_definitions(HAVE_UNISTD_H=1 HAVE_FCNTL_H=1 HAVE_SYS_SYSCTL_H=1 HAVE_SYS_TIME_H=1 HAVE_SYS_TYPES_H=1 HAVE_SYS_SELECT_H=1)
elseif(MSVC)
add_compile_definitions(GEM_INTERNAL=1 FTGL_LIBRARY_STATIC=1 _USE_MATH_DEFINES=1 PATH_MAX=4096)
endif()

include(ftgl.cmake)
include(freetype.cmake)

set(ASSIMP_BUILD_STATIC_LIB ON)
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF)
set(ASSIMP_BUILD_TESTS OFF)
set(ASSIMP_OPT_BUILD_PACKAGES OFF)
add_subdirectory(${GEM_SOURCE_PATH}/plugins/ASSIMP3/assimp)

set(MESSAGE_QUIET OFF)
add_library(Gem STATIC ${GEM_SOURCES} ${GEM_HEADERS})
target_compile_definitions(Gem PRIVATE HAVE_FTGL=1 HAVE_FTGL_FTGL_H=1 HAVE_S_STUFF_H=1)
target_include_directories(Gem PUBLIC ${GEM_SOURCE_PATH} "../pure-data/src" )
if(UNIX)
target_compile_options(Gem PRIVATE -fvisibility=default)
endif()

add_library(Gem-multi STATIC ${GEM_SOURCES} ${GEM_HEADERS})
target_compile_definitions(Gem-multi PRIVATE HAVE_FTGL=1 HAVE_FTGL_FTGL_H=1 HAVE_S_STUFF_H=1 PDTHREADS=1 PDINSTANCE=1)
target_include_directories(Gem-multi PUBLIC ${GEM_SOURCE_PATH} "../pure-data/src" "./glew/include" "./ftgl/src"  "./ftgl/src/FTFont" "./ftgl/src/FTGL" "./freetype/include")
if(UNIX)
target_compile_options(Gem-multi PRIVATE -fvisibility=hidden)
endif()

add_library(Gem-plugins STATIC
    ${GEM_SOURCE_PATH}/plugins/ASSIMP3/modelASSIMP3.cpp
    ${GEM_SOURCE_PATH}/plugins/STB/imageSTB.cpp
    ${GEM_SOURCE_PATH}/plugins/OBJ/modelOBJ.cpp
    ${GEM_SOURCE_PATH}/plugins/OBJ/model_loader.cpp
    ${GEM_SOURCE_PATH}/plugins/PNM/recordPNM.cpp
)
target_include_directories(Gem-plugins PRIVATE ${GEM_SOURCE_PATH} ${GEM_SOURCE_PATH}/plugins/ASSIMP3/assimp/include ${FFMPEG_PATH})
target_compile_definitions(Gem-plugins PRIVATE HAVE_CONFIG_H=1)

if(FFMPEG_PATH)
target_include_directories(Gem-plugins PRIVATE ${FFMPEG_PATH})
target_sources(Gem-plugins PRIVATE ${GEM_SOURCE_PATH}/plugins/FFMPEG/filmFFMPEG.cpp)
endif()

if(APPLE)
target_link_libraries(Gem-plugins PUBLIC "-framework AVFoundation -framework CoreMedia -framework VideoToolbox")
target_sources(Gem-plugins PRIVATE
    ${GEM_SOURCE_PATH}/plugins/filmAVF/filmAVF.mm
    ${GEM_SOURCE_PATH}/plugins/filmAVF/AVFMoviePlayer.m
    ${GEM_SOURCE_PATH}/plugins/videoAVF/videoAVF.mm
    ${GEM_SOURCE_PATH}/plugins/videoAVF/AVFVideoGrabber.mm
)
elseif(MSVC)
target_link_libraries(Gem-plugins PUBLIC Strmiids.lib)
target_sources(Gem-plugins PRIVATE
    ${GEM_SOURCE_PATH}/plugins/filmDS/filmDS.cpp
    ${GEM_SOURCE_PATH}/plugins/VFW/videoVFW.cpp
    ${GEM_SOURCE_PATH}/plugins/VFW/videoVFW.cpp
)
else()
#target_include_directories(Gem-plugins PRIVATE ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/include)
#target_sources(Gem-plugins PRIVATE
#    ${GEM_SOURCE_PATH}/plugins/V4L2/videoV4L2.cpp
#    ${GEM_SOURCE_PATH}/plugins/V4L2/recordV4L2.cpp
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4l2/v4l2convert.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4l2/log.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4l2/libv4l2.c
#
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4l2/v4l2convert.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4l2/log.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4l2/libv4l2.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/bayer.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/crop.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/flip.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/helper.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/hm12.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/jidctflt.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/libv4lconvert.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/mr97310a.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/ov511-decomp.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/ov518-decomp.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/pac207.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/rgbyuv.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/sn9c10x.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/sn9c2028-decomp.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/sn9c20x.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/spca501.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/spca561-decompress.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/sq905c.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/tinyjpeg.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/control/libv4lcontrol.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/processing/autogain.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/processing/gamma.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/processing/libv4lprocessing.c
#    ${GEM_SOURCE_PATH}/plugins/V4L2/libv4l2/libv4lconvert/processing/whitebalance.c
#)
endif()
