@@ -9,15 +9,20 @@ macro( CheckExitCodeAndExitIfError MSG)
99 endif ()
1010endmacro ( CheckExitCodeAndExitIfError )
1111
12+ set (filename "${CMAKE_BINARY_DIR} /fftw.zip" )
13+
1214if (CMAKE_SIZEOF_VOID_P EQUAL 4)
13- message ("Download FFTW for mingw32 " )
15+ message ("Download/Extract FFTW for 32bit " )
1416 if (NOT EXISTS "${CMAKE_BINARY_DIR} /fftw.zip" )
15- file (DOWNLOAD "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll32.zip" "${CMAKE_BINARY_DIR} /fftw.zip" SHOW_PROGRESS )
17+ # file(DOWNLOAD "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll32.zip" "${filename}" SHOW_PROGRESS)
18+ set (filename "${CMAKE_CURRENT_LIST_DIR} /fftw-3.3.5-dll32.zip" )
1619 endif ()
1720elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
18- message ("Download FFTW for mingw64" )
21+ set (LIBEXE_64 "/machine:x64" )
22+ message ("Download/Extract FFTW for 64bit" )
1923 if (NOT EXISTS "${CMAKE_BINARY_DIR} /fftw.zip" )
20- file (DOWNLOAD "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll64.zip" "${CMAKE_BINARY_DIR} /fftw.zip" SHOW_PROGRESS )
24+ # file(DOWNLOAD "ftp://ftp.fftw.org/pub/fftw/fftw-3.3.5-dll64.zip" "${filename}" SHOW_PROGRESS)
25+ set (filename "${CMAKE_CURRENT_LIST_DIR} /fftw-3.3.5-dll64.zip" )
2126 endif ()
2227else ()
2328 message (FATAL_ERROR "Target architecture not known" )
@@ -26,7 +31,7 @@ endif()
2631file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR} /fftw" )
2732
2833execute_process (
29- COMMAND ${CMAKE_COMMAND} -E tar xzf ${CMAKE_BINARY_DIR} /fftw.zip
34+ COMMAND ${CMAKE_COMMAND} -E tar xzf " ${filename} "
3035 WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /fftw"
3136 RESULT_VARIABLE ExitCode
3237)
@@ -35,10 +40,12 @@ CheckExitCodeAndExitIfError("tar")
3540get_filename_component (_vs_bin_path "${CMAKE_LINKER} " DIRECTORY )
3641
3742execute_process (
38- COMMAND "${_vs_bin_path} /lib.exe" /machine:x64 /def:${CMAKE_BINARY_DIR} /fftw/libfftw3-3.def /out:${CMAKE_BINARY_DIR} /fftw/libfftw3-3.lib
43+ COMMAND "${_vs_bin_path} /lib.exe" ${LIBEXE_64} /def:${CMAKE_BINARY_DIR} /fftw/libfftw3-3.def /out:${CMAKE_BINARY_DIR} /fftw/libfftw3-3.lib
3944 WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /fftw"
45+ OUTPUT_VARIABLE OutVar
46+ ERROR_VARIABLE ErrVar
4047 RESULT_VARIABLE ExitCode)
41- CheckExitCodeAndExitIfError("lib" )
48+ CheckExitCodeAndExitIfError("lib.exe: ${OutVar} ${ErrVar} " )
4249
4350target_link_libraries (${PROJECT_NAME} "${CMAKE_BINARY_DIR} /fftw/libfftw3-3.lib" )
4451target_include_directories (${PROJECT_NAME} PRIVATE "${CMAKE_BINARY_DIR} /fftw" )
0 commit comments