diff --git a/CMake/OTBWrapperMacros.cmake b/CMake/OTBWrapperMacros.cmake index bca1f688ef78a7f21dc6863e71b1533487fe1ad8..ed1e4e28bc9cf94b7f6f25e4367eb109b9adcc9d 100644 --- a/CMake/OTBWrapperMacros.cmake +++ b/CMake/OTBWrapperMacros.cmake @@ -40,7 +40,7 @@ macro(OTB_CREATE_APPLICATION) endif() # Generate a quickstart script in the build dir - if (NOT WIN32) + #if (NOT WIN32) # What is the path to the applications # a MODULE target is always treated as LIBRARY @@ -50,44 +50,63 @@ macro(OTB_CREATE_APPLICATION) set(APPLICATION_BINARY_PATH ${CMAKE_CURRENT_BINARY_DIR}) endif() - set(SCRIPT_CLI_SOURCE ${OTB_SOURCE_DIR}/CMake/otbcli_app.sh.in) + if (WIN32) + set(SCRIPT_CLI_SOURCE ${OTB_SOURCE_DIR}/CMake/otbcli_app.bat.in) + set(SCRIPT_CLI_INTERMEDIATE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbcli_${APPLICATION_NAME}.bat) + set(SCRIPT_CLI_INSTALLABLE ${APPLICATION_BINARY_PATH}/otbcli_${APPLICATION_NAME}.bat) + else() + set(SCRIPT_CLI_SOURCE ${OTB_SOURCE_DIR}/CMake/otbcli_app.sh.in) + set(SCRIPT_CLI_INTERMEDIATE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbcli_${APPLICATION_NAME}) + set(SCRIPT_CLI_INSTALLABLE ${APPLICATION_BINARY_PATH}/otbcli_${APPLICATION_NAME}) + endif() + if (EXISTS ${SCRIPT_CLI_SOURCE}) # Generate a script in the build dir, next to the cli launcher configure_file( ${SCRIPT_CLI_SOURCE} - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbcli_${APPLICATION_NAME} + ${SCRIPT_CLI_INTERMEDIATE} @ONLY ) # Copy it next to the application shared lib, and give executable rights - file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbcli_${APPLICATION_NAME} + file(COPY ${SCRIPT_CLI_INTERMEDIATE} DESTINATION ${APPLICATION_BINARY_PATH} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) if (OTB_INSTALL_BIN_DIR_CM24) # Install a version of this script if we are inside the OTB build - install(PROGRAMS ${APPLICATION_BINARY_PATH}/otbcli_${APPLICATION_NAME} - DESTINATION ${OTB_INSTALL_BIN_DIR_CM24}) + install(PROGRAMS ${SCRIPT_CLI_INSTALLABLE} + DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} + COMPONENT RuntimeLibraries) endif() endif() - set(SCRIPT_GUI_SOURCE ${OTB_SOURCE_DIR}/CMake/otbgui_app.sh.in) + if (WIN32) + set(SCRIPT_GUI_SOURCE ${OTB_SOURCE_DIR}/CMake/otbgui_app.bat.in) + set(SCRIPT_GUI_INTERMEDIATE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbgui_${APPLICATION_NAME}.bat) + set(SCRIPT_GUI_INSTALLABLE ${APPLICATION_BINARY_PATH}/otbgui_${APPLICATION_NAME}.bat) + else() + set(SCRIPT_GUI_SOURCE ${OTB_SOURCE_DIR}/CMake/otbgui_app.sh.in) + set(SCRIPT_GUI_INTERMEDIATE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbgui_${APPLICATION_NAME}) + set(SCRIPT_GUI_INSTALLABLE ${APPLICATION_BINARY_PATH}/otbgui_${APPLICATION_NAME}) + endif() + if (EXISTS ${SCRIPT_GUI_SOURCE}) # Generate a script in the build dir, next to the cli launcher configure_file( ${SCRIPT_GUI_SOURCE} - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbgui_${APPLICATION_NAME} + ${SCRIPT_GUI_INTERMEDIATE} @ONLY ) # Copy it next to the application shared lib, and give executable rights - file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/otbgui_${APPLICATION_NAME} + file(COPY ${SCRIPT_GUI_INTERMEDIATE} DESTINATION ${APPLICATION_BINARY_PATH} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) if (OTB_INSTALL_BIN_DIR_CM24) # Install a version of this script if we are inside the OTB build - install(PROGRAMS ${APPLICATION_BINARY_PATH}/otbgui_${APPLICATION_NAME} + install(PROGRAMS ${SCRIPT_GUI_INSTALLABLE} DESTINATION ${OTB_INSTALL_BIN_DIR_CM24}) endif() endif() - endif(NOT WIN32) + #endif(NOT WIN32) list(APPEND OTB_APPLICATIONS_NAME_LIST ${APPLICATION_NAME}) set(OTB_APPLICATIONS_NAME_LIST ${OTB_APPLICATIONS_NAME_LIST} diff --git a/CMake/otbcli.bat.buildtree.in b/CMake/otbcli.bat.buildtree.in new file mode 100644 index 0000000000000000000000000000000000000000..a5745e171f73fba60ea06dde0520d9adb8899abc --- /dev/null +++ b/CMake/otbcli.bat.buildtree.in @@ -0,0 +1,23 @@ +@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 +) + +:: works for build dir +if exist @APPLICATION_BINARY_PATH@ ( + set ITK_AUTOLOAD_PATH=@APPLICATION_BINARY_PATH@;%ITK_AUTOLOAD_PATH% +) + +:: start the application +%OTB_CLI_LAUNCHER% %* diff --git a/CMake/otbcli.bat.installtree.in b/CMake/otbcli.bat.installtree.in new file mode 100644 index 0000000000000000000000000000000000000000..d88f314731359863f0621c3e6dc2a14282971a51 --- /dev/null +++ b/CMake/otbcli.bat.installtree.in @@ -0,0 +1,23 @@ +@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 +) + +:: works for install tree +if exist %CURRENT_SCRIPT_DIR%../@OTB_INSTALL_APP_DIR_CM24@ ( + set ITK_AUTOLOAD_PATH=%CURRENT_SCRIPT_DIR%../@OTB_INSTALL_APP_DIR_CM24@;%ITK_AUTOLOAD_PATH% +) + +:: start the application +%OTB_CLI_LAUNCHER% %* diff --git a/CMake/otbcli_app.bat.in b/CMake/otbcli_app.bat.in new file mode 100644 index 0000000000000000000000000000000000000000..e4af53d8e5cf0290d45049be10ee673daed9cbb0 --- /dev/null +++ b/CMake/otbcli_app.bat.in @@ -0,0 +1,18 @@ +@echo off +:: +:: Autogenerated by OTB installation process +:: DO NOT MODIFY +:: + +set CURRENT_SCRIPT_DIR=%~dp0 + +if exist %CURRENT_SCRIPT_DIR%otbcli.bat ( + :: Prefer using the launcher inside the script dir + set OTB_CLI_LAUNCHER=%CURRENT_SCRIPT_DIR%otbcli.bat +) else ( + :: Use the one from the PATH + set OTB_CLI_LAUNCHER=otbcli.bat +) + +:: start the application +%OTB_CLI_LAUNCHER% @APPLICATION_NAME@ %* diff --git a/CMake/otbgui.bat.buildtree.in b/CMake/otbgui.bat.buildtree.in new file mode 100644 index 0000000000000000000000000000000000000000..351c156455c46c4cf84c5c6a48eb585ff1fb937f --- /dev/null +++ b/CMake/otbgui.bat.buildtree.in @@ -0,0 +1,25 @@ +@echo off +:: +:: Autogenerated by OTB installation process +:: DO NOT MODIFY +:: + +set CURRENT_SCRIPT_DIR=%~dp0 + +if exist %CURRENT_SCRIPT_DIR%otbApplicationLauncherQt.exe ( + :: Prefer using the launcher inside the script dir + set OTB_GUI_LAUNCHER=%CURRENT_SCRIPT_DIR%otbApplicationLauncherQt.exe +) else ( + :: Use the one from the PATH + set OTB_GUI_LAUNCHER=otbApplicationLauncherQt.exe +) + +:: works for build dir +if exist @APPLICATION_BINARY_PATH@ ( + set ITK_AUTOLOAD_PATH=@APPLICATION_BINARY_PATH@;%ITK_AUTOLOAD_PATH% +) + +set LC_NUMERIC=C + +:: start the application +%OTB_GUI_LAUNCHER% %* diff --git a/CMake/otbgui.bat.installtree.in b/CMake/otbgui.bat.installtree.in new file mode 100644 index 0000000000000000000000000000000000000000..af6ccdd807ca32a84ef1f9695209fe5ed6c8f537 --- /dev/null +++ b/CMake/otbgui.bat.installtree.in @@ -0,0 +1,25 @@ +@echo off +:: +:: Autogenerated by OTB installation process +:: DO NOT MODIFY +:: + +set CURRENT_SCRIPT_DIR=%~dp0 + +if exist %CURRENT_SCRIPT_DIR%otbApplicationLauncherQt.exe ( + :: Prefer using the launcher inside the script dir + set OTB_GUI_LAUNCHER=%CURRENT_SCRIPT_DIR%otbApplicationLauncherQt.exe +) else ( + :: Use the one from the PATH + set OTB_GUI_LAUNCHER=otbApplicationLauncherQt.exe +) + +:: works for install tree +if exist %CURRENT_SCRIPT_DIR%../@OTB_INSTALL_APP_DIR_CM24@ ( + set ITK_AUTOLOAD_PATH=%CURRENT_SCRIPT_DIR%../@OTB_INSTALL_APP_DIR_CM24@;%ITK_AUTOLOAD_PATH% +) + +set LC_NUMERIC=C + +:: start the application +%OTB_GUI_LAUNCHER% %* diff --git a/CMake/otbgui_app.bat.in b/CMake/otbgui_app.bat.in new file mode 100644 index 0000000000000000000000000000000000000000..5752728a54804cdbd6f06d48ae0c85f97d67ec7b --- /dev/null +++ b/CMake/otbgui_app.bat.in @@ -0,0 +1,18 @@ +@echo off +:: +:: Autogenerated by OTB installation process +:: DO NOT MODIFY +:: + +set CURRENT_SCRIPT_DIR=%~dp0 + +if exist %CURRENT_SCRIPT_DIR%otbgui.bat ( + :: Prefer using the launcher inside the script dir + set OTB_GUI_LAUNCHER=%CURRENT_SCRIPT_DIR%otbgui.bat +) else ( + :: Use the one from the PATH + set OTB_GUI_LAUNCHER=otbgui.bat +) + +:: start the application +%OTB_GUI_LAUNCHER% @APPLICATION_NAME@ %* diff --git a/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt b/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt index 2ea205230852713834c5f69f0fd4fe410ffbd137..03587644845e97fdbea0e244f53021296c334030 100644 --- a/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt +++ b/Code/Wrappers/ApplicationLauncherQt/CMakeLists.txt @@ -23,23 +23,38 @@ get_target_property(CLI_OUPUT_DIR otbApplicationLauncherQt RUNTIME_OUTPUT_DIRECT # a MODULE target is always treated as LIBRARY set(APPLICATION_BINARY_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) -# Generate a script in the build dir, next to the cli launcher +# Generate a script in the build dir, next to the gui launcher # Need a two-step process since configure_file don't support permissions file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree) -if (NOT WIN32) +file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree) + + +if (WIN32) +configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.bat.buildtree.in + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbgui.bat + @ONLY ) +file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbgui.bat + DESTINATION ${CLI_OUPUT_DIR} + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + +configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.bat.installtree.in + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui.bat + @ONLY ) +install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui.bat + DESTINATION ${OTB_INSTALL_BIN_DIR_CM24}) + +else() configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.sh.buildtree.in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbgui @ONLY ) file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbgui DESTINATION ${CLI_OUPUT_DIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) -endif(NOT WIN32) - -file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree) -if (NOT WIN32) configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbgui.sh.installtree.in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui @ONLY ) install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbgui DESTINATION ${OTB_INSTALL_BIN_DIR_CM24}) -endif(NOT WIN32) + +endif() + diff --git a/Code/Wrappers/CommandLine/CMakeLists.txt b/Code/Wrappers/CommandLine/CMakeLists.txt index afe83beb8e60eacf04a3a00aa2a189eb138b3568..c2bb3d17c17ffa4feb9ace02624584f4a02a7935 100644 --- a/Code/Wrappers/CommandLine/CMakeLists.txt +++ b/Code/Wrappers/CommandLine/CMakeLists.txt @@ -36,22 +36,33 @@ set(APPLICATION_BINARY_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) # Generate a script in the build dir, next to the cli launcher # Need a two-step process since configure_file don't support permissions file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree) +file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree) + +if (WIN32) +configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.bat.buildtree.in + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbcli.bat + @ONLY ) +file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbcli.bat + DESTINATION ${CLI_OUPUT_DIR} + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) -if (NOT WIN32) +configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.bat.installtree.in + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli.bat + @ONLY ) +install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli.bat + DESTINATION ${OTB_INSTALL_BIN_DIR_CM24}) + +else() configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.sh.buildtree.in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbcli @ONLY ) file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/buildtree/otbcli DESTINATION ${CLI_OUPUT_DIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) -endif(NOT WIN32) - - -file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree) -if (NOT WIN32) configure_file( ${CMAKE_SOURCE_DIR}/CMake/otbcli.sh.installtree.in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli @ONLY ) install(PROGRAMS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Scripts/installtree/otbcli DESTINATION ${OTB_INSTALL_BIN_DIR_CM24}) -endif(NOT WIN32) + +endif() diff --git a/Examples/ChangeDetection/MultivariateAlterationDetector.cxx b/Examples/ChangeDetection/MultivariateAlterationDetector.cxx index 95a2d04aeb4b105ac31394e51b4eeade33df8709..b9f5e5f276fe9cf7c20d54e26c528ef608415229 100644 --- a/Examples/ChangeDetection/MultivariateAlterationDetector.cxx +++ b/Examples/ChangeDetection/MultivariateAlterationDetector.cxx @@ -28,7 +28,7 @@ // // Software Guide : EndCommandLineArgs -// Software Guide : BeginLatex +// Software Guide : BeginLatex // This example illustrates the class // \doxygen{otb}{MultivariateAlterationChangeDetectorImageFilter}, // which implements the Multivariate Alteration Change Detector @@ -217,10 +217,10 @@ int main(int argc, char* argv[]) input2VisuWriter->Update(); outputVisuWriter->Update(); -// Software Guide : BeginLatex +// Software Guide : BeginLatex // Figure \ref{fig:MADCHDET} shows the // results of Multivariate Alteration Detector applied to a pair of -// SPOT5 images before and after a flooding event. +// SPOT5 images before and after a flooding event. // \begin{figure} // \center \includegraphics[width=0.32\textwidth]{mad-input1.eps} // \includegraphics[width=0.32\textwidth]{mad-input2.eps} @@ -228,7 +228,7 @@ int main(int argc, char* argv[]) // \itkcaption[CorrelationMultivariate Alteration Detection // Results]{Result of the Multivariate Alteration Detector results on // SPOT5 data before and after flooding.} \label{fig:MADCHDET} -// \end{figure} +// \end{figure} // Software Guide : EndLatex return EXIT_SUCCESS;