X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FCMakeLists.txt;h=a6a7f21e0361a5e506db4441fd748ba03f1d47ac;hb=931fb6b5db15d945e7412735b1ee082b8f62cc97;hp=c1d958e27a475d6352cb2d429a45a12b0871170e;hpb=1b0022070ff3b5f80f6f8c8b87f73032f5685eaf;p=cpPlugins.git diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index c1d958e..a6a7f21 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,14 +1,97 @@ -SUBDIRS( - ItkVtkGlue - third_party - cpExtensions - cpPlugins_ITKInstances +## ==================== +## == Base libraries == +## ==================== + +CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2) +IF(USE_QT4) + CompileLibFromDir(cp_QCustomPlot SHARED QCustomPlot) + TARGET_LINK_LIBRARIES(cp_QCustomPlot ${QT_LIBRARIES}) +ENDIF(USE_QT4) +CompileLibFromDir(cpExtensions SHARED cpExtensions) +TARGET_LINK_LIBRARIES( + cpExtensions ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} + ) + +## =============== +## == Instances == +## =============== + +SUBDIRS(Instances) + +## ================== +## == Main library == +## ================== + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins + COMMAND ${cpPlugins_bash_CreateRealConfig_APP} ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h + DEPENDS ${cpPlugins_bash_CreateRealConfig_APP} + ) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/Instances) +CompileLibFromDir(cpPlugins SHARED cpPlugins ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h) +TARGET_LINK_LIBRARIES( cpPlugins + cp_tinyxml2 + cpExtensions + ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} + ${cpPlugins_Instances} ) + +## ========================= +## == Even more libraries == +## ========================= + +CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication) +TARGET_LINK_LIBRARIES(cpBaseQtApplication cpPlugins) + +## ==================== +## == Base libraries == +## ==================== + IF(USE_QT4) - SUBDIRS( - cpPipelineEditor + SET( + cpPlugins_BaseLibraries + cp_tinyxml2 + cp_QCustomPlot + cpExtensions + cpPlugins + CACHE INTERNAL "All locally compiled libraries." FORCE + ) +ELSE(USE_QT4) + SET( + cpPlugins_BaseLibraries + cp_tinyxml2 + cpExtensions + cpPlugins + CACHE INTERNAL "All locally compiled libraries." FORCE ) ENDIF(USE_QT4) -## eof - $RCSfile$ +## =================================== +## == Libraries to dynamically load == +## =================================== + +SET(_pre ${CMAKE_SHARED_LIBRARY_PREFIX}) +SET(_suf ${CMAKE_SHARED_LIBRARY_SUFFIX}) + +SET(cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin/${_pre}cpExtensions${_suf}") +LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib/${_pre}cpExtensions${_suf}") +LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}/${_pre}cpExtensions${_suf}") +FOREACH(_lib ${cpPlugins_Instances}) + LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin/${_pre}${_lib}${_suf}") + LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib/${_pre}${_lib}${_suf}") + LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}/${_pre}${_lib}${_suf}") +ENDFOREACH(_lib) +LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/bin/*vtk*${_suf}") +LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/lib/*vtk*${_suf}") +LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin/*itk*${_suf}") +LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib/*itk*${_suf}") +LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin/*ITK*${_suf}") +LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib/*ITK*${_suf}") +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 - $RCSfilfe$