]> Creatis software - cpPlugins.git/blobdiff - lib/CMakeLists.txt
Moved to version 1.0
[cpPlugins.git] / lib / CMakeLists.txt
index 6d0c6f9fd948e6e99e7e7b4621b47ef0b6c8ed92..9b056c493b56db66aa0339d36f3b6026788bdd97 100644 (file)
-
-## =====================
-## == 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$