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 "")