Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
33 lines
930 B
CMake
33 lines
930 B
CMake
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
set(PNG_EXTRA_ARGS
|
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
-DPNG_STATIC=ON
|
|
)
|
|
|
|
if(BLENDER_PLATFORM_ARM)
|
|
set(PNG_EXTRA_ARGS ${PNG_EXTRA_ARGS} -DPNG_HARDWARE_OPTIMIZATIONS=ON -DPNG_ARM_NEON=on -DCMAKE_SYSTEM_PROCESSOR="aarch64")
|
|
endif()
|
|
|
|
ExternalProject_Add(external_png
|
|
URL file://${PACKAGE_DIR}/${PNG_FILE}
|
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
URL_HASH ${PNG_HASH_TYPE}=${PNG_HASH}
|
|
PREFIX ${BUILD_DIR}/png
|
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS}
|
|
INSTALL_DIR ${LIBDIR}/png
|
|
)
|
|
|
|
add_dependencies(
|
|
external_png
|
|
external_zlib
|
|
)
|
|
|
|
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
|
ExternalProject_Add_Step(external_png after_install
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT}
|
|
DEPENDEES install
|
|
)
|
|
endif()
|