Mercurial > projects > qtd
comparison generator/CMakeLists.txt @ 42:eb3b5bbffc8f
CMake: generator is not running multiple times.
generator: packages can have dependencies now (but this do not used in real code yet).
author | SokoL_SD |
---|---|
date | Sun, 17 May 2009 15:53:27 +0000 |
parents | a293cd68d56c |
children | a860544c5ee8 |
comparison
equal
deleted
inserted
replaced
41:691e68637348 | 42:eb3b5bbffc8f |
---|---|
243 foreach(package ${packages}) | 243 foreach(package ${packages}) |
244 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n") | 244 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n") |
245 endforeach(package ${packages}) | 245 endforeach(package ${packages}) |
246 file(APPEND ${dgen_build_conf} "</typesystem>\n") | 246 file(APPEND ${dgen_build_conf} "</typesystem>\n") |
247 | 247 |
248 # foreach(dgen_impl ${files_for_gen}) | 248 # macro(add_sources_for_generating) |
249 # add_custom_command(OUTPUT ${dgen_impl} | 249 # set(parameters_list_file ${CMAKE_BINARY_DIR}/CMakeFiles/dgen_parameters) |
250 # COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl} | 250 # if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) |
251 # COMMAND "generator" | 251 # file(REMOVE ${parameters_list_file}) |
252 # ARGS ${GEN_OPT} --qt-include-directory=${QT_INCLUDE_DIR} --output-directory=${CMAKE_BINARY_DIR} | 252 # foreach(arg ${ARGN}) |
253 # --source-directory=${CMAKE_SOURCE_DIR}/generator | 253 # file(APPEND ${parameters_list_file} "${arg}\n") |
254 # qtjambi_masterinclude.h | 254 # endforeach(arg) |
255 # ${dgen_build_conf} | 255 # set(param @${parameters_list_file}) |
256 # COMMENT "Generating binding..." | 256 # elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux) |
257 # DEPENDS generator ${gen_typesystem} ${gen_sources} | 257 # set(param ${parameters}) |
258 # ) | 258 # endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) |
259 # endforeach(dgen_impl ${files_for_gen}) | 259 # foreach(dgen_impl ${ARGN}) |
260 add_custom_target(dgen COMMENT "") | 260 # add_custom_command(OUTPUT ${dgen_impl} |
261 | 261 # COMMAND ${CMAKE_COMMAND} -E remove -f ${param} |
262 macro(add_sources_for_generating) | 262 # COMMAND "generator" |
263 set(parameters_list_file ${CMAKE_BINARY_DIR}/CMakeFiles/dgen_parameters) | 263 # ARGS ${GEN_OPT} --qt-include-directory=${QT_INCLUDE_DIR} --output-directory=${CMAKE_BINARY_DIR} |
264 if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) | 264 # --source-directory=${CMAKE_SOURCE_DIR}/generator |
265 file(REMOVE ${parameters_list_file}) | 265 # qtjambi_masterinclude.h |
266 foreach(arg ${ARGN}) | 266 # ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt |
267 file(APPEND ${parameters_list_file} "${arg}\n") | 267 # COMMENT "Generating binding..." |
268 endforeach(arg) | 268 # DEPENDS generator ${gen_typesystem} ${gen_sources} |
269 set(param @${parameters_list_file}) | 269 # ) |
270 elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux) | 270 # endforeach(dgen_impl ${ARGN}) |
271 set(param ${parameters}) | 271 # add_custom_target(dgen DEPENDS ${ARGN}) |
272 endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows) | 272 # endmacro(add_sources_for_generating) |
273 foreach(dgen_impl ${ARGN}) | 273 |
274 | 274 set(gen_sources) |
275 add_custom_command(OUTPUT ${dgen_impl} | 275 foreach(package ${packages}) |
276 COMMAND ${CMAKE_COMMAND} -E remove -f ${param} | 276 set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}.xml) |
277 COMMAND "generator" | 277 find_file(d_inc_file_found typesystem_${package}-java.java PATHS ${CMAKE_SOURCE_DIR}/generator/) |
278 ARGS ${GEN_OPT} --qt-include-directory=${QT_INCLUDE_DIR} --output-directory=${CMAKE_BINARY_DIR} | 278 if(d_inc_file_found) |
279 --source-directory=${CMAKE_SOURCE_DIR}/generator | 279 set(${CMAKE_SOURCE_DIR}/generator/typesystem_${package}-java.java) |
280 qtjambi_masterinclude.h | 280 endif(d_inc_file_found) |
281 ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt | 281 endforeach(package ${packages}) |
282 COMMENT "Generating binding..." | 282 mark_as_advanced(d_inc_file_found) |
283 DEPENDS generator ${gen_typesystem} ${gen_sources} | 283 set(d_inc_file_found 1) |
284 ) | 284 |
285 #add_custom_target(${target_name} DEPENDS ${dgen_impl}) | 285 foreach(package ${packages}) |
286 #add_dependencies(dgen ${target_name}) | 286 set(dgen_impl ${CMAKE_BINARY_DIR}/cpp/qt_${package}/qt_${package}.pri) |
287 endforeach(dgen_impl ${ARGN}) | 287 break(package ${packages}) |
288 endforeach(package ${packages}) | |
289 | |
290 add_custom_command(OUTPUT ${dgen_impl} | |
291 COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl} | |
292 COMMAND "generator" | |
293 ARGS ${GEN_OPT} --qt-include-directory=${QT_INCLUDE_DIR} --output-directory=${CMAKE_BINARY_DIR} | |
294 --source-directory=${CMAKE_SOURCE_DIR}/generator | |
295 qtjambi_masterinclude.h | |
296 ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt | |
297 COMMENT "Generating binding..." | |
298 DEPENDS generator ${gen_sources} | |
299 ) | |
300 add_custom_target(dgen DEPENDS ${dgen_impl} COMMENT "") | |
301 | |
302 macro(add_sources_for_generating) | |
303 foreach(source ${ARGN}) | |
304 add_custom_command(OUTPUT "${source}" | |
305 COMMAND "" | |
306 ARGS "" | |
307 DEPENDS ${dgen_impl} | |
308 COMMENT "" | |
309 ) | |
310 endforeach(source ${ARGN}) | |
288 endmacro(add_sources_for_generating) | 311 endmacro(add_sources_for_generating) |