X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FCMakeLists.txt;h=bf5213eaed81aa4501e01df94f8bdbee9f43b951;hb=b41426f0faaee22357b16793efc0f741b039bc41;hp=79b1d66a669573954639b7f8eeb4e5ecea28c285;hpb=201c5026430f9bcc33f9db6a39f5d03db096c860;p=cpPlugins.git diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 79b1d66..bf5213e 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,75 +1,51 @@ -## ====================== -## == 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} +## ========================= +## == Auxiliary libraries == +## ========================= + +CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2) +CompileLibFromDir(cpExtensions SHARED cpExtensions) +TARGET_LINK_LIBRARIES( + cpExtensions ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} ) - -cpPlugins_CreateLibraryFromDirectory( - cpPlugins_Itk2Vtk SHARED - ${_src}/Itk2Vtk ${_bin}/Itk2Vtk - ${prj_VERSION} ${prj_SHORT_VERSION} - ${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} ) - -cpPlugins_CreateLibraryFromDirectory( - cpExtensions SHARED - ${_src}/cpExtensions ${_bin}/cpExtensions - ${prj_VERSION} ${prj_SHORT_VERSION} - ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES} - ) - -cpPlugins_CreateLibraryFromDirectory( +CompileLibFromDir( cpPlugins SHARED - ${_src}/cpPlugins ${_bin}/cpPlugins - ${prj_VERSION} ${prj_SHORT_VERSION} - ${cpPlugins_Instances} - ${cpPlugins_tinyxml2_LIB} + ${CMAKE_CURRENT_SOURCE_DIR}/cpPlugins + ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h ) - -cpPlugins_CreateLibraryFromDirectory( - cpBaseQtApplication SHARED - ${_src}/cpBaseQtApplication ${_bin}/cpBaseQtApplication - ${prj_VERSION} ${prj_SHORT_VERSION} - ${cpPlugins_LIB} ${cpExtensions_LIB} +TARGET_LINK_LIBRARIES( + cpPlugins + cp_tinyxml2 + ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES} ) -## =================================== -## == Libraries to dynamically load == -## =================================== +## ===================== +## == Other libraries == +## ===================== + +SUBDIRS(cpInstances) -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(USE_QT4) + CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication) + TARGET_LINK_LIBRARIES( + cpBaseQtApplication + ${QT_LIBRARIES} cpExtensions cpPlugins + ) +ENDIF(USE_QT4) ## eof - $RCSfile$