From 0dd19f9cb36a3c3e62925966f89495ec939e745e Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Thu, 9 Feb 2017 20:50:54 +0000 Subject: [PATCH] Add option to use system copy of GLPNG --- Aquaria/DSQ.cpp | 2 +- Aquaria/Game.h | 2 +- Aquaria/SceneEditor.cpp | 2 +- BBGE/Texture.cpp | 2 +- CMakeLists.txt | 20 +++++++++++++++++++- ExternalLibs/{ => glpng/GL}/glpng.h | 0 ExternalLibs/glpng/glpng.c | 2 +- win/vc90/Aquaria.vcproj | 4 ++-- win/vc90/BBGE.vcproj | 4 ++-- win/vc90/external.vcproj | 2 +- 10 files changed, 29 insertions(+), 11 deletions(-) rename ExternalLibs/{ => glpng/GL}/glpng.h (100%) diff --git a/Aquaria/DSQ.cpp b/Aquaria/DSQ.cpp index 6244278..0e379ff 100644 --- a/Aquaria/DSQ.cpp +++ b/Aquaria/DSQ.cpp @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "../BBGE/DebugFont.h" -#include "../ExternalLibs/glpng.h" +#include #include "../BBGE/AfterEffect.h" #include "DSQ.h" diff --git a/Aquaria/Game.h b/Aquaria/Game.h index d137fa6..07d28ac 100644 --- a/Aquaria/Game.h +++ b/Aquaria/Game.h @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define GAME_H #include "../BBGE/DebugFont.h" -#include "../ExternalLibs/glpng.h" +#include #include "DSQ.h" #include "AquariaMenuItem.h" diff --git a/Aquaria/SceneEditor.cpp b/Aquaria/SceneEditor.cpp index a9ccf01..3e3f3b8 100644 --- a/Aquaria/SceneEditor.cpp +++ b/Aquaria/SceneEditor.cpp @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "../BBGE/MathFunctions.h" -#include "../ExternalLibs/glpng.h" +#include #include "../BBGE/Gradient.h" #include "../BBGE/DebugFont.h" diff --git a/BBGE/Texture.cpp b/BBGE/Texture.cpp index 401ca5e..4d8d738 100644 --- a/BBGE/Texture.cpp +++ b/BBGE/Texture.cpp @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "Texture.h" #include "Core.h" -#include "../ExternalLibs/glpng.h" +#include #include "ByteBuffer.h" #include "RenderBase.h" #include diff --git a/CMakeLists.txt b/CMakeLists.txt index bf326eb..6140198 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -252,6 +252,18 @@ else(FTGL_FOUND) ADD_DEFINITIONS(-DAQUARIA_INTERNAL_FTGL=1) endif(FTGL_FOUND) +### GLPNG + +OPTION(AQUARIA_INTERNAL_GLPNG "Always use included GLPNG library" TRUE) +if(NOT AQUARIA_INTERNAL_GLPNG) + find_package(GLPNG) +endif(NOT AQUARIA_INTERNAL_GLPNG) +if(NOT GLPNG_FOUND) + message(STATUS "Using internal copy of GLPNG") + set(GLPNG_INCLUDE_DIRS "${EXTLIBDIR}/glpng") + set(GLPNG_SRCS "${EXTLIBDIR}/glpng/glpng.c") +endif(NOT GLPNG_FOUND) + ################ End of external libraries INCLUDE_DIRECTORIES(${BBGEDIR}) @@ -261,6 +273,7 @@ INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SRCDIR}) INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${GLPNG_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OGGVORBIS_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) @@ -528,7 +541,6 @@ SET(BBGE_SRCS ${COCOA_SRCS} ${EXTLIBDIR}/DeflateCompressor.cpp ${EXTLIBDIR}/glfont2/glfont2.cpp - ${EXTLIBDIR}/glpng/glpng.c ${EXTLIBDIR}/minihttp.cpp ${EXTLIBDIR}/JPS.h ) @@ -780,6 +792,12 @@ ELSE(FTGL_FOUND) SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${FTGL_SRCS}) ENDIF(FTGL_FOUND) +IF(GLPNG_FOUND) + SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${GLPNG_LIBRARIES}) +ELSE(GLPNG_FOUND) + SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${GLPNG_SRCS}) +ENDIF(GLPNG_FOUND) + ADD_EXECUTABLE(aquaria ${EXETYPE} ${AQUARIA_SRCS} ${BBGE_SRCS} diff --git a/ExternalLibs/glpng.h b/ExternalLibs/glpng/GL/glpng.h similarity index 100% rename from ExternalLibs/glpng.h rename to ExternalLibs/glpng/GL/glpng.h diff --git a/ExternalLibs/glpng/glpng.c b/ExternalLibs/glpng/glpng.c index 886dd54..314e37c 100644 --- a/ExternalLibs/glpng/glpng.c +++ b/ExternalLibs/glpng/glpng.c @@ -31,7 +31,7 @@ //#define GL_GLEXT_PROTOTYPES //#include -#include "../glpng.h" +#include "GL/glpng.h" #include #include #include diff --git a/win/vc90/Aquaria.vcproj b/win/vc90/Aquaria.vcproj index 5b67ff6..a11ec97 100644 --- a/win/vc90/Aquaria.vcproj +++ b/win/vc90/Aquaria.vcproj @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/MP" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\ExternalLibs\glpng\zlib";"$(SolutionDir)\..\ExternalLibs\glpng\png";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs"" + AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\ExternalLibs\glpng";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs"" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;HAVE_PUTENV=1;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;BBGE_BUILD_VFS=1;VFS_ENABLE_C_API=1;BBGE_USE_GLM=1;AQUARIA_INTERNAL_FTGL=1;BBGE_BUILD_SDL2" MinimalRebuild="false" BasicRuntimeChecks="0" @@ -125,7 +125,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" EnableFiberSafeOptimizations="true" - AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\ExternalLibs\glpng\zlib";"$(SolutionDir)\..\ExternalLibs\glpng\png";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs"" + AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\ExternalLibs\glpng";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs"" PreprocessorDefinitions="WIN32;NDEBUG;GL_GLEXT_LEGACY=1;HAVE_PUTENV=1;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;_HAS_EXCEPTIONS=0;BBGE_BUILD_VFS=1;VFS_ENABLE_C_API=1;BBGE_USE_GLM=1;AQUARIA_INTERNAL_FTGL=1;BBGE_BUILD_SDL2" StringPooling="true" ExceptionHandling="0" diff --git a/win/vc90/BBGE.vcproj b/win/vc90/BBGE.vcproj index 7025a4c..08237af 100644 --- a/win/vc90/BBGE.vcproj +++ b/win/vc90/BBGE.vcproj @@ -43,7 +43,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/MP" Optimization="0" - AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\zlib";"$(SolutionDir)\..\ExternalLibs\png";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs"" + AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\ExternalLibs\glpng";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\zlib";"$(SolutionDir)\..\ExternalLibs\png";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs"" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;HAVE_PUTENV=1;FTGL_LIBRARY_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;VFS_ENABLE_C_API=1;BBGE_USE_GLM=1;AQUARIA_INTERNAL_FTGL=1;BBGE_BUILD_SDL2" MinimalRebuild="false" BasicRuntimeChecks="0" @@ -116,7 +116,7 @@ FavorSizeOrSpeed="1" OmitFramePointers="true" EnableFiberSafeOptimizations="true" - AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\zlib";"$(SolutionDir)\..\ExternalLibs\png";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs"" + AdditionalIncludeDirectories=""$(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config";"$(SolutionDir)\..\ExternalLibs\glpng";"$(SolutionDir)\..\BBGE";"$(SolutionDir)\..\ExternalLibs\zlib";"$(SolutionDir)\..\ExternalLibs\png";"$(SolutionDir)\..\ExternalLibs\libogg\include";"$(SolutionDir)\..\ExternalLibs\libvorbis\include";"$(SolutionDir)\..\ExternalLibs\freetype2\include";"$(SolutionDir)\..\ExternalLibs\FTGL\include";"$(SolutionDir)\..\ExternalLibs\SDL2\include";"$(SolutionDir)\..\ExternalLibs\AL\include";"$(SolutionDir)\..\ExternalLibs\tinyxml2";"$(SolutionDir)\..\ExternalLibs\ttvfs";"$(SolutionDir)\..\ExternalLibs\ttvfs_cfileapi";"$(SolutionDir)\..\ExternalLibs\lvpa";"$(SolutionDir)\..\ExternalLibs\lvpa\include";"$(SolutionDir)\..\ExternalLibs"" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;HAVE_PUTENV=1;FTGL_LIBRARY_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;_HAS_EXCEPTIONS=0;VFS_ENABLE_C_API=1;BBGE_USE_GLM=1;AQUARIA_INTERNAL_FTGL=1;BBGE_BUILD_SDL2" StringPooling="true" ExceptionHandling="0" diff --git a/win/vc90/external.vcproj b/win/vc90/external.vcproj index d5b4c6f..fe5ed55 100644 --- a/win/vc90/external.vcproj +++ b/win/vc90/external.vcproj @@ -203,7 +203,7 @@ >