diff --git a/CMakeLists.txt b/CMakeLists.txt index 91c038472..aa3aafabd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,7 +123,7 @@ include_directories( if (NOT USE_SYSTEM_LIBGLEW) add_subdirectory(contrib/glew) - set(GLEW_LIBRARIES glew) + add_library(GLEW::GLEW ALIAS glew) endif (NOT USE_SYSTEM_LIBGLEW) add_subdirectory(contrib/imgui) add_subdirectory(contrib/jenkins) @@ -147,7 +147,7 @@ target_link_libraries(${PROJECT_NAME} LINK_PRIVATE ${SIGCPP_LIBRARIES} ${VORBISFILE_LIBRARIES} ${LUA_LIBRARIES} - ${GLEW_LIBRARIES} + GLEW::GLEW imgui jenkins json diff --git a/Makefile.common b/Makefile.common index 2c793022c..c0f099574 100644 --- a/Makefile.common +++ b/Makefile.common @@ -1,10 +1,14 @@ AM_CPPFLAGS = $(EXTRA_CPPFLAGS) -AM_CFLAGS = $(GL_CFLAGS) $(EXTRA_CFLAGS) +AM_CFLAGS = $(GL_CFLAGS) $(EXTRA_CFLAGS) $(GLEW_CFLAGS) AM_CXXFLAGS = $(FREETYPE_CFLAGS) $(GL_CFLAGS) \ $(LUA_CFLAGS) $(SDL2_CFLAGS) $(SIGC_CFLAGS) $(EXTRA_CXXFLAGS) \ - $(LIBPNG_CFLAGS) $(ASSIMP_CFLAGS) $(CURL_CFLAGS) + $(LIBPNG_CFLAGS) $(ASSIMP_CFLAGS) $(CURL_CFLAGS) $(GLEW_CFLAGS) CFLAGS += $(OPTIMISE) CXXFLAGS += $(OPTIMISE) +if !HAVE_GLEW +AM_CPPFLAGS += -I @top_srcdir@/contrib/glew +endif + GNU_VERBOSITY := $(if $(findstring GNU,$(shell $(MAKE) -v)),0,1) V ?= $(GNU_VERBOSITY) diff --git a/configure.ac b/configure.ac index f90e797b3..ec8a29453 100644 --- a/configure.ac +++ b/configure.ac @@ -180,7 +180,7 @@ EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS -DPIONEER_VERSION=\\\"$PIONEER_VERSION\\\" -DPIO dnl __STDC_LIMIT_MACROS is defined so that GCC 4.7 will provide limit macros (eg, INT64_MAX) as part of cstdint dnl (note, __STDC_LIMIT_MACROS is not needed in GCC 4.8 or later; those macros are part of the C++11 standard) dnl __STDC_FORMAT_MACROS is the same deal for the (PRI|SCN)[ud](32|64) macros -EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS -DGLEW_STATIC -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS" +EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS" dnl Compiler warning options @@ -348,6 +348,10 @@ if test "$with_external_libglew" = yes; then fi AM_CONDITIONAL([HAVE_GLEW], [test "$HAVE_GLEW" = yes]) +AM_COND_IF([HAVE_GLEW], + [], + [GLEW_CFLAGS="-DGLEW_STATIC"]) + LUA_CFLAGS="$LUA_CFLAGS -DLUA_USE_APICHECK" case "$host" in i686-w64-mingw32.static) diff --git a/contrib/glew/CMakeLists.txt b/contrib/glew/CMakeLists.txt index 670928984..5ef1a5d5c 100644 --- a/contrib/glew/CMakeLists.txt +++ b/contrib/glew/CMakeLists.txt @@ -1,6 +1,7 @@ project(glew LANGUAGES C) -set(BUILD_SHARED_LIBS OFF) -add_definitions(-DGLEW_STATIC) - -add_library(${PROJECT_NAME} glew.c) +add_library(${PROJECT_NAME} STATIC glew.c) +target_compile_definitions(${PROJECT_NAME} PUBLIC -DGLEW_STATIC) +target_include_directories(${PROJECT_NAME} + PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/GL" + INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") diff --git a/contrib/glew/eglew.h b/contrib/glew/GL/eglew.h similarity index 100% rename from contrib/glew/eglew.h rename to contrib/glew/GL/eglew.h diff --git a/contrib/glew/glew.h b/contrib/glew/GL/glew.h similarity index 100% rename from contrib/glew/glew.h rename to contrib/glew/GL/glew.h diff --git a/contrib/glew/glxew.h b/contrib/glew/GL/glxew.h similarity index 100% rename from contrib/glew/glxew.h rename to contrib/glew/GL/glxew.h diff --git a/contrib/glew/wglew.h b/contrib/glew/GL/wglew.h similarity index 100% rename from contrib/glew/wglew.h rename to contrib/glew/GL/wglew.h diff --git a/contrib/glew/Makefile.am b/contrib/glew/Makefile.am index d20980ad5..d4976392c 100644 --- a/contrib/glew/Makefile.am +++ b/contrib/glew/Makefile.am @@ -4,8 +4,10 @@ if !HAVE_GLEW include $(top_srcdir)/Makefile.common +AM_CPPFLAGS += -I @top_srcdir@/contrib/glew/GL + noinst_LIBRARIES = libglew.a libglew_a_SOURCES = glew.c -noinst_HEADERS = glew.h glxew.h wglew.h eglew.h +noinst_HEADERS = GL/glew.h GL/glxew.h GL/wglew.h GL/eglew.h endif diff --git a/src/graphics/gl2/OpenGLLibs.h b/src/graphics/gl2/OpenGLLibs.h index dc84c364c..e6da7b3de 100644 --- a/src/graphics/gl2/OpenGLLibs.h +++ b/src/graphics/gl2/OpenGLLibs.h @@ -6,6 +6,6 @@ #ifndef _GL2_OPENGLIBS_H #define _GL2_OPENGLIBS_H -#include "glew/glew.h" +#include #endif diff --git a/src/graphics/opengl/OpenGLLibs.h b/src/graphics/opengl/OpenGLLibs.h index b4bd844c8..ea54b16dc 100644 --- a/src/graphics/opengl/OpenGLLibs.h +++ b/src/graphics/opengl/OpenGLLibs.h @@ -6,6 +6,6 @@ #ifndef _OGL_OPENGLIBS_H #define _OGL_OPENGLIBS_H -#include "glew/glew.h" +#include #endif diff --git a/win32/vs2015/glew/glew.vcxproj b/win32/vs2015/glew/glew.vcxproj index a87421fac..a460961e1 100644 --- a/win32/vs2015/glew/glew.vcxproj +++ b/win32/vs2015/glew/glew.vcxproj @@ -130,7 +130,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -140,7 +140,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -150,7 +150,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -162,7 +162,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -174,7 +174,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -186,7 +186,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -198,7 +198,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL NotUsing @@ -214,7 +214,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL NotUsing @@ -231,4 +231,4 @@ - \ No newline at end of file + diff --git a/win32/vs2017/glew/glew.vcxproj b/win32/vs2017/glew/glew.vcxproj index 31d9a43e5..f157bfc40 100644 --- a/win32/vs2017/glew/glew.vcxproj +++ b/win32/vs2017/glew/glew.vcxproj @@ -130,7 +130,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -140,7 +140,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -150,7 +150,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -162,7 +162,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -174,7 +174,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -186,7 +186,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL GLEW_NO_GLU;GLEW_STATIC;_UNICODE;UNICODE;%(PreprocessorDefinitions) @@ -198,7 +198,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL NotUsing @@ -214,7 +214,7 @@ Level2 - ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib + ../../../src;../../src;../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/win32/include;../../../../pioneer-thirdparty/source/libsigc++-2.3.1;../../win32/include;../../include;../../../contrib;../../contrib/glew/GL NotUsing @@ -231,4 +231,4 @@ - \ No newline at end of file +