X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FCMakeLists.txt;h=9b056c493b56db66aa0339d36f3b6026788bdd97;hb=HEAD;hp=6d0c6f9fd948e6e99e7e7b4621b47ef0b6c8ed92;hpb=ced860e96e5d2e10481582649664505396b0054d;p=cpPlugins.git diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 6d0c6f9..9b056c4 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,108 +1,38 @@ - -## ===================== -## == Build instances == -## ===================== - -SUBDIRS(Instances) - -## =========================== -## == Third party libraries == -## =========================== - -CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2) -IF(USE_QT4) - CompileLibFromDir(cp_QCustomPlot SHARED QCustomPlot) - TARGET_LINK_LIBRARIES(cp_QCustomPlot ${QT_LIBRARIES}) -ENDIF(USE_QT4) - -## ================== -## == 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} - ) -CompileLibFromDir( - cpPlugins SHARED cpPlugins - ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h - ) -TARGET_LINK_LIBRARIES( - cpPlugins - cp_tinyxml2 - ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} - ${cpPlugins_Instances} +## ========================================================================= +## @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) +## ========================================================================= + +## == Libraries to compile +cpPlugins_BuildLibrary( + cpPlugins_TinyCon + STATIC RECURRENT + SOURCES TinyCon + INCLUDES ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}/lib ) -## ===================== -## == Other libraries == -## ===================== - -CompileLibFromDir(cpExtensions SHARED cpExtensions) -TARGET_LINK_LIBRARIES( - cpExtensions - ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} +cpPlugins_BuildLibrary( + cpPlugins_mstch + STATIC RECURRENT + SOURCES mstch + INCLUDES ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}/lib ) -IF(USE_QT4) - CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication) - TARGET_LINK_LIBRARIES( - cpBaseQtApplication - cpPlugins cpExtensions - ) -ENDIF(USE_QT4) - -CompileLibFromDir(cpPluginsExtensions SHARED cpPluginsExtensions) -TARGET_LINK_LIBRARIES(cpPluginsExtensions cpPlugins cpExtensions) -## ==================== -## == Base libraries == -## ==================== +cpPlugins_BuildLibrary( + cpPlugins + SHARED RECURRENT INSTALL_ALL + SOURCES cpPlugins + INCLUDES ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}/lib + LINKS dl ${Boost_LIBRARIES} + ) -IF(USE_QT4) - SET( - cpPlugins_BaseLibraries - cp_tinyxml2 - cp_QCustomPlot - cpExtensions - cpPlugins - CACHE INTERNAL "All locally compiled libraries." FORCE +if(BUILD_PLUGINS_cpPluginsBase) + cpPlugins_BuildLibrary( + cpPluginsBase + SHARED RECURRENT INSTALL_ALL + SOURCES cpPluginsBase + INCLUDES ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR}/lib + LINKS cpPlugins ) -ELSE(USE_QT4) - SET( - cpPlugins_BaseLibraries - cp_tinyxml2 - cpExtensions - cpPlugins - CACHE INTERNAL "All locally compiled libraries." FORCE - ) -ENDIF(USE_QT4) - -## =================================== -## == 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) +endif(BUILD_PLUGINS_cpPluginsBase) ## eof - $RCSfile$