diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6c980de29a23f4ef8a1824baba0b636023e44d9e..0000000000000000000000000000000000000000 --- a/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -# -# 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. -# - -language: cpp - -sudo: false -dist: trusty - -compiler: -- clang - -# addons: -# apt: -# packages: -# - libboost-all-dev - -cache: ccache - -branches: - only: - - nightly - -script: Utilities/Maintenance/TravisBuild.sh diff --git a/CI/copy_boost_dlls.bat b/CI/copy_boost_dlls.bat deleted file mode 100644 index a63a843c297abfeda96974d78a32f8502aaccece..0000000000000000000000000000000000000000 --- a/CI/copy_boost_dlls.bat +++ /dev/null @@ -1,20 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. - -MOVE C:\build\otb\xdk\lib\*.dll C:\build\otb\xdk\bin \ No newline at end of file diff --git a/CI/dev_env.bat b/CI/dev_env.bat deleted file mode 100644 index 43d5b0b8ab60df9678b7d114e5537316559baf2a..0000000000000000000000000000000000000000 --- a/CI/dev_env.bat +++ /dev/null @@ -1,115 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. - -@echo off -:: check input arguments -if %1.==. ( - echo "No arch" - call :Help - goto :eof -) - -if %2.==. ( - echo "No project" - call :Help - goto :eof -) - -if /I "%1"=="help" ( - call :Help - goto :eof -) - -if /I "%1"=="/help" ( - call :Help - goto :eof -) - -if /I "%1"=="-help" ( - call :Help - goto :eof -) - -set ARCH=%1 -set PROJECT=%2 - -if %3.==. ( - set SHORT_TARGET=10 -) else ( - set SHORT_TARGET=%3 -) - -if %4.==. ( - set VCVER=14.29 -) else ( - set VCVER=%4 -) - -set TARGET=%SHORT_TARGET% -if "%TARGET%"=="10" ( - set TARGET=10.0.17763.0 -) - -:: Setup home dir (so that ssh configuration works fine) -:: if "%USERNAME%"=="otbbot" ( - set HOMEDRIVE=C: - set HOMEPATH=\Users\otbbot -::) -echo Home dir: %HOMEDRIVE%%HOMEPATH% - -:: Setup Python -set PATH=C:\tools\Python310-%ARCH%;%PATH% -set PATH=C:\tools\Python310-%ARCH%\Scripts;%PATH% - -:: Setup GL dlls -set PATH=%PATH%;C:\tools\GL\%ARCH%\bin - -:: Setup compiler -call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" %ARCH% %TARGET% -vcvars_ver=%VCVER% - -:: Setup Clcache -set BUILDCACHE_DIR=C:\buildcache\%PROJECT%-%ARCH%-%TARGET%-%VCVER% - -if "%PROJECT%"=="xdk" ( - set BUILDCACHE_MAX_CACHE_SIZE=3000000000 -) -if "%PROJECT%"=="otb" ( - set BUILDCACHE_MAX_CACHE_SIZE=2000000000 -) -set PATH=C:\tools\buildcache\bin;%PATH% - -set IMAGE_NAME=windows-%SHORT_TARGET%-%ARCH%-vc%VCVER% -echo Generated IMAGE_NAME: %IMAGE_NAME% - -:: setup path to perl, but add it last ... (there is a libstdc++.dll in that folder...) -set PATH=%PATH%;C:\tools\perl\perl\bin - -goto :eof - -:Help -setlocal -echo "Usage: dev_env.bat <compiler_arch> <project> [<target-os> [<vc_version>]]" -echo " <compiler_arch> : 'x86' | 'x64'" -echo " <project> : 'xdk' | 'otb'" -echo " <target-os> : '8.1' | '10' (default)" -echo " <vc_version> :" -echo " '14.20' (i.e. VS 2019)" -echo " '14.16' (i.e. VS 2017)" -echo " '14.0' (i.e. VS 2015) (default)" -endlocal diff --git a/CI/headers_check.py b/CI/headers_check.py index 459c2c1a12257f85acdedd5fe122d208a5461dce..f9724f3ddb82736e1d44bf378851e4e80c8a8263 100755 --- a/CI/headers_check.py +++ b/CI/headers_check.py @@ -2,7 +2,7 @@ # # -*- coding: utf-8 -*- # -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) +# Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) # # This file is part of Orfeo Toolbox # @@ -53,6 +53,7 @@ fileext = { '.bash': 'shell', '.profile': 'shell', '.ps1': 'shell', + '.ps1.in': 'shell', '.py': 'shell', '.py.in': 'shell', '.cmake': 'shell', diff --git a/CI/windows-10-x64-vc14.29.cmake b/CI/windows-10-x64-vc14.29.cmake index 2c902ec86cc128701a519df6b770e210f9061a17..43e49b5b516b18b77caa041401293131ff4ee5dd 100644 --- a/CI/windows-10-x64-vc14.29.cmake +++ b/CI/windows-10-x64-vc14.29.cmake @@ -37,3 +37,12 @@ OTB_USE_OPENCV:BOOL=ON OTB_USE_OPENMP:BOOL=OFF OTB_USE_SHARK:BOOL=ON ") + +# As windows have a dumb dynamic linkage system, we need to use +# the XDK_INSTALL_PATH option to ensure dlls are copied from xdk to otb bin +# folder +if(XDK_INSTALL_PATH) + set(site_option +"XDK_INSTALL_PATH=${XDK_INSTALL_PATH} +${site_option}") +endif() diff --git a/CMake/OTBApplicationMacros.cmake b/CMake/OTBApplicationMacros.cmake index 7b90a50904b100a6dd31ec14ccdbdfc7bd8c6311..99809f780db7c60a5aa7cd55a6899eca04866ec9 100644 --- a/CMake/OTBApplicationMacros.cmake +++ b/CMake/OTBApplicationMacros.cmake @@ -1,5 +1,5 @@ # -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) +# Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) # # This file is part of Orfeo Toolbox # @@ -107,7 +107,7 @@ macro(otb_create_application) set(INTERMEDIATE_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}) set(SCRIPT_EXT "") if(WIN32) - set(SCRIPT_EXT ".bat") + set(SCRIPT_EXT ".ps1") endif() # ----- Create and install launcher scripts ------ @@ -165,6 +165,7 @@ macro(otb_test_application) endmacro() macro(otb_write_app_launcher) + # Produce vars APPLAUNCHER_NAME, APPLAUNCHER_OUTPUT, APPLAUNCHER_TYPE cmake_parse_arguments(APPLAUNCHER "" "NAME;OUTPUT;TYPE" "" ${ARGN} ) if("${APPLAUNCHER_TYPE}" STREQUAL "CLI") set(_launcher_type "otbcli") @@ -175,22 +176,24 @@ macro(otb_write_app_launcher) if(WIN32) # Launcher script in Batch format file(WRITE "${APPLAUNCHER_OUTPUT}" -"@echo off -:: -:: Autogenerated by OTB installation process -:: DO NOT MODIFY -:: -set CURRENT_SCRIPT_DIR=%~dp0 -if exist %CURRENT_SCRIPT_DIR%${_launcher_type}.bat ( - :: Prefer using the launcher inside the script dir - set OTB_LAUNCHER=%CURRENT_SCRIPT_DIR%${_launcher_type}.bat -) else ( - :: Use the one from the PATH - set OTB_LAUNCHER=${_launcher_type}.bat -) - -:: start the application -%OTB_LAUNCHER% ${APPLAUNCHER_NAME} %* +"# +# Autogenerated by OTB installation process +# DO NOT MODIFY +# + +$OTB_LAUNCHER=\"\" + +# Use the launcher inside the script dir, otherwise use the one in PATH +if (Test-Path \"$PSScriptRoot\\${_launcher_type}.ps1\" -PathType Leaf) { + $OTB_LAUNCHER = \"$PSScriptRoot\\${_launcher_type}.ps1\" +} +else { + $OTB_LAUNCHER = \"${_launcher_type}.ps1\" +} + +# As we are using another powershell script, execute it with the '. <path>' syntax +# Start application +. \"$OTB_LAUNCHER\" \"${APPLAUNCHER_NAME}\" $args ") else() # Launcher script in Shell format diff --git a/CMake/otbcli.bat.in b/CMake/otbcli.bat.in deleted file mode 100644 index 485a0517f6fa7c489a30543972d9cd0a316316f1..0000000000000000000000000000000000000000 --- a/CMake/otbcli.bat.in +++ /dev/null @@ -1,51 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. - -@echo off -:: -:: Autogenerated by OTB installation process -:: DO NOT MODIFY -:: - -set CURRENT_SCRIPT_DIR=%~dp0 - -if exist %CURRENT_SCRIPT_DIR%otbApplicationLauncherCommandLine.exe ( - :: Prefer using the launcher inside the script dir - set OTB_CLI_LAUNCHER=%CURRENT_SCRIPT_DIR%otbApplicationLauncherCommandLine.exe -) else ( - :: Use the one from the PATH - set OTB_CLI_LAUNCHER=otbApplicationLauncherCommandLine.exe -) - -setlocal -:: works for install tree -if exist %CURRENT_SCRIPT_DIR%..\@OTB_INSTALL_APP_DIR_NATIVE@ ( - set OTB_APPLICATION_PATH=%CURRENT_SCRIPT_DIR%..\@OTB_INSTALL_APP_DIR_NATIVE@;%OTB_APPLICATION_PATH% -) - -::set GDAL_DATAs and update PATH -if exist %CURRENT_SCRIPT_DIR%\..\otbenv.bat ( - call %CURRENT_SCRIPT_DIR%\..\otbenv.bat -) - -set LC_NUMERIC=C - -:: start the application -%OTB_CLI_LAUNCHER% %* -endlocal diff --git a/CMake/otbcli.ps1.in b/CMake/otbcli.ps1.in new file mode 100644 index 0000000000000000000000000000000000000000..f5defd251e122bc28af38f2f2679dfe82eb1b138 --- /dev/null +++ b/CMake/otbcli.ps1.in @@ -0,0 +1,43 @@ +# +# Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) +# +# 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. + +# Prefer using the launcher inside the script dir, otherwise +# use the one in the path +if (Test-Path "$PSScriptRoot\otbApplicationLauncherCommandLine.exe" -PathType Leaf) { + $env:OTB_CLI_LAUNCHER = "$PSScriptRoot\otbApplicationLauncherCommandLine.exe" +} +else { + $env:OTB_CLI_LAUNCHER = "otbApplicationLauncherCommandLine.exe" +} + +# work for install tree +if (Test-Path "$PSScriptRoot\..\@OTB_INSTALL_APP_DIR_NATIVE@" -PathType Leaf) { + $env:OTB_APPLICATION_PATH = "$PSScriptRoot\..\@OTB_INSTALL_APP_DIR_NATIVE@;$env:OTB_APPLICATION_PATH" +} + +# call otbenv script to get GDAL_DATA, correct PATH +# and LC_NUMERIC +if (Test-Path "$PSScriptRoot\..\otbenv.ps1" -PathType Leaf) { + . "$PSScriptRoot\..\otbenv.ps1" +} + +# The '&' character tells powershell to run variable as external tool +# Starts the otbApplicationLauncherCommandLine with all args +#Â https://slai.github.io/posts/powershell-and-external-commands-done-right/#but-what-if-i-want-to-build-the-arguments-to-pass-in-my-script +&"$env:OTB_CLI_LAUNCHER" $args diff --git a/CMakeLists.txt b/CMakeLists.txt index 89f71a49728eb91d1d3745e4518f549ac6326fff..473055c2bb94bb81eb5751b2cf923c217388806d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) +# Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) # # This file is part of Orfeo Toolbox # @@ -131,7 +131,7 @@ if(NOT OTB_INSTALL_PYTHON_DIR) set(OTB_INSTALL_PYTHON_DIR "${OTB_INSTALL_LIBRARY_DIR}/otb/python") endif() -#convert path to native for reconfiguring otbcli.bat.in +#convert path to native for reconfiguring otbcli.ps1.in file(TO_NATIVE_PATH "${OTB_INSTALL_APP_DIR}" OTB_INSTALL_APP_DIR_NATIVE) #----------------------------------------------------------------------------- @@ -447,17 +447,11 @@ if(UNIX) ) endif() -#my_file_ext is required for otbcli files which has -# no extension on linux. (hence we cannot use SCRIPT_EXT - -#For windows otbenv.bash and otbenv.bat is required. +# For windows otbenv.bash and otbenv.ps1 is required. # Former is for windows shell users and latter is for other # linux emulator such as bash for windows or mobxterm -set(my_file_ext "") if(WIN32) - set(my_file_ext ".bat") install( PROGRAMS - ${OTB_SOURCE_DIR}/Packaging/Files/otbenv.bat ${OTB_SOURCE_DIR}/Packaging/Files/otbenv.ps1 ${OTB_SOURCE_DIR}/Packaging/Files/otbenv.bash DESTINATION . diff --git a/Documentation/Cookbook/rst/Installation_Windows.rst b/Documentation/Cookbook/rst/Installation_Windows.rst index 590cfb018f90866e36850c4f5a3dee1c88add3f4..a9f0c897dd9b95f5bf2637eb5eb9f362a00a3d81 100644 --- a/Documentation/Cookbook/rst/Installation_Windows.rst +++ b/Documentation/Cookbook/rst/Installation_Windows.rst @@ -6,10 +6,10 @@ be downloaded from `otb download page <https://www.orfeo-toolbox.org/download>`_ Extract the zip archive and use one of the launchers, they contain all applications and their launchers (both command line and graphical launchers are provided): -- ``otbenv.bat``: A script to initialize the environment for OTB +- ``otbenv.ps1``: A script to initialize the environment for OTB executables -- ``bin``: A folder containing application launchers (otbcli.bat) and the DLLs. +- ``bin``: A folder containing application launchers (otbcli.ps1) and the DLLs. - ``lib``: A folder containing application DLLs. @@ -20,13 +20,10 @@ and their launchers (both command line and graphical launchers are provided): to uninstall OTB libraries and headers while keeping all the dependencies. If you want to use the otbcli launcher, you can initialize a command -prompt with ``otbenv.bat``. +prompt with ``otbenv.ps1``. The package can be used to compile other projects using OTB (binaries, libraries -and headers are included). If you want to build OTB from source using this -package, you should first uninstall the specific OTB files from the package to -leave only the dependencies (what we call an XDK). You can do it using the -supplied script ``tools/uninstall_otb.bat``. +and headers are included). Python bindings ~~~~~~~~~~~~~~~ diff --git a/Modules/Core/Wrappers/ApplicationEngine/src/otbWrapperOutputXML.cxx b/Modules/Core/Wrappers/ApplicationEngine/src/otbWrapperOutputXML.cxx index 8e270dc4655d5da04cd7738a307ad70e706bc92c..5e0d78a7a40effdc3e4db7eb324e8e43f5aecfc5 100644 --- a/Modules/Core/Wrappers/ApplicationEngine/src/otbWrapperOutputXML.cxx +++ b/Modules/Core/Wrappers/ApplicationEngine/src/otbWrapperOutputXML.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) + * Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) * * This file is part of Orfeo Toolbox * @@ -358,7 +358,7 @@ std::string MakeCommandLine(Application::Pointer application) cmdLine << "otbcli_" << pName->GetText(); #ifdef _WIN32 - cmdLine << ".bat"; + cmdLine << ".ps1"; #endif cmdLine << " "; diff --git a/Modules/Core/Wrappers/CommandLine/src/CMakeLists.txt b/Modules/Core/Wrappers/CommandLine/src/CMakeLists.txt index 110e808be839c4a37c8eeb41fd6cd0e719340d96..33e39800b11f0b4a14404098b73219922d8a89bf 100644 --- a/Modules/Core/Wrappers/CommandLine/src/CMakeLists.txt +++ b/Modules/Core/Wrappers/CommandLine/src/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) +# Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) # # This file is part of Orfeo Toolbox # @@ -45,15 +45,15 @@ get_target_property(CLI_OUTPUT_DIR otbApplicationLauncherCommandLine RUNTIME_OUT file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts) if (WIN32) -configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.bat.in - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/otbcli.bat +configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.ps1.in + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/otbcli.ps1 @ONLY ) -file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/otbcli.bat +file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/otbcli.ps1 DESTINATION ${CLI_OUTPUT_DIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # TODO : test if NO_INSTALL is set -install(PROGRAMS ${CLI_OUTPUT_DIR}/otbcli.bat +install(PROGRAMS ${CLI_OUTPUT_DIR}/otbcli.ps1 DESTINATION ${OTBCommandLine_INSTALL_RUNTIME_DIR} COMPONENT Core) diff --git a/Packaging/Files/OTB Project.zip b/Packaging/Files/OTB Project.zip deleted file mode 100644 index 5e5b6d607f59e48ffd1afbe7f624ee9af245d8cf..0000000000000000000000000000000000000000 Binary files a/Packaging/Files/OTB Project.zip and /dev/null differ diff --git a/Packaging/Files/otbenv.bat b/Packaging/Files/otbenv.bat deleted file mode 100644 index fa576bf7badec65a628b8ff9db6946f89d9cd7f6..0000000000000000000000000000000000000000 --- a/Packaging/Files/otbenv.bat +++ /dev/null @@ -1,48 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. - -@echo off -:: Setup environment for OTB package -set CURRENT_SCRIPT_DIR=%~dp0 - -call :prefix_path PATH "%CURRENT_SCRIPT_DIR%bin" -call :prefix_path PATH "%CURRENT_SCRIPT_DIR%lib" -call :prefix_path PYTHONPATH "%CURRENT_SCRIPT_DIR%lib\otb\python;%CURRENT_SCRIPT_DIR%lib\site-packages" -call :prefix_path OTB_APPLICATION_PATH "%CURRENT_SCRIPT_DIR%lib\otb\applications" - -set GDAL_DATA=%CURRENT_SCRIPT_DIR%share\data -set PROJ_LIB=%CURRENT_SCRIPT_DIR%share\proj -set GDAL_DRIVER_PATH=disable -:: Set numeric locale to C -set LC_NUMERIC=C -goto :eof - -:prefix_path -setlocal enabledelayedexpansion -set output=%~2 -set var=%1 -set content= -if not defined %var% ( goto :prefix_path_testcontent ) -set content=!%var%! -:prefix_path_testcontent -if "%content%" == "" ( goto :prefix_path_end ) -set output=%output%;%content% -:prefix_path_end -endlocal & set %1=%output% -goto :eof diff --git a/Packaging/Files/otbenv.ps1 b/Packaging/Files/otbenv.ps1 index 3ea6eaa32b0a28b5e7cfdd43221b3c9eda13b4f6..80a6f6038c9841eeddfa3413c5499eb0b5ac811f 100644 --- a/Packaging/Files/otbenv.ps1 +++ b/Packaging/Files/otbenv.ps1 @@ -1,5 +1,5 @@ # -# Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES) +# Copyright (C) 2005-2025 Centre National d'Etudes Spatiales (CNES) # # This file is part of Orfeo Toolbox # @@ -17,12 +17,43 @@ # See the License for the specific language governing permissions and # limitations under the License. +# do not add value twice +function Add-If-Not-Exist { + param ( + [Parameter(Mandatory)] + [string]$var_to_check, + [Parameter(Mandatory)] + [string]$content + ) + + # NOTE that here we can not use the simple $env: notation as "wonderful" + # powershell is not even capable to resole $env:$smthing + # Thus we are force to use ununderstandable ugly verbose "Get/Set" Item + # notation + + #Â check if this env var exists + if (-Not(Test-Path Env:$var_to_check)) { + Set-Item Env:$var_to_check $content + } + else { # if it exists, save its value + $temp_var = (Get-Item Env:$var_to_check).Value + # check that we are not re-adding it + # use "SimpleMatch" option to not interpret $content as a regular expression + if (-Not($temp_var | Select-String -Pattern $content -SimpleMatch)) { + Set-Item Env:$var_to_check "$content;$temp_var" + } + # else { + # echo "$var_to_check env var already contains $content" + # } + } +} + # Setup environment for OTB package -$env:PATH+=";$PSScriptRoot\bin;$PSScriptRoot\lib" -$env:PYTHONPATH+=";$PSScriptRoot\lib\otb\python" -$env:OTB_APPLICATION_PATH+=";$PSScriptRoot\lib\otb\application" +Add-If-Not-Exist -var_to_check PATH -content "$PSScriptRoot\bin;$PSScriptRoot\lib" +Add-If-Not-Exist -var_to_check PYTHONPATH -content "$PSScriptRoot\lib\otb\python" +Add-If-Not-Exist -var_to_check OTB_APPLICATION_PATH -content "$PSScriptRoot\lib\otb\applications" $env:GDAL_DATA="$PSScriptRoot\share\data" -$env:GDAL_DRIVER_PATH=disable +$env:GDAL_DRIVER_PATH="disable" $env:PROJ_LIB="$PSScriptRoot\share\proj" -$env:LC_NUMERIC=C +$env:LC_NUMERIC="C" diff --git a/Packaging/Files/selftester.bat b/Packaging/Files/selftester.bat deleted file mode 100755 index 21320440761dd6dc89a2b2d86c0a5f71d93ccbb5..0000000000000000000000000000000000000000 --- a/Packaging/Files/selftester.bat +++ /dev/null @@ -1,222 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. - -@echo off - -rem set EXIT_ON_ERROR=0 -rem set TEST_VERBOSE=1 -rem cmd /k tools\selftester.bat /q > selftest_report.log 2>&1 - -set MY_TOOLS_DIR=%~dp0 -cd %MY_TOOLS_DIR%.. -set MY_INSTALL_DIR=%cd% -echo "MY_INSTALL_DIR=%MY_INSTALL_DIR%" - -:: this is set in wrapper script -::set EXIT_ON_ERROR=0 -IF %EXIT_ON_ERROR%.==. ( set EXIT_ON_ERROR=1) -IF %TEST_VERBOSE%.==. ( set TEST_VERBOSE=1) - -echo TEST_VERBOSE=%TEST_VERBOSE% -echo EXIT_ON_ERROR=%EXIT_ON_ERROR% - -:: if "/q" is given, hide the error dialogs (hence make the script non-interactive) -if /i not -%1-==-/q- ( - goto :skip_hide_error -) - - -call :getDontShowUI -if %DONTSHOWUI_VALUE% equ 0 call :setDontShowUI 1 -:skip_hide_error -echo Hide error dialogs -:: Get current PID -type NUL > pid.log -wmic PROCESS where "Name='WMIC.exe'" get ParentProcessId >pid.log 2>&1 -for /F "TOKENS=1" %%b in ('type pid.log ^| findstr [0-9]') do set CURRENT_PID=%%b - -:: setup the otbenv -call otbenv.bat - -:: ----------------------------------------------------------------------------------- -REM Check 1 : check binaries -for /R %%i in (*.dll) do ( - call :check_binary %%i -) -for %%i in (bin\otbApplicationLauncherCommandLine.exe) do ( - call :check_binary %%i -) -call :check_binary lib\python\_otbApplication.pyd - -:: ----------------------------------------------------------------------------------- -rem Check 2 : check applications and Python wrapping -set /a app_count=0 -for /R %%i in (lib\otb\applications\otbapp_*.dll) do ( - call :check_application %%i -) -if %app_count% leq 90 ( - echo WARNING: only %app_count% applications found ! Expected at least 90 -) -call :check_python_wrapping - - -if /i not -%1-==-/q- ( - goto :skip_restore_error -) -if %DONTSHOWUI_VALUE% equ 0 call :setDontShowUI 0 -:skip_restore_error -setlocal -del pid.log -del tmp.log -endlocal -goto :eof - -::########################[ FUNCTIONS ]################################## -:check_binary -setlocal -if %TEST_VERBOSE% gtr 1 ( echo ":check_binary %1" ) -type NUL > tmp.log -tools\otb_loader.exe %1 > tmp.log 2>&1 -call :nb_tmp_lines -if %nb_tmp_lines_out% gtr 0 ( - echo "ERROR: otb_loader.exe %1" - type tmp.log - if %EXIT_ON_ERROR% equ 1 ( exit 1 ) -) -endlocal -goto :eof -::----------------------------------------------------------------------- -:check_application -setlocal -set dll_path=%~n1 -set app=%dll_path:~7% -if %TEST_VERBOSE% equ 1 ( echo ":check_application %app%" ) -if not exist bin\otbcli_%app%.bat ( - echo ERROR : missing cli launcher for application %app% - if %EXIT_ON_ERROR% equ 1 ( exit 1 ) - goto :check_application_end -) -type NUL > tmp.log -cmd /C bin\otbcli_%app%.bat "-help" ^> tmp.log ^2^>^&^1 -call :parse_cli_output -if %parse_cli_result% equ 0 ( - echo ERROR : error launching application otbcli_%app% - type results.txt - if %EXIT_ON_ERROR% equ 1 ( exit 1 ) -) - -:check_application_end -endlocal & set /a app_count=app_count+1 -goto :eof -::----------------------------------------------------------------------- -:check_desktop_app -setlocal -set appName=%1 -set delay=5 -if not -%2-==-- set delay=%2 -type NUL > tmp.log -start "Desktop app" /b bin\%appName%.exe > tmp.log 2>&1 -timeout %delay% >nul -call :get_child_pid %CURRENT_PID% %appName%.exe -if %child_pid% gtr 1 ( - taskkill /PID %child_pid% /F /T > NUL 2>&1 -) else ( - echo ERROR : could not launch %appName%.exe - type tmp.log - if %EXIT_ON_ERROR% equ 1 ( exit 1 ) -) -endlocal -goto :eof -::----------------------------------------------------------------------- -:check_python_wrapping -setlocal -type NUL > tmp.log -python -c "import otbApplication" > tmp.log 2>&1 -call :nb_tmp_lines -if %nb_tmp_lines_out% gtr 0 ( - echo ERROR : failed to run python wrapping - type tmp.log - if %EXIT_ON_ERROR% equ 1 ( exit 1 ) -) -endlocal -goto :eof -::----------------------------------------------------------------------- -:parse_cli_output -setlocal -set /a ret=1 -findstr /n /r /c:"^This is the %app% application, version " tmp.log > results.txt -if %errorlevel%==1 ( - set /a ret=0 - echo "findstr failed 1st regex in parse_cli_output" - goto :parse_cli_output_end -) -findstr /n /r /c:"^Parameters: " tmp.log > results.txt -if %errorlevel%==1 ( - set /a ret=0 - echo "findstr failed 2nd regex in parse_cli_output" - goto :parse_cli_output_end -) -findstr /n /r /c:"^Examples: " tmp.log > results.txt -if %errorlevel%==1 ( - set /a ret=0 - echo "findstr failed 3rd regex in parse_cli_output" - goto :parse_cli_output_end -) -findstr /n /r /c:"FATAL" tmp.log > results.txt -if %errorlevel%==0 ( - set /a ret=0 - echo "findstr passed 4th regex in parse_cli_output" - goto :parse_cli_output_end -) - -:parse_cli_output_end -endlocal & set /a parse_cli_result=%ret% -goto :eof -::----------------------------------------------------------------------- - -:nb_tmp_lines -setlocal -for /F "delims=" %%i in ('find /C /V "" ^< tmp.log') do set output=%%i -endlocal & set nb_tmp_lines_out=%output% -goto :eof -::----------------------------------------------------------------------- -:get_child_pid -setlocal -set parent_pid=%1 -set process_name=%2 -set output=0 -type NUL > pid.log -wmic PROCESS where (ParentProcessId=%parent_pid% AND Name="%process_name%") get ProcessId >pid.log 2>&1 -for /F "TOKENS=1" %%a in ('type pid.log ^| findstr [0-9]') do set output=%%a -endlocal & set child_pid=%output% -goto :eof -::----------------------------------------------------------------------- -:getDontShowUI -setlocal -set output=0 -for /F "TOKENS=3" %%a in ('reg query "HKCU\Software\Microsoft\Windows\Windows Error Reporting" /v DontShowUI ^| findstr DontShowUI') do set output=%%a -endlocal & set DONTSHOWUI_VALUE=%output:~2% -goto :eof -::----------------------------------------------------------------------- -:setDontShowUI -setlocal -reg add "HKCU\Software\Microsoft\Windows\Windows Error Reporting" /v DontShowUI /t REG_DWORD /d %1 /f -endlocal -goto :eof - diff --git a/Packaging/Files/start_devenv.bat b/Packaging/Files/start_devenv.bat deleted file mode 100755 index c74848bc0d87146286af953a625f51e33025671e..0000000000000000000000000000000000000000 --- a/Packaging/Files/start_devenv.bat +++ /dev/null @@ -1,41 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. -:: - -@echo on - -set CURRENT_SCRIPT_DIR=%~dp0 -set CURRENT_SCRIPT_DIR=%CURRENT_SCRIPT_DIR:~0,-1% - - -set PATH=%CURRENT_SCRIPT_DIR%\bin;%PATH% -set VSDEV_ENV=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe -set OTB_VS_TEMPLATE_DIR=%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates - -set OTB_XDK_DIR=%CURRENT_SCRIPT_DIR:\=/% -::dir %OTB_VS_TEMPLATE_DIR% -if exist "%VSDEV_ENV%" ( -if not exist "%OTB_VS_TEMPLATE_DIR%" ( md "%OTB_VS_TEMPLATE_DIR%" ) -copy "%CURRENT_SCRIPT_DIR%\OTB Project.zip" "%OTB_VS_TEMPLATE_DIR%" -START "" "%VSDEV_ENV%" -) else ( -echo "%VSDEV_ENV% not found" -) - -@cmd diff --git a/Packaging/Files/uninstall_otb.bat b/Packaging/Files/uninstall_otb.bat deleted file mode 100644 index edc5d01f0b4f5fa1ec4d16c5d9c7b7357d151bba..0000000000000000000000000000000000000000 --- a/Packaging/Files/uninstall_otb.bat +++ /dev/null @@ -1,48 +0,0 @@ -:: -:: Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -:: -:: 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. - -@echo off - -:: script to uninstall OTB - -setlocal -cd %~dp0%.. - -echo - Clean include\OTB* -for /f %%i in ('dir /b include\OTB*') do rd /S /Q include\%%i - -echo - Clean lib\cmake\OTB* -for /f %%i in ('dir /b lib\cmake\OTB*') do rd /S /Q lib\cmake\%%i - -echo - Clean share\otb -rd /S /Q share\otb - -echo - Clean lib\otb -rd /S /Q lib\otb - -del /S /Q lib\otb* -del /S /Q lib\python\*otbApplication.* || exit 1 -del /S /Q bin\otb* || exit 1 -del /S /Q otbenv.* || exit 1 -del /S /Q start_devenv.bat || exit 1 -del /S /Q "OTB Project.zip" || exit 1 - -echo OTB is now uninstalled from %cd% - -endlocal diff --git a/Utilities/Maintenance/TravisBuild.cmake b/Utilities/Maintenance/TravisBuild.cmake deleted file mode 100644 index 930519f7609b9b9a7ba1ead54b71934d4f9b89ae..0000000000000000000000000000000000000000 --- a/Utilities/Maintenance/TravisBuild.cmake +++ /dev/null @@ -1,107 +0,0 @@ -# -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -# -# 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. -# - -#TravisBuild.cmake - custom cmake scripts for travis build -#before running this script you need to set the below env variables -set(ENV{LC_ALL} C) -set(CTEST_PROJECT_NAME "OTB") -set(CTEST_BUILD_CONFIGURATION Release) -if(NOT DEFINED CTEST_GIT_COMMAND) - find_program(CTEST_GIT_COMMAND NAMES git git.cmd) -endif() -# Just check if required variables are defined. -foreach(req - CTEST_DASHBOARD_ROOT - CMAKE_MAKE_PROGRAM - CTEST_CMAKE_GENERATOR - OTB_INSTALL_DIR - XDK_INSTALL_DIR - CTEST_COMMAND - ) - if(NOT DEFINED ENV{${req}}) - message(FATAL_ERROR "you must set ${req} environment variable is not defined") - endif() - set(${req} "$ENV{${req}}") -endforeach() - -set(BUILD_NAME_PREFIX "travis-$ENV{TRAVIS_BUILD_NUMBER}") -if(NOT "$ENV{TRAVIS_PULL_REQUEST}" MATCHES "false") - set(BUILD_NAME_PREFIX "PR-travis-$ENV{TRAVIS_PULL_REQUEST}") -endif() - -set(CTEST_BUILD_NAME "${BUILD_NAME_PREFIX}-$ENV{CC}-${CTEST_BUILD_CONFIGURATION}-$ENV{TRAVIS_BRANCH}") -set(CTEST_SITE "travis-ci.org") - -set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/orfeotoolbox/OTB") -set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/orfeotoolbox/build") - -set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 1000) -set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 300) -#set(CTEST_BUILD_FLAGS -j2) - -macro(do_submit) - ctest_submit() - return() -endmacro() - -message(STATUS "CTEST_SOURCE_DIRECTORY: ${CTEST_SOURCE_DIRECTORY}") -message(STATUS "CTEST_BINARY_DIRECTORY: ${CTEST_BINARY_DIRECTORY}") - -set(INITIAL_CACHE -" -BUILD_TESTING:BOOL=ON -CMAKE_INSTALL_PREFIX:PATH=${OTB_INSTALL_DIR} -CMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_MAKE_PROGRAM} -OTB_USE_OPENCV:BOOL=ON -OTB_USE_LIBSVM:BOOL=ON -OTB_USE_MUPARSER:BOOL=ON -OTB_USE_MUPARSERX:BOOL=ON -CMAKE_C_FLAGS:STRING=-Wextra -CMAKE_CXX_FLAGS:STRING=-Wextra -Wno-gnu-static-float-init -Wno-\\#warnings -std=c++11 -CMAKE_BUILD_TYPE=${CTEST_BUILD_CONFIGURATION} -" -) -file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" ${INITIAL_CACHE}) - -ctest_start (Continuous) -ctest_update (SOURCE ${CTEST_SOURCE_DIRECTORY} RETURN_VALUE _update_rv) - -message(STATUS "Found ${_update_rv} changed files") - -ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE _configure_rv) -ctest_read_custom_files(${CTEST_BINARY_DIRECTORY}) - - -if(NOT _configure_rv EQUAL 0) - do_submit() -endif() - -ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE _build_rv) - -if(NOT _build_rv EQUAL 0) - do_submit() -endif () -#identify data required for failing test and make a micro OTB-Data archive. -ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE Tu RETURN_VALUE _test_rv) -# execute_process(COMMAND ${CTEST_COMMAND} "-R" "Tu" "." -# WORKING_DIRECTORY "${CTEST_BINARY_DIRECTORY}" -# ) - -do_submit() diff --git a/Utilities/Maintenance/TravisBuild.sh b/Utilities/Maintenance/TravisBuild.sh deleted file mode 100755 index 3d2dbdc0c4fb94c4217a01a2f6938b23a7d29923..0000000000000000000000000000000000000000 --- a/Utilities/Maintenance/TravisBuild.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES) -# -# 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. -# - - -#variables required -CTEST_COMMAND="/tmp/cmake-3.4.1-Linux-x86_64/bin/ctest" -CMAKE_MAKE_PROGRAM=/tmp/ninja -CTEST_CMAKE_GENERATOR="Ninja" -CTEST_DASHBOARD_ROOT=$HOME/build -WGET=`which wget` -SED=`which sed` - -if [[ -z "$TRAVIS_BRANCH" ]]; then - TRAVIS_BRANCH='develop' - TRAVIS_BUILD_NUMBER=1 - TRAVIS_PULL_REQUEST='false' - export TRAVIS_BRANCH - export TRAVIS_BUILD_NUMBER - export TRAVIS_PULL_REQUEST -fi - -if [ ! -f $CTEST_DASHBOARD_ROOT/orfeotoolbox/OTB/CMakeLists.txt ]; then - mkdir -p $CTEST_DASHBOARD_ROOT/orfeotoolbox - cd $CTEST_DASHBOARD_ROOT/orfeotoolbox - git clone --depth=1 --branch=$TRAVIS_BRANCH https://github.com/orfeotoolbox/OTB -fi - -CMAKE_FILE=$CTEST_DASHBOARD_ROOT/orfeotoolbox/OTB/CMakeLists.txt -VERSION_MAJOR=$(sed -n '/set.OTB_VERSION_MAJOR/p' $CMAKE_FILE|cut -d '"' -f 2) -VERSION_MINOR=$(sed -n '/set.OTB_VERSION_MINOR/p' $CMAKE_FILE|cut -d '"' -f 2) -VERSION_PATCH=$(sed -n '/set.OTB_VERSION_PATCH/p' $CMAKE_FILE|cut -d '"' -f 2) -OTB_VERSION="$VERSION_MAJOR.$VERSION_MINOR" -OTB_VERSION_FULL="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH" - -XDK_FILE=OTB-$OTB_VERSION_FULL-xdk-Linux64.run -CMAKE_PREFIX_PATH=/tmp/OTB-$OTB_VERSION_FULL-xdk-Linux64 -OTB_INSTALL_DIR=$CTEST_DASHBOARD_ROOT/orfeotoolbox/install -XDK_INSTALL_DIR="/tmp/${XDK_FILE%.*}" - -#export variables for later use in cmake file -export CTEST_COMMAND -export OTB_VERSION -export CTEST_DASHBOARD_ROOT -export CTEST_CMAKE_GENERATOR -export CMAKE_MAKE_PROGRAM -export CMAKE_PREFIX_PATH -export OTB_INSTALL_DIR -export XDK_INSTALL_DIR - -#print -echo "TRAVIS_BRANCH=$TRAVIS_BRANCH" -echo "CTEST_COMMAND=$CTEST_COMMAND" -echo "OTB_VERSION=$OTB_VERSION" -echo "CTEST_DASHBOARD_ROOT=$CTEST_DASHBOARD_ROOT" -echo "XDK_FILE=$XDK_FILE" -echo "OTB_INSTALL_DIR=$OTB_INSTALL_DIR" -echo "CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH" -echo "XDK_INSTALL_DIR=$XDK_INSTALL_DIR" -echo "XDK_URL=https://www.orfeo-toolbox.org/packages/xdk/OTB-$OTB_VERSION/$XDK_FILE" - -#change to /tmp -cd /tmp - -#download, extract cmake binaries -wget https://cmake.org/files/v3.4/cmake-3.4.1-Linux-x86_64.tar.gz --no-check-certificate -tar -xzf cmake-3.4.1-Linux-x86_64.tar.gz - -#download, extract ninja binaries -wget https://github.com/martine/ninja/releases/download/v1.6.0/ninja-linux.zip --no-check-certificate -unzip ninja-linux.zip - -#download, extract OTB XDK -wget https://www.orfeo-toolbox.org/packages/xdk/OTB-$OTB_VERSION/$XDK_FILE --no-check-certificate -chmod +x /tmp/$XDK_FILE -/tmp/$XDK_FILE - -echo "Running ctest -VV -S TravisBuild.cmake" -$CTEST_COMMAND -VV -S $CTEST_DASHBOARD_ROOT/orfeotoolbox/OTB/Utilities/Maintenance/TravisBuild.cmake