X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FCMakeLists.txt;h=3c8e0aee971168ce6c31523d631b40b913050e6c;hb=8ada00da37d8c4dc70b9387c1147566c62dbd41f;hp=ef245aa2eebbe97e3a57659c2dbc876636504abc;hpb=8c23766af88a29c3e830299dffc4b95d9fe61df9;p=cpPlugins.git diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index ef245aa..3c8e0ae 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,6 +1,50 @@ -SUBDIRS( - cpPlugins - third_party - ) + +## ===================== +## == Build instances == +## ===================== + +SUBDIRS(Instances) + +## ========================================= +## == Manage every directory as a library == +## ========================================= + +SET(_dir ${CMAKE_CURRENT_SOURCE_DIR}) +SET(_pfx cpPlugins) +SET(_ver ${prj_VERSION} ${prj_SHORT_VERSION}) + +cpPlugins_CreateLibraryFromDirectory(${_pfx}_tinyxml2 SHARED ${_dir}/tinyxml2 ${_ver}) +cpPlugins_CreateLibraryFromDirectory(cpExtensions SHARED ${_dir}/cpExtensions ${_ver}) +cpPlugins_CreateLibraryFromDirectory(cpPlugins SHARED ${_dir}/cpPlugins ${_ver}) +cpPlugins_CreateLibraryFromDirectory(cpBaseQtApplication SHARED ${_dir}/cpBaseQtApplication ${_ver}) + +## ======================== +## == Links to libraries == +## ======================== + +TARGET_LINK_LIBRARIES(cpExtensions ${ITK_LIBRARIES} ${VTK_LIBRARIES}) +TARGET_LINK_LIBRARIES(cpPlugins ${cpPlugins_Instances} ${cpPlugins_tinyxml2_LIB}) +TARGET_LINK_LIBRARIES(cpBaseQtApplication ${cpPlugins_LIB}) + +## =================================== +## == Libraries to dynamically load == +## =================================== + +SET(cpPlugins_DynLibs local@cpExtensions) +FOREACH(_lib ${cpPlugins_Instances}) + LIST(APPEND cpPlugins_DynLibs local@${_lib}) +ENDFOREACH(_lib) +FOREACH(_lib ${VTK_LIBRARIES}) + GET_TARGET_PROPERTY(_lib_${_lib} ${_lib} LOCATION) + LIST(APPEND cpPlugins_DynLibs global@${_lib_${_lib}}) +ENDFOREACH(_lib) +FOREACH(_lib ${ITK_LIBRARIES}) + GET_TARGET_PROPERTY(_lib_${_lib} ${_lib} LOCATION) + LIST(APPEND cpPlugins_DynLibs global@${_lib_${_lib}}) +ENDFOREACH(_lib) +FILE(WRITE ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "") +FOREACH(_lib ${cpPlugins_DynLibs}) + FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n") +ENDFOREACH(_lib) ## eof - $RCSfile$