From 0813a5eb6507af39be4cb9e33c31a8c9134b4570 Mon Sep 17 00:00:00 2001 From: mayeut Date: Wed, 4 May 2016 23:07:15 +0200 Subject: [PATCH] Move libpng submodule folder --- .gitmodules | 6 ++-- thirdparty/CMakeLists.txt | 4 +-- thirdparty/CMakeLists.txt.libpng | 57 ++++++++++++++++++++++++++++++++ thirdparty/CMakeLists.txt.zlib | 6 ++-- thirdparty/{libpng => }/libpng | 0 thirdparty/libpng/CMakeLists.txt | 30 ----------------- 6 files changed, 65 insertions(+), 38 deletions(-) create mode 100644 thirdparty/CMakeLists.txt.libpng rename thirdparty/{libpng => }/libpng (100%) delete mode 100644 thirdparty/libpng/CMakeLists.txt diff --git a/.gitmodules b/.gitmodules index 50111fdf..514485f0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "liblcms2"] path = thirdparty/liblcms2/liblcms2 url = https://github.com/mm2/Little-CMS.git -[submodule "libpng"] - path = thirdparty/libpng/libpng - url = https://github.com/glennrp/libpng.git [submodule "zlib"] path = thirdparty/zlib url = https://github.com/madler/zlib.git +[submodule "libpng"] + path = thirdparty/libpng + url = https://github.com/glennrp/libpng.git diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index de8aed4a..e5e0e6ad 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -32,11 +32,11 @@ endif(BUILD_THIRDPARTY) if(BUILD_THIRDPARTY) # Try to build it message(STATUS "We will build PNG lib from thirdparty") - add_subdirectory(libpng) + include_thirdparty(CMakeLists.txt.libpng) set(OPJ_HAVE_PNG_H 1 PARENT_SCOPE) set(OPJ_HAVE_LIBPNG 1 PARENT_SCOPE) set(PNG_LIBNAME png PARENT_SCOPE) - set(PNG_INCLUDE_DIRNAME ${CMAKE_CURRENT_BINARY_DIR}/libpng PARENT_SCOPE) + set(PNG_INCLUDE_DIRNAME ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc PARENT_SCOPE) else(BUILD_THIRDPARTY) if(ZLIB_FOUND) find_package(PNG) diff --git a/thirdparty/CMakeLists.txt.libpng b/thirdparty/CMakeLists.txt.libpng new file mode 100644 index 00000000..1ce346ec --- /dev/null +++ b/thirdparty/CMakeLists.txt.libpng @@ -0,0 +1,57 @@ +project(libpng C) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng/png.h ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc/png.h COPYONLY) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng/pngconf.h ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc/pngconf.h COPYONLY) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng/scripts/pnglibconf.h.prebuilt ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc/pnglibconf.h) + +# OUR SOURCES +set(libpng_public_hdrs + ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc/png.h + ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc/pngconf.h + ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc/pnglibconf.h +) +set(libpng_sources + pngdebug.h + pnginfo.h + pngpriv.h + pngstruct.h + png.c + pngerror.c + pngget.c + pngmem.c + pngpread.c + pngread.c + pngrio.c + pngrtran.c + pngrutil.c + pngset.c + pngtrans.c + pngwio.c + pngwrite.c + pngwtran.c + pngwutil.c +) + +foreach(SRCFILE IN LISTS libpng_sources) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng/${SRCFILE} ${CMAKE_CURRENT_BINARY_DIR}/libpng-src/${SRCFILE} COPYONLY) + set(PNG_SOURCES ${PNG_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libpng-src/${SRCFILE}) +endforeach() + +# +set(LIBTARGET "png") +# +add_library(${LIBTARGET} STATIC ${PNG_SOURCES} ${libpng_public_hdrs}) +# +if(MSVC) + set_target_properties(${LIBTARGET} PROPERTIES PREFIX "lib") +endif(MSVC) +# +target_link_libraries(${LIBTARGET} ${Z_LIBNAME} ${M_LIBRARY}) +# +set_target_properties(${LIBTARGET} + PROPERTIES + OUTPUT_NAME "${LIBTARGET}" + ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/thirdparty/lib) +# +get_property(PNG_TARGET_INC TARGET ${LIBTARGET} PROPERTY INCLUDE_DIRECTORIES) +set_property(TARGET ${LIBTARGET} PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/libpng-inc;${CMAKE_CURRENT_SOURCE_DIR}/libpng;${CMAKE_CURRENT_BINARY_DIR}/zlib-inc;${PNG_TARGET_INC}) diff --git a/thirdparty/CMakeLists.txt.zlib b/thirdparty/CMakeLists.txt.zlib index ac2e2e9b..df58ea53 100644 --- a/thirdparty/CMakeLists.txt.zlib +++ b/thirdparty/CMakeLists.txt.zlib @@ -111,12 +111,12 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib/zconf.h.cmakein ${CMAKE_CURRENT_BINARY_DIR}/zlib-inc/zconf.h @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib/zlib.h ${CMAKE_CURRENT_BINARY_DIR}/zlib-inc/zlib.h COPYONLY) - -include_directories(${CMAKE_CURRENT_BINARY_DIR}/zlib-inc ${CMAKE_CURRENT_BINARY_DIR}/zlib-src) - #============================================================================ # zlib #============================================================================ add_library(zlibstatic STATIC ${ZLIB_SOURCES} ${ZLIB_PUBLIC_HDRS}) + +get_property(ZLIB_TARGET_INC TARGET zlibstatic PROPERTY INCLUDE_DIRECTORIES) +set_property(TARGET zlibstatic PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/zlib-inc;${CMAKE_CURRENT_BINARY_DIR}/zlib-src;${ZLIB_TARGET_INC}) diff --git a/thirdparty/libpng/libpng b/thirdparty/libpng similarity index 100% rename from thirdparty/libpng/libpng rename to thirdparty/libpng diff --git a/thirdparty/libpng/CMakeLists.txt b/thirdparty/libpng/CMakeLists.txt deleted file mode 100644 index 142c3809..00000000 --- a/thirdparty/libpng/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -project(libpng C) - -file(INSTALL ${CMAKE_CURRENT_SOURCE_DIR}/libpng/png.h ${CMAKE_CURRENT_SOURCE_DIR}/libpng/pngconf.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng/scripts/pnglibconf.h.prebuilt ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h) - -include_directories( - "${CMAKE_CURRENT_SOURCE_DIR}/libpng" - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/../libz -) - -file(GLOB SRCS libpng/*.c) -file(GLOB HDRS libpng/*.h) - -# -set(LIBTARGET "png") -# -add_library(${LIBTARGET} STATIC ${SRCS} ${HDRS}) -# -if(MSVC) - set_target_properties(${LIBTARGET} PROPERTIES PREFIX "lib") -endif(MSVC) -# -target_link_libraries(${LIBTARGET} ${Z_LIBNAME} ${M_LIBRARY}) -# -set_target_properties(${LIBTARGET} - PROPERTIES - OUTPUT_NAME "${LIBTARGET}" - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/thirdparty/lib) -#