]> Creatis software - cpPlugins.git/blob - lib/CMakeLists.txt
4caae27003d6959d58e79016c4bc7201a627748d
[cpPlugins.git] / lib / CMakeLists.txt
1 ## ====================
2 ## == Some variables ==
3 ## ====================
4
5 SET(_dir ${CMAKE_CURRENT_SOURCE_DIR})
6 SET(_ver "${prj_VERSION}" "${prj_SHORT_VERSION}")
7
8 ## ===========================
9 ## == Third party libraries ==
10 ## ===========================
11
12 LibFromDir(cpPlugins_tinyxml2 ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/tinyxml2 ${_ver})
13 IF(Qt4_FOUND)
14   LibFromDir(cpPlugins_QCustomPlot ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/QCustomPlot ${_ver})
15   TARGET_LINK_LIBRARIES(cpPlugins_QCustomPlot ${QT_LIBRARIES})
16 ENDIF(Qt4_FOUND)
17 LibFromDir(cpExtensions ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/cpExtensions ${_ver})
18 TARGET_LINK_LIBRARIES(cpExtensions ${ITK_LIBRARIES} ${VTK_LIBRARIES} ${QT_LIBRARIES})
19
20 ## =====================
21 ## == Build instances ==
22 ## =====================
23
24 SUBDIRS(Instances)
25
26 ## ========================
27 ## == Build main library ==
28 ## ========================
29
30 SET(_demangle_dir "${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/BaseObjects")
31 ADD_CUSTOM_COMMAND(
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}
36   )
37 LibFromDir(cpPlugins ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/cpPlugins ${_ver} ${_demangle_dir}/DemangleBase.h)
38 TARGET_LINK_LIBRARIES(cpPlugins cpPlugins_tinyxml2 cpExtensions ${cpPlugins_Instances})
39
40 ## ======================
41 ## == Build Qt library ==
42 ## ======================
43
44 IF(Qt4_FOUND)
45   LibFromDir(cpBaseQtApplication ${PROJECT_BINARY_DIR}/lib SHARED ${_dir}/cpBaseQtApplication ${_ver})
46   TARGET_LINK_LIBRARIES(cpBaseQtApplication ${cpPlugins_LIB})
47 ENDIF(Qt4_FOUND)
48
49 ## ===================================
50 ## == Libraries to dynamically load ==
51 ## ===================================
52
53 SET(cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin|cpExtensions")
54 LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib|cpExtensions")
55 LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}|cpExtensions")
56 FOREACH(_lib ${cpPlugins_Instances})
57   LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin|${_lib}")
58   LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib|${_lib}")
59   LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}|${_lib}")
60 ENDFOREACH(_lib)
61 LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/bin|vtk*")
62 LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/lib|vtk*")
63 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin|itk*")
64 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib|itk*")
65 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin|ITK*")
66 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib|ITK*")
67 FILE(WRITE ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "")
68 FOREACH(_lib ${cpPlugins_DynLibs})
69   FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n")
70 ENDFOREACH(_lib)
71
72 ## eof - $RCSfile$