diff --git a/SuperBuild/CMake/External_curl.cmake b/SuperBuild/CMake/External_curl.cmake index ca006b1655eac7291df0fb0fa1427cea990aa5f3..22638af0d5867d1fa34ea97cc0f181dbf99b2acd 100644 --- a/SuperBuild/CMake/External_curl.cmake +++ b/SuperBuild/CMake/External_curl.cmake @@ -15,18 +15,11 @@ if(MSVC) return() endif() - execute_process( - COMMAND ${CMAKE_C_COMPILER} - ERROR_VARIABLE ev - OUTPUT_VARIABLE ov - OUTPUT_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if("${ev}" MATCHES "x86") - set(CURL_INSTALL_DIR_PREFIX "libcurl-vc-x86") - else() - set(CURL_INSTALL_DIR_PREFIX "libcurl-vc-x64") - endif() +if("${OTB_MSVC_COMPILER_ARCH}" MATCHES "x86") + set(CURL_INSTALL_DIR_PREFIX "libcurl-vc-x86") +else() + set(CURL_INSTALL_DIR_PREFIX "libcurl-vc-x64") +endif() set(CURL_INSTALL_DIR_PREFIX "${CURL_INSTALL_DIR_PREFIX}-release-dll-zlib-dll-ipv6-sspi-winssl") diff --git a/SuperBuild/CMake/External_gdal.cmake b/SuperBuild/CMake/External_gdal.cmake index 05ec5dde9d48d32294e9f6289443cda21dfa314c..70dcc676d58e2af1b0e946b7d8911df09e9db908 100644 --- a/SuperBuild/CMake/External_gdal.cmake +++ b/SuperBuild/CMake/External_gdal.cmake @@ -89,6 +89,12 @@ if(UNIX) #set(GDAL_INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install) else(MSVC) + if("${OTB_MSVC_COMPILER_ARCH}" MATCHES "x86") + set(BUILDING_WIN64 "NO") + else() + set(BUILDING_WIN64 "YES") + endif() + STRING(REGEX REPLACE "/$" "" CMAKE_WIN_INSTALL_PREFIX ${SB_INSTALL_PREFIX}) STRING(REGEX REPLACE "/" "\\\\" CMAKE_WIN_INSTALL_PREFIX ${CMAKE_WIN_INSTALL_PREFIX}) configure_file(${CMAKE_SOURCE_DIR}/patches/GDAL/nmake_gdal_extra.opt.in ${CMAKE_BINARY_DIR}/nmake_gdal_extra.opt) diff --git a/SuperBuild/CMakeLists.txt b/SuperBuild/CMakeLists.txt index 4a5593e774e6aec007c924de9fff709d5da4fabb..7056f8763d46d65639d2411f21770ad27e8ea25b 100644 --- a/SuperBuild/CMakeLists.txt +++ b/SuperBuild/CMakeLists.txt @@ -22,6 +22,21 @@ if(APPLE) set(CMAKE_MACOSX_RPATH TRUE) endif() +if(MSVC) + execute_process( + COMMAND ${CMAKE_C_COMPILER} + ERROR_VARIABLE ev + OUTPUT_VARIABLE ov + OUTPUT_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + set(OTB_MSVC_COMPILER_ARCH x64) + if("${ev}" MATCHES "x86") + set(OTB_MSVC_COMPILER_ARCH x86) + endif() + +endif() + # use, i.e. don't skip the full RPATH for the build tree set(CMAKE_SKIP_BUILD_RPATH FALSE) # when building, don't use the install RPATH already diff --git a/SuperBuild/patches/GDAL/nmake_gdal_extra.opt.in b/SuperBuild/patches/GDAL/nmake_gdal_extra.opt.in index 733dc024b10dcef2cad3dfb06ba524b0a58e7ecd..d20fd9a62b414d7f2fcf70e99c4c17f09c85e04c 100644 --- a/SuperBuild/patches/GDAL/nmake_gdal_extra.opt.in +++ b/SuperBuild/patches/GDAL/nmake_gdal_extra.opt.in @@ -13,6 +13,10 @@ JPEG_SUPPORTED = 1 GDAL_HOME="@CMAKE_WIN_INSTALL_PREFIX@" +# Uncomment the following if you are building for 64-bit windows +# (x64). You'll need to have PATH, INCLUDE and LIB set up for 64-bit +# compiles. +WIN64=@BUILDING_WIN64@ #if using an external jpeg library uncomment the follwing lines JPEG_EXTERNAL_LIB = 1