Mercurial > projects > qtd
comparison generator/CMakeLists.txt @ 265:6cd923119ab1
Another attempt for supporting MacOS.
Now qtjambi_masterinclude.h is generated in the cmake script and contains absolute paths. See, http://www.dsource.org/forums/viewtopic.php?t=4745&sid=2657de5e8bc30456762ad8a4990afeed
author | SokoL_SD |
---|---|
date | Mon, 07 Sep 2009 15:23:31 +0000 |
parents | da7c867ef2ef |
children | 5134552d97f6 |
comparison
equal
deleted
inserted
replaced
264:da7c867ef2ef | 265:6cd923119ab1 |
---|---|
205 #ELSE(NOT USEPCH) | 205 #ELSE(NOT USEPCH) |
206 # MESSAGE(STATUS "Using precompiled-header") | 206 # MESSAGE(STATUS "Using precompiled-header") |
207 # add_precompiled_header(generator ${CMAKE_CURRENT_SOURCE_DIR}/generator_pch.h) | 207 # add_precompiled_header(generator ${CMAKE_CURRENT_SOURCE_DIR}/generator_pch.h) |
208 #ENDIF(NOT USEPCH) | 208 #ENDIF(NOT USEPCH) |
209 | 209 |
210 if(NOT "${packages_in_build_txt}" STREQUAL "${packages}") | 210 set(dgen_build_conf ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt) |
211 set(dgen_build_conf ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt) | 211 set(jambi_inc ${CMAKE_BINARY_DIR}/CMakeFiles/qtjambi_masterinclude.h) |
212 if( NOT "${packages_in_build_txt}" STREQUAL "${packages}" | |
213 OR NOT EXISTS ${dgen_build_conf} | |
214 OR NOT EXISTS ${jambi_inc}) | |
212 file(REMOVE ${dgen_build_conf}) | 215 file(REMOVE ${dgen_build_conf}) |
216 file(REMOVE ${jambi_inc}) | |
213 file(APPEND ${dgen_build_conf} "<typesystem>\n") | 217 file(APPEND ${dgen_build_conf} "<typesystem>\n") |
214 foreach(package ${packages}) | 218 foreach(package_normal ${packages}) |
219 string(TOLOWER ${package_normal} package) | |
220 string(TOUPPER ${package_normal} package_upper) | |
215 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n") | 221 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n") |
216 endforeach(package ${packages}) | 222 message(STATUS "QT_${package_upper}_INCLUDE_DIR ${QT_${package_upper}_INCLUDE_DIR}") |
223 file(APPEND ${jambi_inc} "#include <${QT_QT${package_upper}_INCLUDE_DIR}/Qt${package_normal}>\n") | |
224 endforeach(package_normal ${packages}) | |
217 file(APPEND ${dgen_build_conf} "</typesystem>\n") | 225 file(APPEND ${dgen_build_conf} "</typesystem>\n") |
218 set(packages_in_build_txt ${packages} CACHE INTERNAL "") | 226 set(packages_in_build_txt ${packages} CACHE INTERNAL "") |
219 endif(NOT "${packages_in_build_txt}" STREQUAL "${packages}") | 227 endif( NOT "${packages_in_build_txt}" STREQUAL "${packages}" |
228 OR NOT EXISTS ${dgen_build_conf} | |
229 OR NOT EXISTS ${jambi_inc}) | |
220 | 230 |
221 set(gen_sources) | 231 set(gen_sources) |
222 foreach(package ${packages}) | 232 foreach(package_normal ${packages}) |
233 string(TOLOWER ${package_normal} package) | |
223 set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}.xml) | 234 set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}.xml) |
224 find_file(d_inc_file_found typesystem_${package}-java.java PATHS ${CMAKE_SOURCE_DIR}/generator/) | 235 find_file(d_inc_file_found typesystem_${package}-java.java PATHS ${CMAKE_SOURCE_DIR}/generator/) |
225 if(d_inc_file_found) | 236 if(d_inc_file_found) |
226 set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}-java.java) | 237 set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}-java.java) |
227 endif(d_inc_file_found) | 238 endif(d_inc_file_found) |
228 endforeach(package ${packages}) | 239 endforeach(package_normal ${packages}) |
229 mark_as_advanced(d_inc_file_found) | 240 mark_as_advanced(d_inc_file_found) |
230 set(d_inc_file_found 1) | 241 set(d_inc_file_found 1) |
231 | 242 |
232 if(CMAKE_HOST_WIN32) | 243 if(CMAKE_HOST_WIN32) |
233 set(sep ";") | 244 set(sep ";") |
247 COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl} | 258 COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl} |
248 COMMAND "generator" | 259 COMMAND "generator" |
249 ARGS ${GEN_OPT} --include-paths=${inc_paths} | 260 ARGS ${GEN_OPT} --include-paths=${inc_paths} |
250 --output-directory=${out_dir} | 261 --output-directory=${out_dir} |
251 --source-directory=${CMAKE_SOURCE_DIR}/generator | 262 --source-directory=${CMAKE_SOURCE_DIR}/generator |
252 qtjambi_masterinclude.h | 263 ${CMAKE_BINARY_DIR}/CMakeFiles/qtjambi_masterinclude.h |
253 ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt | 264 ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt |
254 COMMENT "Generating binding..." | 265 COMMENT "Generating binding..." |
255 DEPENDS generator ${gen_sources} ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt | 266 DEPENDS generator ${gen_sources} ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt |
256 ) | 267 ) |
257 add_custom_target(dgen ALL DEPENDS ${dgen_impl} COMMENT "") | 268 add_custom_target(dgen ALL DEPENDS ${dgen_impl} COMMENT "") |