diff --git a/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt b/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt index 20046e7b0d3da9e9a30a306c9e3474cc2f39de09..5bb6d442694c4c355182ad5d7de345d45c8299da 100644 --- a/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt +++ b/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt @@ -41,7 +41,16 @@ target_link_libraries(OTBOSSIMAdapters ${OTBOssim_LIBRARIES} ${OTBOssimPlugins_LIBRARIES} ${OTBOpenThreads_LIBRARIES} - ) otb_module_target(OTBOSSIMAdapters) + +# add the OTB_OSSIM_VERSION definition +get_target_property(_OTBOSSIMAdapters_COMP_DEF OTBOSSIMAdapters COMPILE_DEFINITIONS) +if(_OTBOSSIMAdapters_COMP_DEF) + set_target_properties(OTBOSSIMAdapters + PROPERTIES COMPILE_DEFINITIONS "${_OTBOSSIMAdapters_COMP_DEF};OTB_OSSIM_VERSION=${OTB_OSSIM_VERSION}") +else() + set_target_properties(OTBOSSIMAdapters + PROPERTIES COMPILE_DEFINITIONS "OTB_OSSIM_VERSION=${OTB_OSSIM_VERSION}") +endif() diff --git a/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx b/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx index dce63c8c53306778bebec12a9c257cf5cb75c938..493cd5f8df045be26bc20076c282ab57a8867510 100644 --- a/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx +++ b/Modules/Adapters/OSSIMAdapters/src/otbRPCSolverAdapter.cxx @@ -112,7 +112,11 @@ RPCSolverAdapter::Solve(const GCPsContainerType& gcpContainer, rmsError = rpcSolver->getRmsError(); // Retrieve the output RPC projection +#if OTB_OSSIM_VERSION < 20200 ossimRefPtr<ossimRpcProjection> rpcProjection = dynamic_cast<ossimRpcProjection*>(rpcSolver->createRpcProjection()->getProjection()); +#else + ossimRefPtr<ossimRpcModel> rpcProjection = rpcSolver->getRpcModel(); +#endif // Export the sensor model in an ossimKeywordlist ossimKeywordlist geom_kwl; diff --git a/Modules/ThirdParty/Ossim/otb-module-init.cmake b/Modules/ThirdParty/Ossim/otb-module-init.cmake index 12dd30732410af3a723c8a6cbca56558a7520a9e..e6fbb52c4252ee098e6866127507d504616694ab 100644 --- a/Modules/ThirdParty/Ossim/otb-module-init.cmake +++ b/Modules/ThirdParty/Ossim/otb-module-init.cmake @@ -19,3 +19,5 @@ # find_package ( Ossim REQUIRED ) + +set(OTB_OSSIM_VERSION ${OSSIM_VERSION_NUMBER} CACHE INTERNAL "Ossim version detected by OTB" FORCE)