## ==================== ## == Some variables == ## ==================== SET(_dir ${CMAKE_CURRENT_SOURCE_DIR}) SET(_ver "${prj_VERSION}" "${prj_SHORT_VERSION}") ## =========================== ## == Third party libraries == ## =========================== LibFromDir(cpPlugins_tinyxml2 SHARED ${_dir}/tinyxml2 ${_ver}) IF(Qt4_FOUND) LibFromDir(cpPlugins_QCustomPlot SHARED ${_dir}/QCustomPlot ${_ver}) TARGET_LINK_LIBRARIES(cpPlugins_QCustomPlot ${QT_LIBRARIES}) ENDIF(Qt4_FOUND) LibFromDir(cpExtensions SHARED ${_dir}/cpExtensions ${_ver}) TARGET_LINK_LIBRARIES(cpExtensions ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES}) ## ===================== ## == Build instances == ## ===================== SUBDIRS(Instances) ## ======================== ## == Build 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} ) LibFromDir(cpPlugins SHARED ${_dir}/cpPlugins ${_ver} "${_demangle_dir}/DemangleBase.h") TARGET_LINK_LIBRARIES(cpPlugins cpPlugins_tinyxml2 cpExtensions ${cpPlugins_Instances}) ## ====================== ## == Build Qt library == ## ====================== IF(Qt4_FOUND) LibFromDir(cpBaseQtApplication SHARED ${_dir}/cpBaseQtApplication ${_ver}) TARGET_LINK_LIBRARIES(cpBaseQtApplication ${cpPlugins_LIB}) ENDIF(Qt4_FOUND) ## =================================== ## == 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) ## eof - $RCSfile$