CMakeLists.txt 15.8 KB
Newer Older
1
#
Julien Michel's avatar
Julien Michel committed
2
# Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#
# This file is part of Orfeo Toolbox
#
#     https://www.orfeo-toolbox.org/
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

21
cmake_minimum_required(VERSION 3.3.0)
22 23 24

project(OTB-SuperBuild)

25 26 27 28
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

29
# Path to additional CMake modules
30
#MESSAGE(INFO "${CMAKE_SOURCE_DIR}")
31 32
set(CMAKE_MODULE_PATH
    ${CMAKE_SOURCE_DIR}/CMake
33
    ${CMAKE_SOURCE_DIR}/../CMake
34 35
    ${CMAKE_MODULE_PATH}
    )
36

37 38 39 40
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
  message(WARNING "The support of debug build in SuperBuild is incomplete, some dependencies such as NetCDF don't support it.")
endif()

41
include(ExternalProject)
42

43 44
# Not needed as OTB Superbuild requires c++14 since version 6.2
# include(OTBCheckCpp11Keywords)
45

46 47
include(OTBCheckTargetSystemArch)

48 49 50 51 52
set(LINUX FALSE)
if( "${CMAKE_SYSTEM_NAME}"  MATCHES "Linux")
  set(LINUX TRUE)
endif()

53
option(BUILD_SHARED_LIBS "Build OTB with shared libraries." ON)
54
option(BUILD_STATIC_LIBS "Build with static libraries." OFF)
55
option(BUILD_ALWAYS "Always build or install OTB." ON)
56
option(WITH_REMOTE_MODULES "Build with specific list of remote modules." OFF)
57
option(OTB_USE_OPENMP "use openmp" OFF)
58
set(OTB_ADDITIONAL_CACHE "" CACHE STRING "Additional cmake options for OTB with the syntax (semi-colon used as a separator): -D<var>:<type>=<value>;-D<var>:<type>=<value>")
59

60 61 62 63 64 65 66
if(APPLE)
  if(POLICY CMP0042)
    cmake_policy(SET CMP0042 NEW)
  endif()
  set(CMAKE_MACOSX_RPATH TRUE)
endif()

67 68 69 70 71 72 73 74 75 76 77 78 79 80
# 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
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# the RPATH to be used when installing, but only if it's not a system directory
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
if("${isSystemDir}" STREQUAL "-1")
  set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
endif("${isSystemDir}" STREQUAL "-1")
81

82
# TODO BUILD_TESTING is created by default by CTest.cmake, and is ON by default.
83
option(BUILD_TESTING "Build the testing tree." OFF)
84

85
include(CTest)
86
include(SuperBuild_Macro)
87

88 89 90 91 92
# Configure location where source tar-balls are downloaded
find_path(DOWNLOAD_LOCATION
  NAMES OTBSuperBuild.readme
  HINTS $ENV{DOWNLOAD_LOCATION} "${CMAKE_CURRENT_BINARY_DIR}/Downloads"
  )
93

94
# General options
95 96 97 98 99 100 101 102 103 104
option(OTB_DATA_USE_LARGEINPUT "Use Large inputs images test." OFF)
mark_as_advanced(OTB_DATA_USE_LARGEINPUT)
if(OTB_DATA_USE_LARGEINPUT)
  find_path(OTB_DATA_LARGEINPUT_ROOT
    NAMES OTBData.readme
    HINTS $ENV{OTB_DATA_LARGEINPUT_ROOT}
  )
  mark_as_advanced(OTB_DATA_LARGEINPUT_ROOT)
endif()

105
option(BUILD_EXAMPLES " Build the OTB Examples directory" OFF)
106

107
option(USE_DEFAULT_INSTALL_PREFIX "Install superbuild to default prefix /usr/local for unix" OFF)
108

109 110 111 112 113 114 115 116 117 118
#get version of OTB from source_dir/CMakeLists.txt
get_version(
  INPUT_FILE   "${CMAKE_SOURCE_DIR}/../CMakeLists.txt"
  MATCH_STRINGS "OTB_VERSION_MAJOR" "OTB_VERSION_MINOR" "OTB_VERSION_PATCH"
  PREFIX SUPERBUILD
  )

set(SUPERBUILD_OTB_VERSION "${SUPERBUILD_OTB_VERSION_MAJOR}.${SUPERBUILD_OTB_VERSION_MINOR}.${SUPERBUILD_OTB_VERSION_PATCH}")

message("OTB version : ${SUPERBUILD_OTB_VERSION}")
119

120
# Special setting for low kernel versions
121 122
if(UNIX)
  option(USE_LOW_KERNEL_VERSION "Try to keep the minimal kernel version as low as possible" ON)
123 124 125 126
endif()


# Default install prefix
127
get_filename_component(PARENT_OF_BINARY_DIR ${CMAKE_BINARY_DIR} PATH)
128
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT USE_DEFAULT_INSTALL_PREFIX)
129 130 131 132 133 134 135 136
  set (CMAKE_INSTALL_PREFIX
    "${PARENT_OF_BINARY_DIR}/superbuild_install"
    CACHE
    PATH
    "default install path for superbuild"
    FORCE )
endif()

137 138
set(SB_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})

139
file(TO_NATIVE_PATH "${SB_INSTALL_PREFIX}" SB_INSTALL_PREFIX_NATIVE)
140

141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
# Check if CMAKE_INSTALL_PREFIX is set by default
if(WIN32)
  if(CMAKE_INSTALL_PREFIX STREQUAL "C:/Program Files (x86)/OTB-SuperBuild"
     OR CMAKE_INSTALL_PREFIX STREQUAL "C:/Program Files/OTB-SuperBuild")
    message(WARNING
      "The CMAKE_INSTALL_PREFIX variable seems to be set by default : "
      "${CMAKE_INSTALL_PREFIX}. Be aware that this directory will be used"
      " during the build (even without calling the install target). Please "
      "make sure you want to use this directory as the SuperBuild output.")
  endif()
elseif(UNIX)
  if(CMAKE_INSTALL_PREFIX STREQUAL "/usr/local")
    message(WARNING
      "The CMAKE_INSTALL_PREFIX variable seems to be set by default : "
      "${CMAKE_INSTALL_PREFIX}. Be aware that this directory will be used"
      " during the build (even without calling the install target). Please "
      "make sure you want to use this directory as the SuperBuild output.")
  endif()
endif()

161 162 163 164
if(NOT CMAKE_BUILD_TYPE)
  message(STATUS "CMake build type is none. Setting it to Release")
  set(CMAKE_BUILD_TYPE Release)
endif()
165

166
if(MSVC)
167
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE")
168 169
  if(MSVC_VERSION GREATER 1310)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
170
  endif()
171 172
endif()

173 174 175 176 177
if(DEFINED ENV{CMAKE_PREFIX_PATH})
  set(SB_CMAKE_PREFIX_PATH "$ENV{CMAKE_PREFIX_PATH};${SB_INSTALL_PREFIX}")
else()
  set(SB_CMAKE_PREFIX_PATH "${SB_INSTALL_PREFIX}")
endif()
178

179 180
list(REMOVE_DUPLICATES SB_CMAKE_PREFIX_PATH)

181 182 183 184
set(SB_CMAKE_CACHE_ARGS)
list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}")
list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_INSTALL_PREFIX:PATH=${SB_INSTALL_PREFIX}")
list(APPEND SB_CMAKE_CACHE_ARGS "-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}")
185
list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_PREFIX_PATH:PATH=${SB_CMAKE_PREFIX_PATH}")
186 187

if(APPLE)
188
  list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_MACOSX_RPATH:BOOL=${CMAKE_MACOSX_RPATH}")
189 190 191
endif()

if(UNIX)
192 193 194
  list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_SKIP_BUILD_RPATH:BOOL=${CMAKE_SKIP_BUILD_RPATH}")
  list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=${CMAKE_BUILD_WITH_INSTALL_RPATH}")
  list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=${CMAKE_INSTALL_RPATH_USE_LINK_PATH}")
195
  list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_INSTALL_RPATH:PATH=${CMAKE_INSTALL_RPATH}")
196
endif()
197

198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
foreach(cmake_var
    CMAKE_C_FLAGS
    CMAKE_CXX_FLAGS
    CMAKE_EXE_LINKER_FLAGS
    CMAKE_SHARED_LINKER_FLAGS
    CMAKE_MODULE_LINKER_FLAGS
    CMAKE_STATIC_LINKER_FLAGS
    )
  if(${cmake_var})
    list(APPEND SB_CMAKE_CACHE_ARGS "-D${cmake_var}:STRING=${${cmake_var}}")
    list(APPEND SB_CMAKE_CACHE_ARGS "-D${cmake_var}:STRING=${${cmake_var}}")
  endif()
endforeach()

if(CMAKE_VERBOSE_MAKEFILE)
  list(APPEND SB_CMAKE_CACHE_ARGS "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON")
endif()

216
set(SB_CMAKE_ARGS "-G${CMAKE_GENERATOR}")
217 218 219 220 221 222 223 224 225 226 227 228 229

set(SB_CONFIGURE_ARGS)

list(APPEND SB_CONFIGURE_ARGS "--prefix=${CMAKE_INSTALL_PREFIX}")

if(BUILD_SHARED_LIBS)
  list(APPEND SB_CONFIGURE_ARGS "--enable-static=no")
  list(APPEND SB_CONFIGURE_ARGS "--enable-shared=yes")
else()
  list(APPEND SB_CONFIGURE_ARGS "--enable-static=yes")
  list(APPEND SB_CONFIGURE_ARGS "--enable-shared=no")
endif()

230 231 232 233 234 235
if(CMAKE_BUILD_TYPE MATCHES "Debug")
  list(APPEND SB_CONFIGURE_ARGS "--enable-debug=yes")
else()
  list(APPEND SB_CONFIGURE_ARGS "--enable-debug=no")
endif()

236
if(UNIX)
237 238
  set(SB_CMAKE_COMMAND env CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${CMAKE_COMMAND} ${SB_CMAKE_ARGS})
  set(SB_ENV_CONFIGURE_CMD env CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER})
239
  message(STATUS "Environment setup for Configure (SB_ENV_CONFIGURE_CMD): ${SB_ENV_CONFIGURE_CMD}")
Rashad Kanavath's avatar
Rashad Kanavath committed
240
else()
241
  #windows
242
  set(SB_CMAKE_COMMAND ${CMAKE_COMMAND})
Rashad Kanavath's avatar
Rashad Kanavath committed
243
endif()
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262

if(CMAKE_C_FLAGS)
  list(APPEND SB_ENV_CONFIGURE_CMD "CFLAGS=${CMAKE_C_FLAGS}")
endif()
if(CMAKE_CXX_FLAGS)
  list(APPEND SB_ENV_CONFIGURE_CMD "CXXFLAGS=${CMAKE_CXX_FLAGS}")
endif()
if(CMAKE_EXE_LINKER_FLAGS)
  list(APPEND SB_ENV_CONFIGURE_CMD "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}")
endif()
if(CMAKE_SHARED_LINKER_FLAGS)
  list(APPEND SB_ENV_CONFIGURE_CMD "LDFLAGS=${CMAKE_SHARED_LINKER_FLAGS}")
endif()
if(CMAKE_MODULE_LINKER_FLAGS)
  list(APPEND SB_ENV_CONFIGURE_CMD "LDFLAGS=${CMAKE_MODULE_LINKER_FLAGS}")
endif()

list(REMOVE_DUPLICATES SB_ENV_CONFIGURE_CMD)

263
message(STATUS "Environment setup for CMake (SB_CMAKE_COMMAND) : ${SB_CMAKE_COMMAND}")
Rashad Kanavath's avatar
Rashad Kanavath committed
264

265 266
set(FROM_SYSTEM_LIST)
set(FROM_SUPERBUILD_LIST)
267

Rashad Kanavath's avatar
MRG  
Rashad Kanavath committed
268
#TODO: enforce check from ITK on directory length
269
# Setup third parties
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
option(USE_SYSTEM_ZLIB "Use a system build of zlib" OFF)
option(USE_SYSTEM_JPEG "Use a system build of JPEG" OFF)
option(USE_SYSTEM_EXPAT "Use a system build of expat" OFF)
option(USE_SYSTEM_PNG "Use a system build of libpng" OFF)
option(USE_SYSTEM_TIFF "Use a system build of libtiff" OFF)
option(USE_SYSTEM_PROJ  "Use a system build of Proj.4" OFF)
option(USE_SYSTEM_GEOTIFF  "Use a system build of GeoTIFF" OFF)
option(USE_SYSTEM_SQLITE  "Use a system build of sqlite" OFF)
option(USE_SYSTEM_GEOS "Use a system build of GEOS" OFF)
option(USE_SYSTEM_OPENJPEG "Use a system build of OpenJPEG" OFF)
option(USE_SYSTEM_BOOST "Use a system build of Boost" OFF)
option(USE_SYSTEM_LIBKML  "Use a system build of LibKML" OFF)
option(USE_SYSTEM_CURL  "Use a system build of cURL" OFF)
option(USE_SYSTEM_OPENSSL  "Use a system build of OpenSSL" OFF)
option(USE_SYSTEM_GDAL "Use a system build of GDAL" OFF)
option(USE_SYSTEM_FFTW "Use a system build of FFTW" OFF)
option(USE_SYSTEM_ITK "Use a system build of ITK" OFF)
option(USE_SYSTEM_OPENTHREADS  "Use a system build of OpenThreads" OFF)
288
option(USE_SYSTEM_OSSIM  "Use a system build of OSSIM" OFF)
289 290 291 292 293 294 295
option(USE_SYSTEM_MUPARSER  "Use a system build of muParser" OFF)
option(USE_SYSTEM_MUPARSERX "Use a system build of  muParserX" OFF)
option(USE_SYSTEM_TINYXML  "Use a system build of TinyXML" OFF)
option(USE_SYSTEM_OPENCV  "Use a system build of OpenCV" OFF)
option(USE_SYSTEM_LIBSVM  "Use a system build of libsvm" OFF)
option(USE_SYSTEM_PCRE "Use a system build of PCRE" ON)
option(USE_SYSTEM_SWIG "Use a system build of swig" ON)
296
option(USE_SYSTEM_QT5 "Use a system build of QT5"  OFF)
297 298 299 300 301 302
option(USE_SYSTEM_QWT  "Use a system build of Qwt" OFF)
option(USE_SYSTEM_GLEW  "Use a system build of GLEW" OFF)
option(USE_SYSTEM_GLFW  "Use a system build of glfw" OFF)
option(USE_SYSTEM_GLUT  "Use a system build of glut" OFF)
option(USE_SYSTEM_FREETYPE "Use a system build of freetype" OFF)
option(USE_SYSTEM_SHARK "Use a system build of Shark" OFF)
303 304 305
option(USE_SYSTEM_HDF4 "Use a system build of HDF4" OFF)
option(USE_SYSTEM_HDF5 "Use a system build of HDF5" OFF)
option(USE_SYSTEM_NETCDF "Use a system build of NetCDF" OFF)
Manuel Grizonnet's avatar
Manuel Grizonnet committed
306
option(USE_SYSTEM_GSL "Use a system build of GSL" OFF)
307 308

# Call OTB
309 310
option(OTB_USE_6S "Enable module 6S in OTB" ON)
option(OTB_USE_CURL "Enable module Curl in OTB" ON)
311 312 313 314 315 316
#RK: disabled libkml. problems on windows msvc
if(MSVC)
  option(OTB_USE_LIBKML "Enable module libKML in OTB" OFF)
else()
  option(OTB_USE_LIBKML "Enable module libKML in OTB" ON)
endif()
317 318 319 320
option(OTB_USE_LIBSVM "Enable module libSVM in OTB" ON)
option(OTB_USE_MUPARSER "Enable module muparser in OTB" ON)
option(OTB_USE_MUPARSERX "Enable module muparserX in OTB" ON)
option(OTB_USE_OPENCV "Enable module OpenCV in OTB" ON)
321
option(OTB_USE_QT "Enable module QT5 in OTB" ON)
322
option(OTB_USE_SIFTFAST "Enable module Siftfast in OTB" ON)
323 324
option(OTB_USE_OPENGL "Enable module OpenGL in OTB" ON)
option(OTB_USE_GLEW "Enable module GLEW in OTB" ON)
325

Manuel Grizonnet's avatar
Manuel Grizonnet committed
326
#Cannot activate GLUT on OSX. See Mantis issue #1194")
327
# do not activate GLFW by default on osx. see failing test
328
# https://dash.orfeo-toolbox.org/testDetails.php?test=59844554&build=287120
329 330
if(APPLE)
  option(OTB_USE_GLUT "Enable module GLUT in OTB" OFF)
331
  option(OTB_USE_GLFW "Enable module GLFW in OTB" OFF)
332 333
else()
  option(OTB_USE_GLUT "Enable module GLUT in OTB" ON)
334
  option(OTB_USE_GLFW "Enable module GLFW in OTB" ON)
335 336
endif()

337
option(OTB_USE_SHARK "Enable module Shark in OTB" ON)
338 339
include (CMakeDependentOption)
CMAKE_DEPENDENT_OPTION( OTB_USE_QWT "Enable module QWT in OTB" ON "OTB_USE_QT" OFF)
340
option(OTB_USE_GSL "Enable module GSL in OTB" ON)
341

342 343 344
option(OTB_USE_MPI "Enable MPI in OTB" OFF)
option(OTB_USE_SPTW "Enable Simple Parallel Tiff Writer in OTB" OFF)

345
# set OTB_DATA_ROOT to run test
346 347 348 349
find_path(OTB_DATA_ROOT README-OTB-Data
  PATHS
  $ENV{OTB_DATA_ROOT}
  ${OTB-SuperBuild_SOURCE_DIR}/../../OTB-Data)
350

351
# SWIG Wrapping
352
option(OTB_WRAP_PYTHON "Enable python wrappers for OTB applications (requires SWIG)" ON)
353
option(OTB_WRAP_JAVA "Enable java wrappers for OTB applications (requires SWIG)" OFF)
354

355 356 357
configure_file(${CMAKE_SOURCE_DIR}/CMake/CTestCustom.cmake.in
  ${CMAKE_BINARY_DIR}/CTestCustom.cmake @ONLY)

358
# do a system checkup
359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376
if (NOT EXISTS "${CMAKE_BINARY_DIR}/CMake/SystemCheckup")
  file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/CMake/SystemCheckup")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR}/CMake/SystemCheckup
                WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMake/SystemCheckup
                OUTPUT_QUIET
                ERROR_QUIET)
file(STRINGS "${CMAKE_BINARY_DIR}/CMake/SystemCheckup/SystemCheckupResult.txt" _SYSTEM_CHECKUP_CONTENT)
message(STATUS "|----------------------------------------------------------")
message(STATUS "|----------------- System checkup results -----------------")
message(STATUS "| The following libraries have been found on your system.")
message(STATUS "| You can choose to use them (instead of superbuild versions)")
message(STATUS "| by setting the corresponding option USE_SYSTEM_XXX.")
message(STATUS "|----------------------------------------------------------")
foreach(lib ${_SYSTEM_CHECKUP_CONTENT})
  message(STATUS "| ${lib}")
  message(STATUS "|----------------------------------------------------------")
endforeach()
377

378 379 380 381 382
# Python
# This should set the following variables (and more):
#   -PYTHON_EXECUTABLE
#   -PYTHON_INCLUDE_DIR
#   -PYTHON_LIBRARY
Antoine Regimbeau's avatar
Antoine Regimbeau committed
383 384 385 386 387
set ( Python_ADDITIONAL_VERSIONS "3;2" )
set ( PythonInterp_FIND_REQUIRED ${OTB_WRAP_PYTHON} )
set ( PythonLibs_FIND_REQUIRED ${OTB_WRAP_PYTHON} )
find_package( PythonInterp )
if ( OTB_WRAP_PYTHON AND ( ${PYTHON_VERSION_MAJOR} EQUAL 2 ) )
388 389 390
    message (WARNING "Python3 not found. There is no longer support of \
    wrapping in python2 in OTB, but it can still be used.")
endif()
Antoine Regimbeau's avatar
Antoine Regimbeau committed
391 392
set (Python_ADDITIONAL_VERSIONS "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
find_package ( PythonLibs )
393

394 395
include(External_otb)

396 397
if(FROM_SYSTEM_LIST)
  list(SORT FROM_SYSTEM_LIST)
398
  foreach( item ${FROM_SYSTEM_LIST})
399
    message(STATUS "Using system version of ${item}")
400
  endforeach()
401 402 403 404
endif()

if(FROM_SUPERBUILD_LIST)
  list(SORT FROM_SUPERBUILD_LIST)
405
  foreach( item ${FROM_SUPERBUILD_LIST})
406
    message(STATUS "Using SuperBuild version of ${item}")
407
  endforeach()
408
endif()
409

410 411
message(STATUS "OTB_TARGET_SYSTEM_ARCH=${OTB_TARGET_SYSTEM_ARCH}")
message(STATUS "OTB_TARGET_SYSTEM_ARCH_IS_X64=${OTB_TARGET_SYSTEM_ARCH_IS_X64}")
412

413
if(DOWNLOAD_LOCATION)
414
  message(STATUS "DOWNLOAD_LOCATION=${DOWNLOAD_LOCATION}")
415 416 417 418
  message(STATUS "Source archives for dependencies will be taken from '${DOWNLOAD_LOCATION}'")
else()
  message(STATUS "DOWNLOAD_LOCATION is not set. We will download all source archives during build!")
endif()
419

420
message(STATUS "SuperBuild will be installed to ${CMAKE_INSTALL_PREFIX}")
421
message(STATUS "To install to a different directory, re-run cmake -DCMAKE_INSTALL_PREFIX=/your/preferred/path")