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
45 lines
1.2 KiB
CMake
45 lines
1.2 KiB
CMake
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
if(WIN32)
|
|
set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST})
|
|
endif()
|
|
|
|
if(BLENDER_PLATFORM_ARM)
|
|
set(X264_EXTRA_ARGS ${X264_EXTRA_ARGS} "--disable-asm")
|
|
endif()
|
|
|
|
if((APPLE AND NOT BLENDER_PLATFORM_ARM) OR (UNIX AND NOT APPLE))
|
|
set(X264_CONFIGURE_ENV
|
|
export AS=${LIBDIR}/nasm/bin/nasm
|
|
)
|
|
else()
|
|
set(X264_CONFIGURE_ENV echo .)
|
|
endif()
|
|
|
|
ExternalProject_Add(external_x264
|
|
URL file://${PACKAGE_DIR}/${X264_FILE}
|
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
URL_HASH ${X264_HASH_TYPE}=${X264_HASH}
|
|
PREFIX ${BUILD_DIR}/x264
|
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${X264_CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ &&
|
|
${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
|
--enable-static
|
|
--enable-pic
|
|
--disable-lavf
|
|
${X264_EXTRA_ARGS}
|
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make -j${MAKE_THREADS}
|
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make install
|
|
INSTALL_DIR ${LIBDIR}/x264
|
|
)
|
|
|
|
if(MSVC)
|
|
set_target_properties(external_x264 PROPERTIES FOLDER Mingw)
|
|
endif()
|
|
|
|
if(UNIX)
|
|
add_dependencies(
|
|
external_x264
|
|
external_nasm
|
|
)
|
|
endif()
|