2 ## =============================
3 ## = Set names and directories =
4 ## =============================
6 SET(lib_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
7 SET(lib_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
8 GET_FILENAME_COMPONENT(lib_NAME ${lib_SOURCE_DIR} NAME)
10 ## =========================
11 ## = Configure local files =
12 ## =========================
14 FILE(GLOB lib_CONFIG_FILES "${lib_SOURCE_DIR}/*.in")
15 FOREACH(_file ${lib_CONFIG_FILES})
16 GET_FILENAME_COMPONENT(_filename ${_file} NAME)
17 STRING(REGEX REPLACE ".in" "" _outfile ${_filename})
18 CONFIGURE_FILE(${_filename} ${lib_BUILD_DIR}/${_outfile} @ONLY)
25 FILE(GLOB lib_SOURCE_HEADERS_H "${lib_SOURCE_DIR}/*.h")
26 FILE(GLOB lib_SOURCE_HEADERS_HPP "${lib_SOURCE_DIR}/*.hpp")
27 FILE(GLOB lib_SOURCE_HEADERS_HXX "${lib_SOURCE_DIR}/*.hxx")
28 FILE(GLOB lib_SOURCE_CODE_C "${lib_SOURCE_DIR}/*.c")
29 FILE(GLOB lib_SOURCE_CODE_CPP "${lib_SOURCE_DIR}/*.cpp")
30 FILE(GLOB lib_SOURCE_CODE_CXX "${lib_SOURCE_DIR}/*.cxx")
31 FILE(GLOB lib_SOURCE_QT_UI "${lib_SOURCE_DIR}/*.ui")
32 FILE(GLOB lib_BUILD_HEADERS_H "${lib_BUILD_DIR}/*.h")
33 FILE(GLOB lib_BUILD_HEADERS_HPP "${lib_BUILD_DIR}/*.hpp")
34 FILE(GLOB lib_BUILD_HEADERS_HXX "${lib_BUILD_DIR}/*.hxx")
35 FILE(GLOB lib_BUILD_CODE_C "${lib_BUILD_DIR}/*.c")
36 FILE(GLOB lib_BUILD_CODE_CPP "${lib_BUILD_DIR}/*.cpp")
37 FILE(GLOB lib_BUILD_CODE_CXX "${lib_BUILD_DIR}/*.cxx")
39 # ===================================
40 # = Integrate all source file names =
41 # ===================================
46 ${lib_SOURCE_CODE_CPP}
47 ${lib_SOURCE_CODE_CXX}
55 ${lib_SOURCE_HEADERS_H}
56 ${lib_SOURCE_HEADERS_HPP}
57 ${lib_SOURCE_HEADERS_HXX}
58 ${lib_BUILD_HEADERS_H}
59 ${lib_BUILD_HEADERS_HPP}
60 ${lib_BUILD_HEADERS_HXX}
65 FOREACH(_h ${lib_SOURCE_HEADERS_H})
67 STRING(FIND "${_txt}" "Q_OBJECT" _res)
68 IF(NOT ${_res} EQUAL -1)
69 LIST(APPEND _hdr_to_wrap ${_h})
70 ENDIF(NOT ${_res} EQUAL -1)
73 QT4_WRAP_CPP(_src_qt_moc ${_hdr_to_wrap})
75 QT4_WRAP_UI(_hdr_qt_ui ${lib_SOURCE_QT_UI})
76 SET(lib_CODE ${lib_CODE} ${_hdr_qt_ui} ${_src_qt_moc})
77 SET(lib_HEADERS ${lib_HEADERS} ${_hdr_qt_ui})
80 ## ==========================
81 ## = Library's dependencies =
82 ## ==========================
89 cpPlugins_Instances_ScalarImages
90 cpPlugins_Instances_ColorImages
91 cpPlugins_Instances_Mesh
94 SET(lib_LINKS ${lib_LINKS} ${QT_LIBRARIES})
97 SET(lib_LINKS ${lib_LINKS} dl)
100 ## ==============================================================
101 ## = Compile library, if there is at least one source code file =
102 ## ==============================================================
105 ADD_LIBRARY(${lib_NAME} SHARED ${lib_CODE})
106 SET_TARGET_PROPERTIES(
107 ${lib_NAME} PROPERTIES
109 SOVERSION "${prj_sVER}"
111 # ADD_DEPENDENCIES(${lib_NAME} ${cpPlugins_LIBRARIES})
112 GENERATE_EXPORT_HEADER(
114 BASE_NAME ${lib_NAME}
115 EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
116 EXPORT_FILE_NAME ${lib_BUILD_DIR}/${lib_NAME}_Export.h
117 STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
119 TARGET_LINK_LIBRARIES(${lib_NAME} ${lib_LINKS})
120 SET(${lib_NAME}_LIB ${lib_NAME} CACHE INTERNAL "library ${lib_NAME}")
126 # ActorAxesProperties.ui
127 # ActorImageProperties.ui
128 # ActorPolyDataProperties.ui
133 # ActorAxesProperties.h
134 # ActorImageProperties.h
135 # ActorPolyDataProperties.h
136 # ActorPropertiesQtDialog.h
137 # ParametersQtDialog.h
141 # ActorProperties.cxx
142 # ActorAxesProperties.cxx
143 # ActorImageProperties.cxx
144 # ActorPolyDataProperties.cxx
145 # ActorPropertiesQtDialog.cxx
146 # ParametersQtDialog.cxx
152 # QT4_WRAP_UI(lib_QT_Wrapped_Headers ${lib_QT_UI})
153 # QT4_WRAP_CPP(lib_QT_Wrapped_MOC_Sources ${lib_QT_Headers})
154 # QT4_ADD_RESOURCES(lib_QT_Wrapped_Resources_Sources ${lib_QT_Resources})
159 # ${lib_QT_Wrapped_Headers}
166 # ${lib_QT_Wrapped_Headers}
167 # ${lib_QT_Wrapped_MOC_Sources}
168 # ${lib_QT_Wrapped_Resources_Sources}
193 # ${cpPlugins_LIBRARIES}
198 # ${target_LIBRARIES}
203 # ## =====================
204 # ## = Compilation rules =
205 # ## =====================
207 # ADD_LIBRARY(${lib_NAME} SHARED ${lib_BUILDS})
208 # SET_TARGET_PROPERTIES(
209 # ${lib_NAME} PROPERTIES
210 # VERSION "${prj_VER}"
211 # SOVERSION "${prj_sVER}"
213 # ADD_DEPENDENCIES(${lib_NAME} ${cpPlugins_LIBRARIES})
214 # GENERATE_EXPORT_HEADER(
216 # BASE_NAME ${lib_NAME}
217 # EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
218 # EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_NAME}_Export.h
219 # STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
221 # TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
223 # ## ========================
224 # ## == Installation rules ==
225 # ## ========================
228 # TARGETS ${lib_NAME}
229 # RUNTIME DESTINATION bin
230 # LIBRARY DESTINATION lib
231 # ARCHIVE DESTINATION lib/static
236 # DESTINATION include/${lib_DIR}