2 ## ======================
3 ## == Useful variables ==
4 ## ======================
6 SET(_src "${CMAKE_CURRENT_SOURCE_DIR}")
7 SET(_bin "${CMAKE_CURRENT_BINARY_DIR}")
9 ## =====================
10 ## == Build instances ==
11 ## =====================
15 ## =========================================
16 ## == Manage every directory as a library ==
17 ## =========================================
19 cpPlugins_CreateLibraryFromDirectory(
20 cpPlugins_tinyxml2 SHARED
21 ${_src}/tinyxml2 ${_bin}/tinyxml2
22 ${prj_VERSION} ${prj_SHORT_VERSION}
25 cpPlugins_CreateLibraryFromDirectory(
26 cpPlugins_Itk2Vtk SHARED
27 ${_src}/Itk2Vtk ${_bin}/Itk2Vtk
28 ${prj_VERSION} ${prj_SHORT_VERSION}
29 ${ITK_LIBRARIES} ${VTK_LIBRARIES}
32 cpPlugins_CreateLibraryFromDirectory(
34 ${_src}/cpExtensions ${_bin}/cpExtensions
35 ${prj_VERSION} ${prj_SHORT_VERSION}
36 ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES}
39 cpPlugins_CreateLibraryFromDirectory(
41 ${_src}/cpPlugins ${_bin}/cpPlugins
42 ${prj_VERSION} ${prj_SHORT_VERSION}
43 ${cpPlugins_Instances}
44 ${cpPlugins_tinyxml2_LIB}
47 cpPlugins_CreateLibraryFromDirectory(
48 cpBaseQtApplication SHARED
49 ${_src}/cpBaseQtApplication ${_bin}/cpBaseQtApplication
50 ${prj_VERSION} ${prj_SHORT_VERSION}
51 ${cpPlugins_LIB} ${cpExtensions_LIB}
54 ## ===================================
55 ## == Libraries to dynamically load ==
56 ## ===================================
58 SET(cpPlugins_DynLibs local@cpExtensions)
59 FOREACH(_lib ${cpPlugins_Instances})
60 LIST(APPEND cpPlugins_DynLibs local@${_lib})
62 FOREACH(_lib ${VTK_LIBRARIES})
63 GET_TARGET_PROPERTY(_lib_${_lib} ${_lib} LOCATION)
64 LIST(APPEND cpPlugins_DynLibs global@${_lib_${_lib}})
66 FOREACH(_lib ${ITK_LIBRARIES})
67 GET_TARGET_PROPERTY(_lib_${_lib} ${_lib} LOCATION)
68 LIST(APPEND cpPlugins_DynLibs global@${_lib_${_lib}})
70 FILE(WRITE ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "")
71 FOREACH(_lib ${cpPlugins_DynLibs})
72 FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n")