]> Creatis software - cpPlugins.git/blobdiff - lib/CMakeLists.txt
...
[cpPlugins.git] / lib / CMakeLists.txt
index c1d958e27a475d6352cb2d429a45a12b0871170e..e149793dd3ee113f6f813e0a4ad3bfddacb58443 100644 (file)
@@ -1,14 +1,62 @@
-SUBDIRS(
-  ItkVtkGlue
-  third_party
-  cpExtensions
-  cpPlugins_ITKInstances
-  cpPlugins
-  )
+## ====================
+## == Base libraries ==
+## ====================
+
+CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2)
 IF(USE_QT4)
-  SUBDIRS(
-    cpPipelineEditor
-    )
+  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 ==
+## ==================
+
+FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h "#ifndef __cpPlugins__RealConfig__h__\n")
+FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h "#define __cpPlugins__RealConfig__h__\n\n")
+FOREACH(_def ${cpPlugins_ALL_CONFIGS})
+  FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h "#define ${_def}\n")
+ENDFOREACH(_def)
+FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h "\n#endif // __cpPlugins__RealConfig__h__\n")
+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}
+  )
+
+## ===================================
+## == Libraries to dynamically load ==
+## ===================================
+
+SET(cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin|cpExtensions")
+LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib|cpExtensions")
+LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}|cpExtensions")
+FOREACH(_lib ${cpPlugins_Instances})
+  LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin|${_lib}")
+  LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib|${_lib}")
+  LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}|${_lib}")
+ENDFOREACH(_lib)
+LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/bin|vtk*")
+LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/lib|vtk*")
+LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin|itk*")
+LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib|itk*")
+LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin|ITK*")
+LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib|ITK*")
+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$
+## eof - $RCSfilfe$