-## ======================
-## == Useful variables ==
-## ======================
-
-SET(_src "${CMAKE_CURRENT_SOURCE_DIR}")
-SET(_bin "${CMAKE_CURRENT_BINARY_DIR}")
-
## =====================
## == Build instances ==
## =====================
SUBDIRS(Instances)
-## =========================================
-## == Manage every directory as a library ==
-## =========================================
-
-cpPlugins_CreateLibraryFromDirectory(
- cpPlugins_tinyxml2 SHARED
- ${_src}/tinyxml2 ${_bin}/tinyxml2
- ${prj_VERSION} ${prj_SHORT_VERSION}
+## ===========================
+## == 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}
)
-
-cpPlugins_CreateLibraryFromDirectory(
- cpPlugins_Itk2Vtk SHARED
- ${_src}/Itk2Vtk ${_bin}/Itk2Vtk
- ${prj_VERSION} ${prj_SHORT_VERSION}
- ${ITK_LIBRARIES} ${VTK_LIBRARIES}
+CompileLibFromDir(
+ cpPlugins SHARED cpPlugins
+ ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h
)
-
-cpPlugins_CreateLibraryFromDirectory(
- cpExtensions SHARED
- ${_src}/cpExtensions ${_bin}/cpExtensions
- ${prj_VERSION} ${prj_SHORT_VERSION}
- ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES}
- )
-
-cpPlugins_CreateLibraryFromDirectory(
- cpPlugins SHARED
- ${_src}/cpPlugins ${_bin}/cpPlugins
- ${prj_VERSION} ${prj_SHORT_VERSION}
+TARGET_LINK_LIBRARIES(
+ cpPlugins
+ cp_tinyxml2
+ ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
${cpPlugins_Instances}
- ${cpPlugins_tinyxml2_LIB}
)
-cpPlugins_CreateLibraryFromDirectory(
- cpBaseQtApplication SHARED
- ${_src}/cpBaseQtApplication ${_bin}/cpBaseQtApplication
- ${prj_VERSION} ${prj_SHORT_VERSION}
- ${cpPlugins_LIB} ${cpExtensions_LIB}
- )
-
-## ===================================
-## == Libraries to dynamically load ==
-## ===================================
+## =====================
+## == Other libraries ==
+## =====================
-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)
+CompileLibFromDir(cpExtensions SHARED cpExtensions)
+TARGET_LINK_LIBRARIES(
+ cpExtensions
+ ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
+ )
+IF(USE_QT4)
+ CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication)
+ TARGET_LINK_LIBRARIES(
+ cpBaseQtApplication
+ cpPlugins cpExtensions
+ )
+ENDIF(USE_QT4)
## eof - $RCSfile$