diff --git a/CMakeLists.txt b/CMakeLists.txt index 20fd24f4f31001f195ff1b9955f11aacc2710732..998f03945a1075b1f0b95b88d371c22c007d202b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -247,6 +247,19 @@ if(OTB_DATA_USE_LARGEINPUT) mark_as_advanced(OTB_DATA_LARGEINPUT_ROOT) endif() +# Small macro to copy a file and rename it +macro(otb_copy_rename _input _output) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_input}" "${_output}" + RESULT_VARIABLE _err_code + OUTPUT_QUIET + ERROR_QUIET + ) + if(_err_code) + message(FATAL_ERROR "Failed to copy file ${_input} to ${_output}") + endif() +endmacro() + #Generate cmake variables with a set of largeinput data used in tests include(OTBManageLargeInputPaths) diff --git a/Modules/Radiometry/OpticalCalibration/test/CMakeLists.txt b/Modules/Radiometry/OpticalCalibration/test/CMakeLists.txt index 88720f365603eb50d286fffdea28ad0275ced292..ed2ab9c439808b3163c3c579fa010f26b3393a32 100644 --- a/Modules/Radiometry/OpticalCalibration/test/CMakeLists.txt +++ b/Modules/Radiometry/OpticalCalibration/test/CMakeLists.txt @@ -235,10 +235,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${TOULOUSEQBDIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/QUICKBIRD/TOULOUSE/000000128955_01_P001_PAN) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${TOULOUSEQBDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoQuickbirdPAN.tif ${TOULOUSEQBDIR}/02APR01105228-P1BS-000000128955_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${TOULOUSEQBDIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoQuickbirdPAN.tif ${TOULOUSEQBDIR}/02APR01105228-P1BS-000000128955_01_P001.TIF) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoQuickbirdPAN COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${TOULOUSEQBDIR}/raTvSMALLTOULOUSELuminanceToImageImageFilterAutoQuickbirdPAN.tif @@ -255,10 +253,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${TOULOUSEQBDIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/QUICKBIRD/TOULOUSE/000000128955_01_P001_MUL) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${TOULOUSEQBDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoQuickbirdXS.tif ${TOULOUSEQBDIR}/02APR01105228-M1BS-000000128955_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${TOULOUSEQBDIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoQuickbirdXS.tif ${TOULOUSEQBDIR}/02APR01105228-M1BS-000000128955_01_P001.TIF) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoQuickbirdXS COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${TOULOUSEQBDIR}/raTvSMALLTOULOUSELuminanceToImageImageFilterAutoQuickbirdXS.tif @@ -274,10 +270,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${ROMEWV2DIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/WORLDVIEW2/ROME/WV-2_standard_8band_bundle_16bit/052298844010_01_P001_MUL) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${ROMEWV2DIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoWV2Multi.tif ${ROMEWV2DIR}/09DEC10103019-M2AS-052298844010_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${ROMEWV2DIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoWV2Multi.tif ${ROMEWV2DIR}/09DEC10103019-M2AS-052298844010_01_P001.TIF) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoWV2MULTI COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${ROMEWV2DIR}/raTvSMALLROMELuminanceToImageImageFilterAutoWV2Multi.tif @@ -292,10 +286,8 @@ if(OTB_DATA_USE_LARGEINPUT) set(BLOSSEVILLEIKONOSDIR ${TEMP}/OpticalCalibLumToImIkonos) file(MAKE_DIRECTORY ${BLOSSEVILLEIKONOSDIR}) file(GLOB MTDATA ${OTB_DATA_LARGEINPUT_ROOT}/IKONOS/BLOSSEVILLE/*metadata.txt ${OTB_DATA_LARGEINPUT_ROOT}/IKONOS/BLOSSEVILLE/*pan*) - foreach(f ${MTDATA}) - configure_file(${f} ${BLOSSEVILLEIKONOSDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoIkonos.tif ${BLOSSEVILLEIKONOSDIR}/po_2619900_pan_0000000.tif COPYONLY) + file(COPY ${MTDATA} DESTINATION ${BLOSSEVILLEIKONOSDIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoIkonos.tif ${BLOSSEVILLEIKONOSDIR}/po_2619900_pan_0000000.tif) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoIkonos COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BLOSSEVILLEIKONOSDIR}/raTvSMALLBLOSSEVILLELuminanceToImageImageFilterAutoIkonos.tif @@ -310,10 +302,8 @@ if(OTB_DATA_USE_LARGEINPUT) set(TEHERANSPOT5DIR ${TEMP}/OpticalCalibLumToImSPOT5) file(MAKE_DIRECTORY ${TEHERANSPOT5DIR}) file(GLOB MTDATA ${OTB_DATA_LARGEINPUT_ROOT}/SPOT5/TEHERAN/*.DIM) - foreach(f ${MTDATA}) - configure_file(${f} ${TEHERANSPOT5DIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoSpot5.tif ${TEHERANSPOT5DIR}/IMAGERY.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${TEHERANSPOT5DIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoSpot5.tif ${TEHERANSPOT5DIR}/IMAGERY.TIF) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoSpot5 COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${TEHERANSPOT5DIR}/raTvSMALLTEHERANLuminanceToImageImageFilterAutoSpot5.img @@ -329,10 +319,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${ROMEWV2DIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/WORLDVIEW2/ROME/WV-2_standard_8band_bundle_16bit/052298844010_01_P001_PAN) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${ROMEWV2DIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoWV2PAN.tif ${ROMEWV2DIR}/09DEC10103019-P2AS-052298844010_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${ROMEWV2DIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoWV2PAN.tif ${ROMEWV2DIR}/09DEC10103019-P2AS-052298844010_01_P001.TIF) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoWV2PAN COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${ROMEWV2DIR}/raTvSMALLROMELuminanceToImageImageFilterAutoWV2PAN.tif @@ -348,10 +336,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${SUDOUESTFORMOSATDIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/FORMOSAT/Sudouest_20071013_MS_fmsat) file(GLOB MTDATA ${MTDATADIR}/*.DIM) - foreach(f ${MTDATA}) - configure_file(${f} ${SUDOUESTFORMOSATDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvImageToLuminanceImageFilterAutoFormosat.tif ${SUDOUESTFORMOSATDIR}/IMAGERY.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${SUDOUESTFORMOSATDIR}) + otb_copy_rename(${BASELINE}/raTvImageToLuminanceImageFilterAutoFormosat.tif ${SUDOUESTFORMOSATDIR}/IMAGERY.TIF) otb_add_test(NAME raTvLuminanceToImageImageFilterAutoFORMOSAT COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${SUDOUESTFORMOSATDIR}/raTvSMALLSOLuminanceToImageImageFilterAutoFormosat.img @@ -367,10 +353,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${TOULOUSEQBDIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/QUICKBIRD/TOULOUSE/000000128955_01_P001_PAN) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${TOULOUSEQBDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoQuickbirdPAN.tif ${TOULOUSEQBDIR}/02APR01105228-P1BS-000000128955_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${TOULOUSEQBDIR}) + otb_copy_rename(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoQuickbirdPAN.tif ${TOULOUSEQBDIR}/02APR01105228-P1BS-000000128955_01_P001.TIF) otb_add_test(NAME raTvReflectanceToLuminanceImageFilterAutoQuickbirdPAN COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BASELINE}/raTvImageToLuminanceImageFilterAutoQuickbirdPAN.tif @@ -384,10 +368,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${ROMEWV2DIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/WORLDVIEW2/ROME/WV-2_standard_8band_bundle_16bit/052298844010_01_P001_PAN) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${ROMEWV2DIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoWV2PAN.tif ${ROMEWV2DIR}/09DEC10103019-P2AS-052298844010_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${ROMEWV2DIR}) + otb_copy_rename(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoWV2PAN.tif ${ROMEWV2DIR}/09DEC10103019-P2AS-052298844010_01_P001.TIF) otb_add_test(NAME raTvReflectanceToLuminanceImageFilterAutoWV2PAN COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BASELINE}/raTvImageToLuminanceImageFilterAutoWV2PAN.tif @@ -400,10 +382,8 @@ if(OTB_DATA_USE_LARGEINPUT) set(TEHERANSPOT5DIR ${TEMP}/OpticalCalibRefToLumSPOT5) file(MAKE_DIRECTORY ${TEHERANSPOT5DIR}) file(GLOB MTDATA ${OTB_DATA_LARGEINPUT_ROOT}/SPOT5/TEHERAN/*.DIM) - foreach(f ${MTDATA}) - configure_file(${f} ${TEHERANSPOT5DIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoSpot5.tif ${TEHERANSPOT5DIR}/IMAGERY.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${TEHERANSPOT5DIR}) + otb_copy_rename(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoSpot5.tif ${TEHERANSPOT5DIR}/IMAGERY.TIF) otb_add_test(NAME raTvReflectanceToLuminanceImageFilterAutoSpot5 COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BASELINE}/raTvImageToLuminanceImageFilterAutoSpot5.tif @@ -416,10 +396,8 @@ if(OTB_DATA_USE_LARGEINPUT) set(BLOSSEVILLEIKONOSDIR ${TEMP}/OpticalCalibRefToLumIkonos) file(MAKE_DIRECTORY ${BLOSSEVILLEIKONOSDIR}) file(GLOB MTDATA ${OTB_DATA_LARGEINPUT_ROOT}/IKONOS/BLOSSEVILLE/*metadata.txt ${OTB_DATA_LARGEINPUT_ROOT}/IKONOS/BLOSSEVILLE/*pan*) - foreach(f ${MTDATA}) - configure_file(${f} ${BLOSSEVILLEIKONOSDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoIkonos.tif ${BLOSSEVILLEIKONOSDIR}/po_2619900_pan_0000000.tif COPYONLY) + file(COPY ${MTDATA} DESTINATION ${BLOSSEVILLEIKONOSDIR}) + otb_copy_rename(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoIkonos.tif ${BLOSSEVILLEIKONOSDIR}/po_2619900_pan_0000000.tif) otb_add_test(NAME raTvReflectanceToLuminanceImageFilterAutoIkonos COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BASELINE}/raTvImageToLuminanceImageFilterAutoIkonos.tif @@ -433,10 +411,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${TOULOUSEQBDIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/QUICKBIRD/TOULOUSE/000000128955_01_P001_MUL) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${TOULOUSEQBDIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoQuickbirdXS.tif ${TOULOUSEQBDIR}/02APR01105228-M1BS-000000128955_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${TOULOUSEQBDIR}) + otb_copy_rename(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoQuickbirdXS.tif ${TOULOUSEQBDIR}/02APR01105228-M1BS-000000128955_01_P001.TIF) otb_add_test(NAME raTvReflectanceToLuminanceImageFilterAutoQuickbirdXS COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BASELINE}/raTvImageToLuminanceImageFilterAutoQuickbirdXS.tif @@ -450,10 +426,8 @@ if(OTB_DATA_USE_LARGEINPUT) file(MAKE_DIRECTORY ${ROMEWV2DIR}) set(MTDATADIR ${OTB_DATA_LARGEINPUT_ROOT}/WORLDVIEW2/ROME/WV-2_standard_8band_bundle_16bit/052298844010_01_P001_MUL) file(GLOB MTDATA ${MTDATADIR}/*TIL ${MTDATADIR}/*RPB ${MTDATADIR}/*XML ${MTDATADIR}/*IMD) - foreach(f ${MTDATA}) - configure_file(${f} ${ROMEWV2DIR} COPYONLY) - endforeach(f) - configure_file(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoWV2Multi.tif ${ROMEWV2DIR}/09DEC10103019-M2AS-052298844010_01_P001.TIF COPYONLY) + file(COPY ${MTDATA} DESTINATION ${ROMEWV2DIR}) + otb_copy_rename(${BASELINE}/raTvLuminanceToReflectanceImageFilterAutoWV2Multi.tif ${ROMEWV2DIR}/09DEC10103019-M2AS-052298844010_01_P001.TIF) otb_add_test(NAME raTvReflectanceToLuminanceImageFilterAutoWV2MULTI COMMAND otbOpticalCalibrationTestDriver --compare-image ${EPSILON_12} ${BASELINE}/raTvImageToLuminanceImageFilterAutoWV2Multi.tif diff --git a/Modules/Remote/Mosaic.remote.cmake b/Modules/Remote/Mosaic.remote.cmake index 12a21582d1bc2b94f5316b234153c805f2d51cff..1989f99e313c74ee177e5b50b8faa3220d9baeb4 100644 --- a/Modules/Remote/Mosaic.remote.cmake +++ b/Modules/Remote/Mosaic.remote.cmake @@ -5,5 +5,5 @@ A more detailed description can be found on the project website: https://github.com/remicres/otb-mosaic " GIT_REPOSITORY https://github.com/remicres/otb-mosaic.git - GIT_TAG 64cb06798fb237e10f929c1adaab37441e09fbc3 + GIT_TAG 9a8cdd63ed3bba500bb4ea3867abc38bce8be562 ) diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index afd5acf864888f8998771c492254b82512434a5c..9f4946140f5f7ff173446c045420dd4d452eee29 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,3 +1,67 @@ +OTB-v.5.8.0 - Changes since version 5.6.1 (November 8th, 2016) +-------------------------------------------------------------- + +* Request for Changes (http://wiki.orfeo-toolbox.org/index.php/Requests_for_Changes): + * Request for Changes-35: FineRegistration, performances increased + * Request for Changes-51: Move Monteverdi into OTB + * Request for Changes-52: Faster BandMathX + * Request for changes-53: Connect applications in memory + * Request for Changes-54: Get OTB ready for gdal derived subdatasets + * Request for Changes-55: Monteverdi: Mouse-wheel zoom without CTRL + * Request for Changes-56: Spot7 metadata support + * Request for Changes-57: Migrate Cookbook to RST + * Request for Changes-58: Sampling on multiple images + * Request for Changes-59: Build support for msvc 2015 with OTB xdk + * Request for Changes-60: Shorter Release Process + * Request for Changes-61: Use codespell to fix common misspellings in source code + * Request for Changes-62: Enhance text comparison in dashboard + * Request for Changes-63: Refactor threading mechanism in sampling filters + * Request for Changes-64: Missing RAM for persistent filters in application + * Request for Changes-65: Add Shark Random forests implementation + * Request for Changes-67: ClassificationMapRegularization option for isolated pixels only + * Request for Changes-68: New sampling strategies in classification framework + +* Bugfixes : + + * Monteverdi + * 0001298: Monteverdi crash with this image + * 0001305: SuperBuild falling at BOOST build step + * 0001283: GDAL overviews dialog pops under OTB-applications dock + * 0001284: GDAL overviews default min-size = 4096 px + * 0001282: Status-bar is not always disable at startup + * 0001278: Add force OpenGL 1.x compatibility option + * 0001267: Monteverdi: unclear "gdal overview" minimum size parameter + * 0001274: SuperBuild GLUT compilation problem + * 0001277: Missing icon(s) in color-dynamics widget + * 0001275: Monteverdi: Histogram view problem with binary image + * 0001300: monteverdi $input_filename crash with relative path + * 0001303: Memory issue in Monteverdi with images with subdatasets (HDF4) + * 0001299: Monteverdi shortcuts list needs some updates + * 0001291: Word "Échiquier" is not displayed properly in layer stack (effect column) + + * OTB-Packaging + * 0001290: Unable to run OTB applications from Mapla.app on Mac OS X + * 0001297: No translation files in Windows standalone package (branch release-5.8) + + * Orfeo Toolbox (OTB) + * 0001308: Typo in otbenv.profile and otbenv.cmd + * 0001286: Sentinel-1 sensor metadata are not retrieved properly if application is run inside the SAFE directory + * 0001287: Using S1 images in monteverdi is slow + * 0001268: Patch for spelling error in 5.6.1 + * 0001306: SuperBuild falling at TIFF build step (GLUT_Xmu_LIBRARY NOTFOUND) + + * OTB-applications + * 0001301: Mapla application does not provide translation files + +OTB-v.5.6.1 - Changes since version 5.6.0 (August 26th, 2016) +------------------------------------------------------------- + +* Bugfixes : + * 0001262: OTB 5.7 vector sampler bug + * 0001259: Patch for various spelling errors in 5.6.0 + * 0001258: Patch to only use OTB_GIT_STATUS_MESSAGE in message function if set. + * 0001266: Fix covariance computation with high float values + OTB-v.5.6.0 - Changes since version 5.4.0 (July 28th, 2016) ------------------------------------------------------------ diff --git a/SuperBuild/Packaging/PackageHelper.cmake b/SuperBuild/Packaging/PackageHelper.cmake index a6c3e3cd789c32f58d9086fe2693d73b58750f18..1d1aa8b6245972690585793272c1e9a71cb8107c 100644 --- a/SuperBuild/Packaging/PackageHelper.cmake +++ b/SuperBuild/Packaging/PackageHelper.cmake @@ -68,15 +68,30 @@ macro(macro_super_package) if(DEFINED ENV{UniversalCRTSdkDir}) file(TO_CMAKE_PATH "$ENV{UniversalCRTSdkDir}" UCRT_SDK_DIR) list( - APPEND - PKG_SEARCHDIRS - "${UCRT_SDK_DIR}/Redist/ucrt/DLLs/${OTB_TARGET_SYSTEM_ARCH}" - ) #ucrt dlls + APPEND + PKG_SEARCHDIRS + "${UCRT_SDK_DIR}/Redist/ucrt/DLLs/${OTB_TARGET_SYSTEM_ARCH}" + ) #ucrt dlls else() message(FATAL_ERROR "UniversalCRTSdkDir variable not set. call vcvarsall.bat <arch> first before starting build.") endif() + + #addtional msvc redist dll from VCINSTALLDIR + if(DEFINED ENV{VCINSTALLDIR}) + file(TO_CMAKE_PATH "$ENV{VCINSTALLDIR}" PKG_VCINSTALLDIR) + list( + APPEND + PKG_SEARCHDIRS + "${PKG_VCINSTALLDIR}/redist/${OTB_TARGET_SYSTEM_ARCH}/Microsoft.VC140.CRT/" + "${PKG_VCINSTALLDIR}/redist/${OTB_TARGET_SYSTEM_ARCH}/Microsoft.VC140.OPENMP/" + ) + else() + message(FATAL_ERROR + "VCINSTALLDIR variable not set. call vcvarsall.bat <arch> first before starting build.") + endif() + else() file(GLOB MXE_GCC_LIB_DIR "${DEPENDENCIES_INSTALL_DIR}/bin/gcc*") list(APPEND PKG_SEARCHDIRS ${MXE_GCC_LIB_DIR}) @@ -883,10 +898,11 @@ function(func_process_deps infile) endif() if(WIN32) if(MSVC) - string(REGEX MATCHALL "dependencies.(.*[Dd][Ll][Ll])" loader_ov "${loader_ov}") - string(REGEX REPLACE "dependencies.." "" loader_ov "${loader_ov}") - # take out string 'Image has the following' - string(REGEX REPLACE "Image.has.the.following" "" loader_ov "${loader_ov}") + #skip entries from section 'delay load dependencies' + string(REGEX MATCHALL + "Image.has.the.following.dependencies.(.*[Dd][Ll][Ll])" loader_ov "${loader_ov}") + string(REGEX REPLACE + "Image.has.the.following.dependencies.." "" loader_ov "${loader_ov}") #beware of .DLL and .dll string(REGEX REPLACE ".DLL" ".dll" loader_ov "${loader_ov}") #convert to cmake list @@ -1109,11 +1125,11 @@ set(WINDOWS_SYSTEM_DLLS rpcrt4.dll winspool.drv normaliz.dll - concrt*.*.dll odbc32.dll psapi.dll python...dll - vcomp*.*.dll) + Image.has.the.following.delay.load + ) set(LINUX_SYSTEM_DLLS libm.so