diff --git a/CMake/UseOTB.cmake.in b/CMake/UseOTB.cmake.in index 7b0057ae063cf3df86b5b0bae9689a2d63fddae2..47933c54bacceb3ca916a02e5a3ec3eee7084e4e 100644 --- a/CMake/UseOTB.cmake.in +++ b/CMake/UseOTB.cmake.in @@ -53,13 +53,22 @@ find_program(OTB_APPLICATION_LAUNCHER otbApplicationLauncherCommandLine PATHS NO_SYSTEM_PATH) if(OTB_USE_EXTERNAL_ITK) - find_package(ITK REQUIRED) - include(${ITK_USE_FILE}) + find_package(ITK REQUIRED) else() find_package(ITK REQUIRED HINTS ${OTB_INSTALL_PREFIX} ${OTB_BINARY_DIRS}/../Utilities/ITK) - include(${ITK_USE_FILE}) endif() +# Don't call ITK_USE_FILE to avoid BEFORE includes of source directories, only +# perform needed action from the ITK_USE_FILE script. ITK source directories +# should be already contained in OTB_INCLUDE_DIRS. +# - Add compiler flags needed to use ITK. +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ITK_REQUIRED_C_FLAGS}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ITK_REQUIRED_CXX_FLAGS}") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${ITK_REQUIRED_LINK_FLAGS}") +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${ITK_REQUIRED_LINK_FLAGS}") +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${ITK_REQUIRED_LINK_FLAGS}") +# - Add link directories needed to use ITK. +link_directories(${ITK_LIBRARY_DIRS}) if(ITK_USE_FFTWF OR ITK_USE_FFTWD) find_package(FFTW REQUIRED)