diff options
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/build_environment/cmake/gmp.cmake | 7 | ||||
-rw-r--r-- | build_files/build_environment/cmake/versions.cmake | 4 | ||||
-rw-r--r-- | build_files/cmake/macros.cmake | 23 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_unix.cmake | 2 |
4 files changed, 33 insertions, 3 deletions
diff --git a/build_files/build_environment/cmake/gmp.cmake b/build_files/build_environment/cmake/gmp.cmake index dbcce12d24b..6ca81678a32 100644 --- a/build_files/build_environment/cmake/gmp.cmake +++ b/build_files/build_environment/cmake/gmp.cmake @@ -38,6 +38,13 @@ elseif(UNIX AND NOT APPLE) ) endif() +if(BLENDER_PLATFORM_ARM) + set(GMP_OPTIONS + ${GMP_OPTIONS} + --disable-assembly + ) +endif() + ExternalProject_Add(external_gmp URL file://${PACKAGE_DIR}/${GMP_FILE} DOWNLOAD_DIR ${DOWNLOAD_DIR} diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index c758dbd265e..f2c245dc380 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -474,9 +474,9 @@ set(ISPC_HASH 2e3abedbc0ea9aaec17d6562c632454d) set(ISPC_HASH_TYPE MD5) set(ISPC_FILE ispc-${ISPC_VERSION}.tar.gz) -set(GMP_VERSION 6.2.1) +set(GMP_VERSION 6.2.0) set(GMP_URI https://gmplib.org/download/gmp/gmp-${GMP_VERSION}.tar.xz) -set(GMP_HASH 0b82665c4a92fd2ade7440c13fcaa42b) +set(GMP_HASH a325e3f09e6d91e62101e59f9bda3ec1) set(GMP_HASH_TYPE MD5) set(GMP_FILE gmp-${GMP_VERSION}.tar.xz) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 25a8b66af51..34c2c9a684d 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -1292,6 +1292,29 @@ macro(openmp_delayload endif() endmacro() +macro(blender_precompile_headers target cpp header) + if(MSVC) + # get the name for the pch output file + get_filename_component(pchbase ${cpp} NAME_WE) + set(pchfinal "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${pchbase}.pch") + + # mark the cpp as the one outputting the pch + set_property(SOURCE ${cpp} APPEND PROPERTY OBJECT_OUTPUTS "${pchfinal}") + + # get all sources for the target + get_target_property(sources ${target} SOURCES) + + # make all sources depend on the pch to enforce the build order + foreach(src ${sources}) + set_property(SOURCE ${src} APPEND PROPERTY OBJECT_DEPENDS "${pchfinal}") + endforeach() + + target_sources(${target} PRIVATE ${cpp} ${header}) + set_target_properties(${target} PROPERTIES COMPILE_FLAGS "/Yu${header} /Fp${pchfinal} /FI${header}") + set_source_files_properties(${cpp} PROPERTIES COMPILE_FLAGS "/Yc${header} /Fp${pchfinal}") + endif() +endmacro() + macro(set_and_warn_dependency _dependency _setting _val) # when $_dependency is disabled, forces $_setting = $_val diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 0aaec3083a3..2f1a622c63d 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -18,7 +18,7 @@ # All rights reserved. # ***** END GPL LICENSE BLOCK ***** -# Libraries configuration for any *nix system including Linux and Unix (excluding APPLE). +# Libraries configuration for any *nix system including Linux and Unix. # Detect precompiled library directory if(NOT DEFINED LIBDIR) |