From 08b4faef01da5207b1a864c90d1ca4353bd1e232 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Tue, 19 May 2020 12:28:19 -0600 Subject: Properly fix: T71040 / T58983 Ocean Modifier crashes at high resolutions For a more detailed description of the issue see the commit message for rB497cd3d7dd6e497be484eb78a8ddb23f53b20343 This change moves fftw to a shared library and reverts the bandaid we did for 2.83. --- build_files/build_environment/cmake/fftw.cmake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'build_files/build_environment') diff --git a/build_files/build_environment/cmake/fftw.cmake b/build_files/build_environment/cmake/fftw.cmake index 2d10cf6ad28..b359df2f47d 100644 --- a/build_files/build_environment/cmake/fftw.cmake +++ b/build_files/build_environment/cmake/fftw.cmake @@ -19,8 +19,12 @@ set(FFTW_EXTRA_ARGS) if(WIN32) - set(FFTW3_ENV set CFLAGS=-fno-stack-check -fno-stack-protector -mno-stack-arg-probe -fno-lto &&) set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff) + set(FFTW_EXTRA_ARGS --disable-static --enable-shared) + set(FFTW_INSTALL install-strip) +else() + set(FFTW_EXTRA_ARGS --enable-static) + set(FFTW_INSTALL install) endif() ExternalProject_Add(external_fftw3 @@ -28,10 +32,10 @@ ExternalProject_Add(external_fftw3 DOWNLOAD_DIR ${DOWNLOAD_DIR} URL_HASH MD5=${FFTW_HASH} PREFIX ${BUILD_DIR}/fftw3 - CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${FFTW3_ENV} cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/fftw3 + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} ${FFTW_EXTRA_ARGS} --prefix=${mingw_LIBDIR}/fftw3 PATCH_COMMAND ${FFTW3_PATCH_COMMAND} BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make install + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make ${FFTW_INSTALL} INSTALL_DIR ${LIBDIR}/fftw3 ) @@ -39,7 +43,8 @@ if(MSVC) set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw) if(BUILD_MODE STREQUAL Release) ExternalProject_Add_Step(external_fftw3 after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.dll.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/bin/libfftw3-3.dll ${HARVEST_TARGET}/fftw3/lib/libfftw3-3.dll COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h DEPENDEES install ) -- cgit v1.2.3