]> Creatis software - cpPlugins.git/blobdiff - lib/CMakeLists.txt
Cast image filter added. ROI filter modified.
[cpPlugins.git] / lib / CMakeLists.txt
index 3c8e0aee971168ce6c31523d631b40b913050e6c..bf5213eaed81aa4501e01df94f8bdbee9f43b951 100644 (file)
@@ -1,50 +1,51 @@
 
+## =========================
+## == Auxiliary libraries ==
+## =========================
+
+CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2)
+CompileLibFromDir(cpExtensions SHARED cpExtensions)
+TARGET_LINK_LIBRARIES(
+  cpExtensions ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
+  )
+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
+  ${CMAKE_CURRENT_SOURCE_DIR}/cpPlugins
+  ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h
+  )
+TARGET_LINK_LIBRARIES(
+  cpPlugins
+  cp_tinyxml2
+  ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
+  )
+
 ## =====================
-## == Build instances ==
+## == Other libraries ==
 ## =====================
 
-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)
+SUBDIRS(cpInstances)
+
+IF(USE_QT4)
+  CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication)
+  TARGET_LINK_LIBRARIES(
+    cpBaseQtApplication
+    ${QT_LIBRARIES} cpExtensions cpPlugins
+    )
+ENDIF(USE_QT4)
 
 ## eof - $RCSfile$