1 ## ====================
2 ## == Some variables ==
3 ## ====================
5 SET(_dir ${CMAKE_CURRENT_SOURCE_DIR})
6 SET(_ver "${prj_VERSION}" "${prj_SHORT_VERSION}")
8 ## ===========================
9 ## == Third party libraries ==
10 ## ===========================
12 LibFromDir(cpPlugins_tinyxml2 SHARED ${_dir}/tinyxml2 ${_ver})
14 LibFromDir(cpPlugins_QCustomPlot SHARED ${_dir}/QCustomPlot ${_ver})
15 TARGET_LINK_LIBRARIES(cpPlugins_QCustomPlot ${QT_LIBRARIES})
17 LibFromDir(cpExtensions SHARED ${_dir}/cpExtensions ${_ver})
18 TARGET_LINK_LIBRARIES(cpExtensions ${ITK_LIBRARIES} ${VTK_LIBRARIES})
20 ## =====================
21 ## == Build instances ==
22 ## =====================
26 ## ========================
27 ## == Build main library ==
28 ## ========================
30 SET(_demangle_dir "${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/BaseObjects")
32 OUTPUT "${_demangle_dir}/DemangleBase.h"
33 COMMAND ${CMAKE_COMMAND} -E make_directory ${_demangle_dir}
34 COMMAND ${cpPlugins_bash_BuildDemangleHeader_APP} "${_demangle_dir}/DemangleBase.h"
35 DEPENDS ${cpPlugins_bash_BuildDemangleHeader_APP}
37 LibFromDir(cpPlugins SHARED ${_dir}/cpPlugins ${_ver} "${_demangle_dir}/DemangleBase.h")
38 TARGET_LINK_LIBRARIES(cpPlugins cpPlugins_tinyxml2 cpExtensions ${cpPlugins_Instances})
40 ## ======================
41 ## == Build Qt library ==
42 ## ======================
45 LibFromDir(cpBaseQtApplication SHARED ${_dir}/cpBaseQtApplication ${_ver})
46 TARGET_LINK_LIBRARIES(cpBaseQtApplication ${cpPlugins_LIB})
49 ## ===================================
50 ## == Libraries to dynamically load ==
51 ## ===================================
57 FOREACH(_lib ${cpPlugins_Instances})
58 LIST(APPEND cpPlugins_DynLibs local@${_lib})
60 FOREACH(_lib ${VTK_LIBRARIES})
61 GET_TARGET_PROPERTY(_lib_${_lib} ${_lib} LOCATION)
62 LIST(APPEND cpPlugins_DynLibs global@${_lib_${_lib}})
64 FOREACH(_lib ${ITK_LIBRARIES})
65 GET_TARGET_PROPERTY(_lib_${_lib} ${_lib} LOCATION)
66 LIST(APPEND cpPlugins_DynLibs global@${_lib_${_lib}})
68 FILE(WRITE ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "")
69 FOREACH(_lib ${cpPlugins_DynLibs})
70 FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n")