set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)

vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO blender/blender
    REF "v${VERSION}"
    SHA512 7623db8a3927f2311c15755183634048dde0eda42cd04adf1e21aa06465cc636ba3fba242c1f77dbdf9d2703ff3ba238975fea7d4c11c1d5c30aa547c6a6bd36
    HEAD_REF master
    PATCHES
        metal.patch
        smid.patch
        python.patch
        fix_dep.patch
        fix_openexr.patch
        fix_apple.patch
        fix_epoxy.patch
        fix_windows.patch
        dynamic-internal-libs.patch
        gl.patch
        static_md_macros.patch
        static_md_creator.patch
        find_vulkan.patch
)

if(VCPKG_TARGET_IS_WINDOWS)
    vcpkg_find_acquire_program(PYTHON3)
    get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
    vcpkg_add_to_path("${PYTHON3_DIR}")
    set(BLENDER_PY_DIR "${SOURCE_PATH}/lib/windows_x64/python/311/bin")
    file(MAKE_DIRECTORY "${BLENDER_PY_DIR}")
    file(COPY "${PYTHON3_DIR}/" DESTINATION "${BLENDER_PY_DIR}")
    file(RENAME "${BLENDER_PY_DIR}/python.exe" "${BLENDER_PY_DIR}/python_d.exe")
    file(COPY_FILE "${PYTHON3_DIR}/python.exe" "${BLENDER_PY_DIR}/python.exe")
endif()

vcpkg_find_acquire_program(PKGCONFIG)
set(ENV{PKG_CONFIG} "${PKGCONFIG}")

vcpkg_cmake_configure(
    SOURCE_PATH "${SOURCE_PATH}"
    OPTIONS
        "-DVCPKG_CURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}"
        -DPKG_CONFIG_USE_STATIC_LIBS=ON
        -DENABLE_MSYS2=OFF
        -DMSYS2_USE_UPSTREAM_PACKAGES=OFF
        -DFORCE_CHECK_HASH=OFF
        -DPACKAGE_USE_UPSTREAM_SOURCES=OFF
        -DBUILD_DEMOS=OFF
        -DSHARED_LIBRARY=OFF
        -DWITH_C=OFF
        -DWITH_DOCS=OFF
        -DWITH_FFMPEG=OFF
        -DWITH_FFTW=OFF
        -DWITH_JACK=OFF
        -DWITH_LIBSNDFILE=OFF
        -DWITH_OPENAL=OFF
        -DWITH_PYTHON=OFF
        -DWITH_SDL=OFF
        -DWITH_STRICT_DEPENDENCIES=OFF
        -DWITH_COREAUDIO=OFF
        -DWITH_PULSEAUDIO=OFF
        -DWITH_PIPEWIRE=OFF
        -DWITH_WASAPI=OFF
        -DWITH_BLENDER=ON
        -DWITH_BLENDER_THUMBNAILER=OFF
        -DWITH_INTERNATIONAL=OFF
        -DWITH_PYTHON_SECURITY=OFF
        -DWITH_PYTHON_SAFETY=OFF
        -DWITH_PYTHON_MODULE=OFF
        -DWITH_BUILDINFO=OFF
        -DWITH_UNITY_BUILD=OFF
        -DWITH_COMPILER_PRECOMPILED_HEADERS=OFF
        -DWITH_OPTIMIZED_BUILD_TOOLS=OFF
        -DWITH_IK_ITASC=OFF
        -DWITH_IK_SOLVER=OFF
        -DWITH_FFTW3=OFF
        -DWITH_PUGIXML=OFF
        -DWITH_BULLET=OFF
        -DWITH_SYSTEM_BULLET=OFF
        -DWITH_OPENCOLORIO=OFF
        -DWITH_XR_OPENXR=OFF
        -DWITH_GMP=OFF
        -DWITH_MANIFOLD=OFF
        -DWITH_OPENIMAGEDENOISE=OFF
        -DWITH_OPENSUBDIV=OFF
        -DWITH_POTRACE=OFF
        -DWITH_OPENVDB=OFF
        -DWITH_OPENVDB_BLOSC=OFF
        -DWITH_OPENVDB_3_ABI_COMPATIBLE=OFF
        -DWITH_NANOVDB=OFF
        -DWITH_HARU=OFF
        -DWITH_GHOST_DEBUG=OFF
        -DWITH_GHOST_SDL=OFF
        -DWITH_GHOST_X11=OFF
        -DWITH_GHOST_WAYLAND=OFF
        -DWITH_GHOST_WAYLAND_LIBDECOR=OFF
        -DWITH_GHOST_WAYLAND_DYNLOAD=OFF
        -DWITH_GHOST_XDND=OFF
        -DWITH_HEADLESS=OFF
        -DWITH_QUADRIFLOW=OFF
        -DWITH_AUDASPACE=OFF
        -DWITH_SYSTEM_AUDASPACE=OFF
        -DWITH_X11_XINPUT=OFF
        -DWITH_X11_XFIXES=OFF
        -DWITH_SYSTEM_FREETYPE=OFF
        -DWITH_SYSTEM_EIGEN3=OFF
        -DWITH_CPU_CHECK=OFF
        -DWITH_MOD_FLUID=OFF
        -DWITH_MOD_REMESH=OFF
        -DWITH_MOD_OCEANSIM=OFF
        -DWITH_UV_SLIM=OFF
        -DWITH_IMAGE_OPENEXR=OFF
        -DWITH_IMAGE_OPENJPEG=OFF
        -DWITH_IMAGE_CINEON=OFF
        -DWITH_IMAGE_WEBP=OFF
        -DWITH_CODEC_FFMPEG=OFF
        -DWITH_CODEC_SNDFILE=OFF
        -DWITH_ALEMBIC=OFF
        -DWITH_USD=OFF
        -DWITH_MATERIALX=OFF
        -DWITH_HYDRA=OFF
        -DWITH_FRIBIDI=OFF
        -DWITH_HARFBUZZ=OFF
        -DWITH_OPENCOLLADA=OFF
        -DWITH_IO_WAVEFRONT_OBJ=OFF
        -DWITH_IO_PLY=OFF
        -DWITH_IO_STL=OFF
        -DWITH_IO_FBX=OFF
        -DWITH_IO_GREASE_PENCIL=OFF
        -DWITH_JACK_DYNLOAD=OFF
        -DWITH_PULSEAUDIO_DYNLOAD=OFF
        -DWITH_PIPEWIRE_DYNLOAD=OFF
        -DWITH_LZO=OFF
        -DWITH_LZMA=OFF
        -DWITH_SYSTEM_LZO=OFF
        -DWITH_DRACO=OFF
        -DWITH_LIBMV=OFF
        -DWITH_LIBMV_SCHUR_SPECIALIZATIONS=OFF
        -DWITH_SYSTEM_GFLAGS=OFF
        -DWITH_SYSTEM_GLOG=OFF
        -DWITH_FREESTYLE=OFF
        -DWITH_LIBS_PRECOMPILED=OFF
        -DWITH_STATIC_LIBS=OFF
        -DWITH_INPUT_IME=OFF
        -DWITH_INPUT_NDOF=OFF
        -DWITH_INSTALL_PORTABLE=OFF
        -DWITH_PYTHON_INSTALL=OFF
        -DWITH_INSTALL_COPYRIGHT=OFF
        -DWITH_PYTHON_NUMPY=OFF
        -DWITH_PYTHON_INSTALL_NUMPY=OFF
        -DWITH_PYTHON_INSTALL_REQUESTS=OFF
        -DWITH_PYTHON_INSTALL_ZSTANDARD=OFF
        -DWITH_CPU_SIMD=OFF
        -DWITH_CYCLES=OFF
        -DWITH_CYCLES_OSL=OFF
        -DWITH_CYCLES_PATH_GUIDING=OFF
        -DWITH_CYCLES_EMBREE=OFF
        -DWITH_CYCLES_LOGGING=OFF
        -DWITH_CYCLES_DEBUG=OFF
        -DWITH_CYCLES_STANDALONE=OFF
        -DWITH_CYCLES_STANDALONE_GUI=OFF
        -DWITH_CYCLES_PRECOMPUTE=OFF
        -DWITH_CYCLES_HYDRA_RENDER_DELEGATE=OFF
        -DWITH_CYCLES_DEBUG_NAN=OFF
        -DWITH_CYCLES_NATIVE_ONLY=OFF
        -DWITH_CYCLES_KERNEL_ASAN=OFF
        -DWITH_CYCLES_TEST_OSL=OFF
        -DWITH_CYCLES_DEVICE_CUDA=OFF
        -DWITH_CYCLES_DEVICE_OPTIX=OFF
        -DWITH_CYCLES_CUDA_BINARIES=OFF
        -DWITH_CYCLES_CUDA_BUILD_SERIAL=OFF
        -DWITH_CUDA_DYNLOAD=OFF
        -DWITH_CYCLES_DEVICE_HIP=OFF
        -DWITH_CYCLES_HIP_BINARIES=OFF
        -DWITH_CYCLES_DEVICE_HIPRT=OFF
        -DWITH_CYCLES_DEVICE_METAL=OFF
        -DWITH_CYCLES_DEVICE_ONEAPI=OFF
        -DWITH_CYCLES_ONEAPI_BINARIES=OFF
        -DWITH_CYCLES_ONEAPI_HOST_TASK_EXECUTION=OFF
        -DWITH_DRAW_DEBUG=OFF
        -DWITH_LLVM=OFF
        -DLLVM_STATIC=OFF
        -DWITH_CLANG=OFF
        -DWITH_MEM_JEMALLOC=OFF
        -DWITH_MEM_VALGRIND=OFF
        -DWITH_ASSERT_ABORT=OFF
        -DWITH_ASSERT_RELEASE=OFF
        -DWITH_CLANG_TIDY=OFF
        -DWITH_BOOST=OFF
        -DWITH_TBB=OFF
        -DWITH_TBB_MALLOC_PROXY=OFF
        -DWITH_EXPERIMENTAL_FEATURES=OFF
        -DWITH_GTESTS=OFF
        -DWITH_GPU_RENDER_TESTS=OFF
        -DWITH_GPU_RENDER_TESTS_VULKAN=OFF
        -DWITH_GPU_RENDER_TESTS_HEADED=OFF
        -DWITH_GPU_BACKEND_TESTS=OFF
        -DWITH_GPU_DRAW_TESTS=OFF
        -DWITH_GPU_COMPOSITOR_TESTS=OFF
        -DWITH_GPU_MESH_PAINT_TESTS=OFF
        -DWITH_UI_TESTS=OFF
        -DWITH_UI_TESTS_HEADLESS=OFF
        -DWITH_LINUX_OFFICIAL_RELEASE_TESTS=OFF
        -DWITH_TESTS_EXPERIMENTAL=OFF
        -DWITH_TESTS_BATCHED=OFF
        -DWITH_TESTS_SINGLE_BINARY=OFF
        -DWITH_SYSTEM_PYTHON_TESTS=OFF
        -DWITH_DOC_MANPAGE=OFF
        -DWITH_RENDERDOC=OFF
        -DWITH_GPU_SHADER_ASSERT=OFF
        -DWITH_GPU_SHADER_CPP_COMPILATION=OFF
        -DWITH_OPENGL_BACKEND=OFF
        -DWITH_VULKAN_BACKEND=OFF
        -DWITH_VULKAN_MOLTENVK=OFF
        -DWITH_METAL_BACKEND=OFF
        -DWITH_STRSIZE_DEBUG=OFF
        -DWITH_LINKER_GOLD=OFF
        -DWITH_LINKER_LLD=OFF
        -DWITH_LINKER_MOLD=OFF
        -DWITH_COMPILER_ASAN=OFF
        -DWITH_COMPILER_ASAN_EXTERN=OFF
        -DWITH_COMPILER_CODE_COVERAGE=OFF
        -DWITH_COMPILER_SHORT_FILE_MACRO=OFF
        -DWITH_WINDOWS_FIND_MODULES=ON
        -DWITH_WINDOWS_BUNDLE_CRT=OFF
        -DWITH_WINDOWS_EXTERNAL_MANIFEST=OFF
        -DWITH_WINDOWS_SCCACHE=OFF
        -DWITH_WINDOWS_RELEASE_PDB=OFF
        -DWITH_WINDOWS_RELEASE_STRIPPED_PDB=OFF
        -DIDE_GROUP_SOURCES_IN_FOLDERS=OFF
        -DIDE_GROUP_PROJECTS_IN_FOLDERS=OFF
        -DWITH_COMPILER_CCACHE=OFF
        -DWITH_NINJA_POOL_JOBS=OFF
        -DWITH_LEGACY_MACOS_X64_LINKER=OFF
        -DWITH_STRICT_BUILD_OPTIONS=OFF
    OPTIONS_RELEASE
        "-DVCPKG_BLENDER_RUNTIME_DIR=${CURRENT_INSTALLED_DIR}/bin"
    OPTIONS_DEBUG
        "-DVCPKG_BLENDER_RUNTIME_DIR=${CURRENT_INSTALLED_DIR}/debug/bin"
)

vcpkg_cmake_install()
vcpkg_copy_pdbs()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
