comparison 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 a5cba313c924
children bfc76a437a62
comparison
equal deleted inserted replaced
41:691e68637348 42:eb3b5bbffc8f
50 endif(dmd_version) 50 endif(dmd_version)
51 message(STATUS "D compiler founded -- ${D_COMPILER_NAME} v${D_VERSION}.${D_FRONTEND}") 51 message(STATUS "D compiler founded -- ${D_COMPILER_NAME} v${D_VERSION}.${D_FRONTEND}")
52 else (DC) 52 else (DC)
53 message(FATAL_ERROR "D compliler not founded") 53 message(FATAL_ERROR "D compliler not founded")
54 endif (DC) 54 endif (DC)
55
56 # find_program(DC_TMP ${DC})
57 # mark_as_advanced(DC_TMP)
58 # string(REGEX MATCH "([A-Za-z\\.0-9/_\\ ]+)(/bin)/[A-Za-z\\.0-9/_\\ ]+" "\\1" dc_path "${DC_PATH}")
59 # if(NOT "${DC_TMP}" STREQUAL "${dc_path}")
60 # set(CMAKE_INSTALL_PREFIX ${dc_path})
61 # endif(NOT "${DC_TMP}" STREQUAL "${dc_path}")
55 62
56 if(D_IS_MARS) 63 if(D_IS_MARS)
57 option(SINGLE_D_OBJECT "Build all d sources to one object file" "ON") 64 option(SINGLE_D_OBJECT "Build all d sources to one object file" "ON")
58 elseif(D_IS_LLVM) 65 elseif(D_IS_LLVM)
59 option(SINGLE_D_OBJECT "Build all d sources to one object file" "OFF") 66 option(SINGLE_D_OBJECT "Build all d sources to one object file" "OFF")
320 ##-------------------------------------------- 327 ##--------------------------------------------
321 328
322 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/lib) 329 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
323 add_custom_target(allpackages ALL) 330 add_custom_target(allpackages ALL)
324 link_directories(${CMAKE_BINARY_DIR}/CMakeFiles) 331 link_directories(${CMAKE_BINARY_DIR}/CMakeFiles)
325 #add_dgen_target(all ${packages})
326 332
327 foreach(package_big ${all_packages}) 333 foreach(package_big ${all_packages})
328 string(TOLOWER ${package_big} package) 334 string(TOLOWER ${package_big} package)
329 ## Loading settings for package. 335 ## Loading settings for package.
330 set(required) 336 set(required)
343 set(link_example) 349 set(link_example)
344 include (${CMAKE_SOURCE_DIR}/build/${package}.txt) 350 include (${CMAKE_SOURCE_DIR}/build/${package}.txt)
345 351
346 set(all_req_found 1) 352 set(all_req_found 1)
347 string(TOUPPER ${package} package_upper) 353 string(TOUPPER ${package} package_upper)
348 option(BUILD_QT_${package_upper} "Build Qt${package}" "ON") 354 option(BUILD_QT_${package_upper} "Build Qt${package_big}" "ON")
349 if(BUILD_QT_${package_upper}) 355 if(BUILD_QT_${package_upper})
350 foreach(req ${required}) 356 foreach(req ${required})
351 set(req_found) 357 set(req_found)
352 foreach(pack ${packages_big}) 358 foreach(pack ${packages_big})
353 if(${pack} STREQUAL ${req}) 359 if(${pack} STREQUAL ${req})
545 endforeach(package_big ${packages_big}) 551 endforeach(package_big ${packages_big})
546 if(GENERATE_DI_FILES) 552 if(GENERATE_DI_FILES)
547 add_custom_target(generate_headers ALL DEPENDS ${interfaces_list}) 553 add_custom_target(generate_headers ALL DEPENDS ${interfaces_list})
548 endif(GENERATE_DI_FILES) 554 endif(GENERATE_DI_FILES)
549 555
556 add_subdirectory(generator)
550 ## Dependences. 557 ## Dependences.
551 foreach(package ${packages}) 558 foreach(package ${packages})
552 add_dependencies(cpp_${package} dgen) 559 add_dependencies(cpp_${package} dgen)
553 endforeach(package ${packages}) 560 endforeach(package ${packages})
554
555 add_subdirectory(generator)
556 add_sources_for_generating(${files_for_gen}) 561 add_sources_for_generating(${files_for_gen})
557 562
558 ##-------------------------------------------- 563 ##--------------------------------------------
559 ## Build other parts of the QtD. 564 ## Build other parts of the QtD.
560 ##-------------------------------------------- 565 ##--------------------------------------------