ee1b2f53cc
Currently on Windows some dependencies are built with MinGW/GCC 3.x this commit removes that, in favor of building them with MSVC via msys2. This will make it easier in the future to offer Win/Arm64 builds of blender. Notable changes: - This change drops support for the external libxvid library in favor of ffmpegs built in support for this format. This has been done with permission from the VFX module. Pull Request: https://projects.blender.org/blender/blender/pulls/108983 https://projects.blender.org/blender/blender/pulls/105502
83 lines
2.3 KiB
CMake
83 lines
2.3 KiB
CMake
# SPDX-FileCopyrightText: 2020-2023 Blender Foundation
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
if(WIN32)
|
|
set(ISPC_EXTRA_ARGS_WIN
|
|
-DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe
|
|
-DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe
|
|
-DM4_EXECUTABLE=${DOWNLOAD_DIR}/msys2/msys64/usr/bin/m4.exe
|
|
-DARM_ENABLED=Off
|
|
-DPython3_FIND_REGISTRY=NEVER
|
|
)
|
|
elseif(APPLE)
|
|
# Use bison and flex installed via Homebrew.
|
|
# The ones that come with Xcode toolset are too old.
|
|
if(BLENDER_PLATFORM_ARM)
|
|
set(ISPC_EXTRA_ARGS_APPLE
|
|
-DBISON_EXECUTABLE=/opt/homebrew/opt/bison/bin/bison
|
|
-DFLEX_EXECUTABLE=/opt/homebrew/opt/flex/bin/flex
|
|
-DARM_ENABLED=On
|
|
)
|
|
else()
|
|
set(ISPC_EXTRA_ARGS_APPLE
|
|
-DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
|
|
-DFLEX_EXECUTABLE=/usr/local/opt/flex/bin/flex
|
|
-DARM_ENABLED=Off
|
|
)
|
|
endif()
|
|
elseif(UNIX)
|
|
set(ISPC_EXTRA_ARGS_UNIX
|
|
-DCMAKE_C_COMPILER=${LIBDIR}/llvm/bin/clang
|
|
-DCMAKE_CXX_COMPILER=${LIBDIR}/llvm/bin/clang++
|
|
-DARM_ENABLED=${BLENDER_PLATFORM_ARM}
|
|
-DFLEX_EXECUTABLE=${LIBDIR}/flex/bin/flex
|
|
)
|
|
endif()
|
|
|
|
set(ISPC_EXTRA_ARGS
|
|
-DISPC_NO_DUMPS=On
|
|
-DISPC_INCLUDE_EXAMPLES=Off
|
|
-DISPC_INCLUDE_TESTS=Off
|
|
-DLLVM_ROOT=${LIBDIR}/llvm/lib/cmake/llvm
|
|
-DLLVM_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
|
-DCLANG_EXECUTABLE=${LIBDIR}/llvm/bin/clang
|
|
-DCLANGPP_EXECUTABLE=${LIBDIR}/llvm/bin/clang++
|
|
-DISPC_INCLUDE_TESTS=Off
|
|
-DCLANG_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
|
-DCLANG_INCLUDE_DIRS=${LIBDIR}/llvm/include
|
|
-DPython3_ROOT_DIR=${LIBDIR}/python/
|
|
-DPython3_EXECUTABLE=${PYTHON_BINARY}
|
|
${ISPC_EXTRA_ARGS_WIN}
|
|
${ISPC_EXTRA_ARGS_APPLE}
|
|
${ISPC_EXTRA_ARGS_UNIX}
|
|
)
|
|
|
|
ExternalProject_Add(external_ispc
|
|
URL file://${PACKAGE_DIR}/${ISPC_FILE}
|
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
URL_HASH ${ISPC_HASH_TYPE}=${ISPC_HASH}
|
|
PREFIX ${BUILD_DIR}/ispc
|
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ispc/src/external_ispc < ${PATCH_DIR}/ispc.diff
|
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ispc -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ISPC_EXTRA_ARGS} ${BUILD_DIR}/ispc/src/external_ispc
|
|
INSTALL_DIR ${LIBDIR}/ispc
|
|
)
|
|
|
|
add_dependencies(
|
|
external_ispc
|
|
ll
|
|
external_python
|
|
)
|
|
|
|
if(WIN32)
|
|
add_dependencies(
|
|
external_ispc
|
|
external_flexbison
|
|
)
|
|
elseif(UNIX AND NOT APPLE)
|
|
add_dependencies(
|
|
external_ispc
|
|
external_flex
|
|
)
|
|
endif()
|