-## =====================
-## == Build instances ==
-## =====================
+## ======================
+## == Helper libraries ==
+## ======================
-SUBDIRS(Instances)
+SET(
+ _cpExtensions_components
+ cpExtensions/Config.h.in
+ cpExtensions/DataStructures
+ cpExtensions/Algorithms
+ cpExtensions/Interaction
+ cpExtensions/Visualization
+ )
-## =========================================
-## == Manage every directory as a library ==
-## =========================================
+IF(BUILD_QT4_COMPONENTS)
+ LIST(APPEND _cpExtensions_components "cpExtensions/QT")
+ENDIF(BUILD_QT4_COMPONENTS)
+cpPlugins_BuildLibrary(cpExtensions SHARED ${_cpExtensions_components})
+TARGET_LINK_LIBRARIES(
+ cpExtensions
+ ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
+ )
-SET(_dir ${CMAKE_CURRENT_SOURCE_DIR})
-SET(_pfx cpPlugins)
-SET(_ver ${prj_VERSION} ${prj_SHORT_VERSION})
+## ============================================
+## == Explicit instances from templated code ==
+## ============================================
-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})
+SUBDIRS(
+ cpInstances
+ )
-## ========================
-## == Links to libraries ==
-## ========================
+## ==================
+## == Base library ==
+## ==================
-TARGET_LINK_LIBRARIES(cpExtensions ${ITK_LIBRARIES} ${VTK_LIBRARIES})
-TARGET_LINK_LIBRARIES(cpPlugins ${cpPlugins_Instances} ${cpPlugins_tinyxml2_LIB})
-TARGET_LINK_LIBRARIES(cpBaseQtApplication ${cpPlugins_LIB})
+SET(_real_config ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h)
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${_real_config}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins
+ COMMAND ${cpPlugins_bash_CreateRealConfig_APP} ${_real_config}
+ DEPENDS ${cpPlugins_bash_CreateRealConfig_APP}
+ )
+SET(
+ _cpPlugins_components
+ ${_real_config}
+ cpPlugins/Config.h.in
+ cpPlugins/tinyxml2
+ cpPlugins/OS
+ cpPlugins/Pipeline
+ cpPlugins/Interface
+ )
+IF(BUILD_QT4_COMPONENTS)
+ LIST(APPEND _cpPlugins_components "cpPlugins/QT")
+ENDIF(BUILD_QT4_COMPONENTS)
+cpPlugins_BuildLibrary(cpPlugins SHARED ${_cpPlugins_components})
+TARGET_LINK_LIBRARIES(cpPlugins ${ITK_LIBRARIES} ${VTK_LIBRARIES})
+IF(BUILD_QT4_COMPONENTS)
+ TARGET_LINK_LIBRARIES(cpPlugins ${QT_LIBRARIES})
+ENDIF(BUILD_QT4_COMPONENTS)
## ===================================
-## == Libraries to dynamically load ==
+## == Base library for applications ==
## ===================================
-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)
+IF(BUILD_QT4_COMPONENTS)
+ cpPlugins_BuildLibrary(cpBaseQtApplication SHARED cpBaseQtApplication)
+ cpPlugins_BuildLibrary(cp_QCustomPlot SHARED QCustomPlot)
+ TARGET_LINK_LIBRARIES(
+ cpBaseQtApplication
+ cpExtensions cpPlugins
+ )
+ TARGET_LINK_LIBRARIES(cp_QCustomPlot ${QT_LIBRARIES})
+ENDIF(BUILD_QT4_COMPONENTS)
## eof - $RCSfile$