From 37e60ffc9746097d6fb0c26b94983affcbe200de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Fri, 19 Jun 2020 00:05:04 +0200 Subject: [PATCH] Adjust to vanilla libpng --- .appveyor.yml | 2 ++ .github/workflows/ci.yml | 9 +++++- extern/CMakeProject-png.cmake | 56 +++++++++++++++++++--------------- src/CMakeLists.txt | 6 ++-- src/CMakeProject-texture.cmake | 2 +- src/Makefile.am | 22 ++++++------- src/RageSurface_Load_PNG.cpp | 10 ++---- src/RageSurface_Save_PNG.cpp | 10 ++---- 8 files changed, 64 insertions(+), 53 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 3d8861b350..e58109f1df 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -24,6 +24,8 @@ init: install: - cmd: >- + git submodule update --init + choco install cmake choco install nsis -version 2.46.0.20150406 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c153b0af6..930e3c4b17 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + submodules: true - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y libasound2-dev @@ -44,6 +46,7 @@ jobs: libjack-dev libjsoncpp-dev libmad0-dev + libpng-dev libpulse-dev libtomcrypt-dev libtommath-dev @@ -65,7 +68,7 @@ jobs: -DWITH_SYSTEM_MAD=ON -DWITH_SYSTEM_OGG=ON -DWITH_SYSTEM_PCRE=ON - -DWITH_SYSTEM_PNG=OFF + -DWITH_SYSTEM_PNG=ON -DWITH_SYSTEM_TOMCRYPT=OFF -DWITH_SYSTEM_TOMMATH=ON -DWITH_SYSTEM_ZLIB=ON @@ -77,6 +80,8 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 + with: + submodules: true - name: Install dependencies run: brew install nasm @@ -90,6 +95,8 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v2 + with: + submodules: true - name: Configure run: cmake -B build - name: Build diff --git a/extern/CMakeProject-png.cmake b/extern/CMakeProject-png.cmake index 8b4a525a4c..ed4d09f79a 100644 --- a/extern/CMakeProject-png.cmake +++ b/extern/CMakeProject-png.cmake @@ -3,31 +3,35 @@ if(WITH_SYSTEM_PNG) set(PNG_LIBRARIES ${PNG_LIBRARIES} PARENT_SCOPE) else() set(PNG_SRC - "libpng/include/png.c" - "libpng/include/pngerror.c" - "libpng/include/pngget.c" - "libpng/include/pngmem.c" - "libpng/include/pngpread.c" - "libpng/include/pngread.c" - "libpng/include/pngrio.c" - "libpng/include/pngrtran.c" - "libpng/include/pngrutil.c" - "libpng/include/pngset.c" - "libpng/include/pngtest.c" - "libpng/include/pngtrans.c" - "libpng/include/pngwio.c" - "libpng/include/pngwrite.c" - "libpng/include/pngwtran.c" - "libpng/include/pngwutil.c") + "libpng/png.c" + "libpng/pngerror.c" + "libpng/pngget.c" + "libpng/pngmem.c" + "libpng/pngpread.c" + "libpng/pngread.c" + "libpng/pngrio.c" + "libpng/pngrtran.c" + "libpng/pngrutil.c" + "libpng/pngset.c" + "libpng/pngtest.c" + "libpng/pngtrans.c" + "libpng/pngwio.c" + "libpng/pngwrite.c" + "libpng/pngwtran.c" + "libpng/pngwutil.c") + + configure_file("libpng/scripts/pnglibconf.h.prebuilt" + "libpng/pnglibconf.h" + COPYONLY) set(PNG_HPP - "libpng/include/png.h" - "libpng/include/pngconf.h" - "libpng/include/pngdebug.h" - "libpng/include/pnginfo.h" - "libpng/include/pnglibconf.h" - "libpng/include/pngpriv.h" - "libpng/include/pngstruct.h") + "libpng/png.h" + "libpng/pngconf.h" + "libpng/pngdebug.h" + "libpng/pnginfo.h" + "libpng/pnglibconf.h" + "libpng/pngpriv.h" + "libpng/pngstruct.h") source_group("" FILES ${PNG_SRC}) source_group("" FILES ${PNG_HPP}) @@ -42,5 +46,9 @@ else() sm_add_compile_definition("png" _CRT_SECURE_NO_WARNINGS) endif() - target_include_directories("png" PUBLIC "zlib") + target_include_directories("png" PUBLIC + "zlib" + $ + $ + ) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72cb54a493..398e3e78b1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -677,8 +677,10 @@ endif() if(WIN32) # FIXME: This makes no sense... #list(APPEND SM_INCLUDE_DIRS ${DIRECTX_INCLUDE_DIR}) -elseif(NOT WITH_SYSTEM_PNG) - list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/libpng/include") +endif() + +if(NOT WITH_SYSTEM_PNG) + list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/libpng") endif() diff --git a/src/CMakeProject-texture.cmake b/src/CMakeProject-texture.cmake index c46cbe14f0..f286adc6df 100644 --- a/src/CMakeProject-texture.cmake +++ b/src/CMakeProject-texture.cmake @@ -59,7 +59,7 @@ endif() if(NOT WITH_SYSTEM_PNG) list(APPEND TEXTURE_INCLUDE_DIRS - "${SM_EXTERN_DIR}/libpng/include") + "${SM_EXTERN_DIR}/libpng") endif() target_include_directories("TextureFontGenerator" diff --git a/src/Makefile.am b/src/Makefile.am index 6af42c9c28..9bcb849c06 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -48,17 +48,17 @@ ver.cpp: fi PNG = \ -../extern/libpng/include/png.c ../extern/libpng/include/.png.h \ -../extern/libpng/include/pngconf.h ../extern/libpng/include/pngdebug.h \ -../extern/libpng/include/pngerror.c ../extern/libpng/include/pngget.c \ -../extern/libpng/include/pnginfo.h ../extern/libpng/include/scripts/pnglibconf.h \ -../extern/libpng/include/pngmem.c ../extern/libpng/include/pngpread.c \ -../extern/libpng/include/pngpriv.h ../extern/libpng/include/pngread.c \ -../extern/libpng/include/pngrio.c ../extern/libpng/include/pngrtran.c \ -../extern/libpng/include/pngrutil.c ../extern/libpng/include/pngset.c \ -../extern/libpng/include/pngstruct.h ../extern/libpng/include/pngtrans.c \ -../extern/libpng/include/pngwio.c ../extern/libpng/include/pngwrite.c \ -../extern/libpng/include/pngwtran.c ../extern/libpng/include/pngwutil.c +../extern/libpng/png.c ../extern/libpng/.png.h \ +../extern/libpng/pngconf.h ../extern/libpng/pngdebug.h \ +../extern/libpng/pngerror.c ../extern/libpng/pngget.c \ +../extern/libpng/pnginfo.h ../extern/libpng/scripts/pnglibconf.h \ +../extern/libpng/pngmem.c ../extern/libpng/pngpread.c \ +../extern/libpng/pngpriv.h ../extern/libpng/pngread.c \ +../extern/libpng/pngrio.c ../extern/libpng/pngrtran.c \ +../extern/libpng/pngrutil.c ../extern/libpng/pngset.c \ +../extern/libpng/pngstruct.h ../extern/libpng/pngtrans.c \ +../extern/libpng/pngwio.c ../extern/libpng/pngwrite.c \ +../extern/libpng/pngwtran.c ../extern/libpng/pngwutil.c Screens = \ Screen.cpp Screen.h ScreenAttract.cpp ScreenAttract.h \ diff --git a/src/RageSurface_Load_PNG.cpp b/src/RageSurface_Load_PNG.cpp index 4549eccfb8..041667ec73 100644 --- a/src/RageSurface_Load_PNG.cpp +++ b/src/RageSurface_Load_PNG.cpp @@ -1,4 +1,7 @@ #include "global.h" + +#include + #include "RageSurface_Load_PNG.h" #include "RageUtil.h" #include "RageLog.h" @@ -6,17 +9,10 @@ #include "RageSurface.h" #if defined(_MSC_VER) -#include "../extern/libpng/include/png.h" #if defined(_BINARY_PNG) #pragma comment(lib, "libpng.lib") #endif #pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */ -#else -#ifndef SYSTEM_PNG -#include "../extern/libpng/include/png.h" -#else -#include -#endif // SYSTEM_PNG #endif // _MSC_VER namespace diff --git a/src/RageSurface_Save_PNG.cpp b/src/RageSurface_Save_PNG.cpp index d0f2d1d3b9..d7925cf64e 100644 --- a/src/RageSurface_Save_PNG.cpp +++ b/src/RageSurface_Save_PNG.cpp @@ -1,4 +1,7 @@ #include "global.h" + +#include + #include "RageSurface_Save_PNG.h" #include "RageSurface.h" #include "RageSurfaceUtils.h" @@ -7,17 +10,10 @@ #include "RageUtil.h" #if defined(_MSC_VER) -#include "../extern/libpng/include/png.h" #if defined(_BINARY_PNG) #pragma comment(lib, "libpng.lib") #endif #pragma warning(disable: 4611) /* interaction between '_setjmp' and C++ object destruction is non-portable */ -#else -#ifndef SYSTEM_PNG -#include "../extern/libpng/include/png.h" -#else -#include -#endif #endif // _MSC_VER static void SafePngError( png_struct *pPng, const RString &sStr )