Mercurial > projects > qtd
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} |