X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FCMakeLists.txt;h=4d6f6008aaa6118172437146268925cf4f505349;hb=49d2d7db538d60008b9a5701ea8f26bb19997a82;hp=4caae27003d6959d58e79016c4bc7201a627748d;hpb=1f5c3516bf4240bcdd91979ac303298ef1f75fc3;p=cpPlugins.git diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 4caae27..4d6f600 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,50 +1,49 @@ ## ==================== -## == Some variables == +## == Base libraries == ## ==================== -SET(_dir ${CMAKE_CURRENT_SOURCE_DIR}) -SET(_ver "${prj_VERSION}" "${prj_SHORT_VERSION}") - -## =========================== -## == Third party libraries == -## =========================== - -LibFromDir(cpPlugins_tinyxml2 ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/tinyxml2 ${_ver}) -IF(Qt4_FOUND) - LibFromDir(cpPlugins_QCustomPlot ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/QCustomPlot ${_ver}) - TARGET_LINK_LIBRARIES(cpPlugins_QCustomPlot ${QT_LIBRARIES}) -ENDIF(Qt4_FOUND) -LibFromDir(cpExtensions ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/cpExtensions ${_ver}) -TARGET_LINK_LIBRARIES(cpExtensions ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES}) +CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2) +IF(USE_QT4) + 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} + ) -## ===================== -## == Build instances == -## ===================== +## =============== +## == Instances == +## =============== SUBDIRS(Instances) -## ======================== -## == Build main library == -## ======================== +## ================== +## == Main library == +## ================== -SET(_demangle_dir "${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/BaseObjects") -ADD_CUSTOM_COMMAND( - OUTPUT "${_demangle_dir}/DemangleBase.h" - COMMAND ${CMAKE_COMMAND} -E make_directory ${_demangle_dir} - COMMAND ${cpPlugins_bash_BuildDemangleHeader_APP} "${_demangle_dir}/DemangleBase.h" - DEPENDS ${cpPlugins_bash_BuildDemangleHeader_APP} +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} ) -LibFromDir(cpPlugins ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/cpPlugins ${_ver} ${_demangle_dir}/DemangleBase.h) -TARGET_LINK_LIBRARIES(cpPlugins cpPlugins_tinyxml2 cpExtensions ${cpPlugins_Instances}) -## ====================== -## == Build Qt library == -## ====================== +## ========================= +## == Even more libraries == +## ========================= -IF(Qt4_FOUND) - LibFromDir(cpBaseQtApplication ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/cpBaseQtApplication ${_ver}) - TARGET_LINK_LIBRARIES(cpBaseQtApplication ${cpPlugins_LIB}) -ENDIF(Qt4_FOUND) +CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication) +TARGET_LINK_LIBRARIES(cpBaseQtApplication cpPlugins) ## =================================== ## == Libraries to dynamically load == @@ -69,4 +68,4 @@ FOREACH(_lib ${cpPlugins_DynLibs}) FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n") ENDFOREACH(_lib) -## eof - $RCSfile$ +## eof - $RCSfilfe$