comparison generator/CMakeLists.txt @ 378:7341c47790d4

binding of qwt
author Eldar Insafutdinov
date Sat, 10 Jul 2010 21:54:44 +0100
parents b460cd08041f
children d2f48c4cb3e3
comparison
equal deleted inserted replaced
375:c429854a40c0 378:7341c47790d4
138 set(res_files 138 set(res_files
139 generator.qrc 139 generator.qrc
140 ) 140 )
141 141
142 ## Includes path. 142 ## Includes path.
143 set(inc_paths 143 set(inc_paths_for_build
144 ${CMAKE_CURRENT_SOURCE_DIR}/../common 144 ${CMAKE_CURRENT_SOURCE_DIR}/../common
145 ${CMAKE_CURRENT_SOURCE_DIR}/parser 145 ${CMAKE_CURRENT_SOURCE_DIR}/parser
146 ${CMAKE_CURRENT_SOURCE_DIR} 146 ${CMAKE_CURRENT_SOURCE_DIR}
147 ${CMAKE_CURRENT_SOURCE_DIR}/parser/rpp 147 ${CMAKE_CURRENT_SOURCE_DIR}/parser/rpp
148 #${CMAKE_CURRENT_SOURCE_DIR}/parser/include 148 #${CMAKE_CURRENT_SOURCE_DIR}/parser/include
156 set (QT_USE_QTGUI false) 156 set (QT_USE_QTGUI false)
157 set (QT_USE_QTXML true) 157 set (QT_USE_QTXML true)
158 158
159 include(${QT_USE_FILE} ${CMAKE_CURRENT_SOURCE_DIR}) 159 include(${QT_USE_FILE} ${CMAKE_CURRENT_SOURCE_DIR})
160 160
161 set(inc_paths 161 set(inc_paths_for_build
162 ${inc_paths} 162 ${inc_paths_for_build}
163 ${QT_INCLUDES} 163 ${QT_INCLUDES}
164 ) 164 )
165 set(lib_paths 165 set(lib_paths
166 ${lib_paths} 166 ${lib_paths}
167 ${QT_LIBRARY_DIR} 167 ${QT_LIBRARY_DIR}
174 qt4_add_resources(res_wrapped_files ${res_files}) 174 qt4_add_resources(res_wrapped_files ${res_files})
175 175
176 set (all_srcs 176 set (all_srcs
177 ${srcs} ${moc_srcs} 177 ${srcs} ${moc_srcs}
178 ${res_wrapped_files}) 178 ${res_wrapped_files})
179 include_directories(${inc_paths}) 179 include_directories(${inc_paths_for_build})
180 add_executable(generator ${all_srcs} ) 180 add_executable(generator ${all_srcs} )
181 target_link_libraries(generator ${libs}) 181 target_link_libraries(generator ${libs})
182 182
183 ## TODO: Precompilated header works well, but I don't know a license of PCHSupport_26.cmake which 183 ## TODO: Precompilated header works well, but I don't know a license of PCHSupport_26.cmake which
184 ## was downloaded from http://www.vtk.org/Bug/view.php?id=1260. 184 ## was downloaded from http://www.vtk.org/Bug/view.php?id=1260.
199 OR NOT EXISTS ${jambi_inc}) 199 OR NOT EXISTS ${jambi_inc})
200 file(REMOVE ${dgen_build_conf}) 200 file(REMOVE ${dgen_build_conf})
201 file(REMOVE ${jambi_inc}) 201 file(REMOVE ${jambi_inc})
202 file(APPEND ${dgen_build_conf} "<typesystem>\n") 202 file(APPEND ${dgen_build_conf} "<typesystem>\n")
203 foreach(package_normal ${packages}) 203 foreach(package_normal ${packages})
204 string(TOLOWER ${package_normal} package) 204 string(TOLOWER ${package_normal} package)
205 string(TOUPPER ${package_normal} package_upper) 205 string(TOUPPER ${package_normal} package_upper)
206 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n") 206 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n")
207 file(APPEND ${jambi_inc} "#include <${QT_QT${package_upper}_INCLUDE_DIR}/Qt${package_normal}>\n") 207 # only append include if we have QT_QT${MODULE}_INCLUDE_DIR defined, otherwise handle customly
208 endforeach(package_normal ${packages}) 208 if(NOT ${QT_QT${package_upper}_INCLUDE_DIR} STREQUAL "")
209 file(APPEND ${jambi_inc} "#include <${QT_QT${package_upper}_INCLUDE_DIR}/Qt${package_normal}>\n")
210 endif()
211 endforeach()
209 file(APPEND ${dgen_build_conf} "</typesystem>\n") 212 file(APPEND ${dgen_build_conf} "</typesystem>\n")
210 set(packages_in_build_txt ${packages} CACHE INTERNAL "") 213 set(packages_in_build_txt ${packages} CACHE INTERNAL "")
211 endif( NOT "${packages_in_build_txt}" STREQUAL "${packages}" 214 # merge include file for Qwt
212 OR NOT EXISTS ${dgen_build_conf} 215 if(BUILD_QT_QWT)
213 OR NOT EXISTS ${jambi_inc}) 216 file(READ "${CMAKE_SOURCE_DIR}/include/qwt_masterinclude.h" jambi_inc_qwt)
214 217 file(APPEND ${jambi_inc} ${jambi_inc_qwt})
218 endif()
219 endif()
220
215 set(gen_sources) 221 set(gen_sources)
216 foreach(package_normal ${packages}) 222 foreach(package_normal ${packages})
217 string(TOLOWER ${package_normal} package) 223 string(TOLOWER ${package_normal} package)
218 set(gen_sources ${gen_sources} ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_${package}.xml) 224 set(gen_sources ${gen_sources} ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_${package}.xml)
219 set(d_inc_file_found d_inc_file_found-NOTFOUND) 225 set(d_inc_file_found d_inc_file_found-NOTFOUND)
220 find_file(d_inc_file_found typesystem_${package}-java.java PATHS ${CMAKE_CURRENT_SOURCE_DIR}/) 226 find_file(d_inc_file_found typesystem_${package}-java.java PATHS ${CMAKE_CURRENT_SOURCE_DIR}/)
221 if(d_inc_file_found) 227 if(d_inc_file_found)
222 set(gen_sources ${gen_sources} ${d_inc_file_found}) 228 set(gen_sources ${gen_sources} ${d_inc_file_found})
223 endif(d_inc_file_found) 229 endif()
224 endforeach(package_normal ${packages}) 230 endforeach()
225 mark_as_advanced(d_inc_file_found) 231 mark_as_advanced(d_inc_file_found)
226 set(d_inc_file_found 1) 232 set(d_inc_file_found 1)
227 233
228 if(CMAKE_HOST_WIN32)
229 set(sep ";")
230 else(CMAKE_HOST_WIN32)
231 set(sep ":")
232 endif(CMAKE_HOST_WIN32)
233 foreach(path ${QT_INCLUDES}) 234 foreach(path ${QT_INCLUDES})
234 set(inc_paths ${path}${sep}) 235 set(inc_paths_tmp ${path}${sep})
235 endforeach(path ${QT_INCLUDES}) 236 endforeach()
237 set(inc_paths ${inc_paths}${sep}${inc_paths_tmp})
238
236 if(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) 239 if(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
237 set(out_dir ${CMAKE_SOURCE_DIR}) 240 set(out_dir ${CMAKE_SOURCE_DIR})
238 else(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) 241 else()
239 set(out_dir ${CMAKE_BINARY_DIR}/build) 242 set(out_dir ${CMAKE_BINARY_DIR}/build)
240 endif(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) 243 endif()
241 set(dgen_impl ${out_dir}/cpp/qt_core/ArrayOps_shell.cpp) 244 set(dgen_impl ${out_dir}/cpp/qt_core/ArrayOps_shell.cpp)
242 add_custom_command(OUTPUT ${dgen_impl} 245 add_custom_command(OUTPUT ${dgen_impl}
243 COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl} 246 COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl}
244 COMMAND "generator" 247 COMMAND "generator"
245 ARGS ${GEN_OPT} --include-paths=${inc_paths} 248 ARGS ${GEN_OPT} --include-paths=${inc_paths}