]> Creatis software - cpPlugins.git/blob - lib/CMakeLists.txt
...
[cpPlugins.git] / lib / CMakeLists.txt
1 ## ====================
2 ## == Base libraries ==
3 ## ====================
4
5 CompileLibFromDir(cp_tinyxml2 SHARED tinyxml2)
6 IF(USE_QT4)
7   CompileLibFromDir(cp_QCustomPlot SHARED QCustomPlot)
8   TARGET_LINK_LIBRARIES(cp_QCustomPlot ${QT_LIBRARIES})
9 ENDIF(USE_QT4)
10 CompileLibFromDir(cpExtensions SHARED cpExtensions)
11 TARGET_LINK_LIBRARIES(
12   cpExtensions ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
13   )
14
15 ## ===============
16 ## == Instances ==
17 ## ===============
18
19 SUBDIRS(Instances)
20
21 ## ==================
22 ## == Main library ==
23 ## ==================
24
25 ADD_CUSTOM_COMMAND(
26   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h
27   COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins
28   COMMAND ${cpPlugins_bash_CreateRealConfig_APP} ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h
29   DEPENDS ${cpPlugins_bash_CreateRealConfig_APP}
30   )
31 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/Instances)
32 CompileLibFromDir(cpPlugins SHARED cpPlugins ${CMAKE_CURRENT_BINARY_DIR}/cpPlugins/RealConfig.h)
33 TARGET_LINK_LIBRARIES(
34   cpPlugins
35   cp_tinyxml2
36   cpExtensions
37   ${QT_LIBRARIES} ${ITK_LIBRARIES} ${VTK_LIBRARIES}
38   ${cpPlugins_Instances}
39   )
40
41 ## =========================
42 ## == Even more libraries ==
43 ## =========================
44
45 CompileLibFromDir(cpBaseQtApplication SHARED cpBaseQtApplication)
46 TARGET_LINK_LIBRARIES(cpBaseQtApplication cpPlugins)
47
48 ## ====================
49 ## == Base libraries ==
50 ## ====================
51
52 IF(USE_QT4)
53   SET(
54     cpPlugins_BaseLibraries
55     cp_tinyxml2
56     cp_QCustomPlot
57     cpExtensions
58     cpPlugins
59     CACHE INTERNAL "All locally compiled libraries." FORCE
60     )
61 ELSE(USE_QT4)
62   SET(
63     cpPlugins_BaseLibraries
64     cp_tinyxml2
65     cpExtensions
66     cpPlugins
67     CACHE INTERNAL "All locally compiled libraries." FORCE
68     )
69 ENDIF(USE_QT4)
70
71 ## ===================================
72 ## == Libraries to dynamically load ==
73 ## ===================================
74
75 SET(_pre ${CMAKE_SHARED_LIBRARY_PREFIX})
76 SET(_suf ${CMAKE_SHARED_LIBRARY_SUFFIX})
77
78 SET(cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin/${_pre}cpExtensions${_suf}")
79 LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib/${_pre}cpExtensions${_suf}")
80 LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}/${_pre}cpExtensions${_suf}")
81 FOREACH(_lib ${cpPlugins_Instances})
82   LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/bin/${_pre}${_lib}${_suf}")
83   LIST(APPEND cpPlugins_DynLibs "${CMAKE_INSTALL_PREFIX}/lib/${_pre}${_lib}${_suf}")
84   LIST(APPEND cpPlugins_DynLibs "${LIBRARY_OUTPUT_PATH}/${_pre}${_lib}${_suf}")
85 ENDFOREACH(_lib)
86 LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/bin/*vtk*${_suf}")
87 LIST(APPEND cpPlugins_DynLibs "${VTK_INSTALL_PREFIX}/lib/*vtk*${_suf}")
88 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin/*itk*${_suf}")
89 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib/*itk*${_suf}")
90 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/bin/*ITK*${_suf}")
91 LIST(APPEND cpPlugins_DynLibs "${ITK_INSTALL_PREFIX}/lib/*ITK*${_suf}")
92 FILE(WRITE ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "")
93 FOREACH(_lib ${cpPlugins_DynLibs})
94   FILE(APPEND ${PROJECT_BINARY_DIR}/cpPlugins_Libraries.config "${_lib}\n")
95 ENDFOREACH(_lib)
96
97 ## eof - $RCSfilfe$