Mercurial > projects > qtd
comparison CMakeLists.txt @ 11:28c9f8f8f34b
Another small fix: correctly processing version of ldc based on llvm from trunk.
author | SokoL_SD |
---|---|
date | Thu, 14 May 2009 13:42:02 +0000 |
parents | 390725da0980 |
children | 74465e760fde |
comparison
equal
deleted
inserted
replaced
10:390725da0980 | 11:28c9f8f8f34b |
---|---|
37 string(REGEX REPLACE "Digital Mars D Compiler v[0-9]\\.([0-9]+)" "\\1" D_FRONTEND "${dmd_version}") | 37 string(REGEX REPLACE "Digital Mars D Compiler v[0-9]\\.([0-9]+)" "\\1" D_FRONTEND "${dmd_version}") |
38 else (dmd_version) | 38 else (dmd_version) |
39 string(REGEX MATCH "LLVM-based D Compiler" is_ldc "${d_output}") | 39 string(REGEX MATCH "LLVM-based D Compiler" is_ldc "${d_output}") |
40 if (is_ldc) | 40 if (is_ldc) |
41 exec_program(${DC} ARGS "--version" OUTPUT_VARIABLE d_output) | 41 exec_program(${DC} ARGS "--version" OUTPUT_VARIABLE d_output) |
42 string(REGEX MATCH "based on DMD v[0-9]\\.[0-9]+ and llvm [0-9]\\.[0-9]+" ldc_version "${d_output}") | 42 string(REGEX MATCH "based on DMD v[0-9]\\.[0-9]+" ldc_version "${d_output}") |
43 set(D_IS_LLVM true) | 43 set(D_IS_LLVM true) |
44 if(ldc_version) | 44 if(ldc_version) |
45 set(D_IS_LLVM true) | 45 set(D_IS_LLVM true) |
46 set(D_COMPILER_NAME "LLVM-based D Compiler") | 46 set(D_COMPILER_NAME "LLVM-based D Compiler") |
47 string(REGEX REPLACE "based on DMD v([0-9])\\.[0-9]+ and llvm [0-9]\\.[0-9]+" "\\1" D_VERSION "${ldc_version}") | 47 string(REGEX REPLACE "based on DMD v([0-9])\\.[0-9]+" "\\1" D_VERSION "${ldc_version}") |
48 string(REGEX REPLACE "based on DMD v[0-9]\\.([0-9]+) and llvm [0-9]\\.[0-9]+" "\\1" D_FRONTEND "${ldc_version}") | 48 string(REGEX REPLACE "based on DMD v[0-9]\\.([0-9]+)" "\\1" D_FRONTEND "${ldc_version}") |
49 else(ldc_version) | 49 else(ldc_version) |
50 message(FATAL_ERROR "LDC compiler was found, but the version can not be processed") | 50 message(FATAL_ERROR "LDC compiler was found, but the version can not be processed") |
51 endif(ldc_version) | 51 endif(ldc_version) |
52 else (is_ldc) | 52 else (is_ldc) |
53 message(FATAL_ERROR "D compliler not founded") | 53 message(FATAL_ERROR "D compliler not founded") |
97 set(D_FLAGS ${D_FLAGS} -I${CMAKE_BINARY_DIR} -I${CMAKE_SOURCE_DIR}) | 97 set(D_FLAGS ${D_FLAGS} -I${CMAKE_BINARY_DIR} -I${CMAKE_SOURCE_DIR}) |
98 if(D_IS_MARS AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows) | 98 if(D_IS_MARS AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows) |
99 else(D_IS_MARS AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows) | 99 else(D_IS_MARS AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows) |
100 set(D_FLAGS ${D_FLAGS} -L-L${CMAKE_BINARY_DIR}/lib) | 100 set(D_FLAGS ${D_FLAGS} -L-L${CMAKE_BINARY_DIR}/lib) |
101 endif(D_IS_MARS AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows) | 101 endif(D_IS_MARS AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows) |
102 | |
103 | 102 |
104 # System specifc settings. | 103 # System specifc settings. |
105 if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) | 104 if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) |
106 set(implib implib) | 105 set(implib implib) |
107 find_program(IMPLIB ${implib}) | 106 find_program(IMPLIB ${implib}) |
418 foreach(link ${link_example}) | 417 foreach(link ${link_example}) |
419 set(${package}_lib_param ${${package}_lib_param} ${link}) | 418 set(${package}_lib_param ${${package}_lib_param} ${link}) |
420 endforeach(link ${link_example}) | 419 endforeach(link ${link_example}) |
421 endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) | 420 endif(${CMAKE_SYSTEM_NAME} STREQUAL Windows AND D_IS_MARS) |
422 | 421 |
423 # set(regexp_str "(${CMAKE_BINARY_DIR}|${CMAKE_SOURCE_DIR})/([A-Za-z0-9\\-_\\\\/]+)[/]+([A-Za-z0-9\\-_\\\\]+).d") | 422 set(regexp_str "(${CMAKE_BINARY_DIR}|${CMAKE_SOURCE_DIR})/([A-Za-z0-9\\-_\\\\/]+)[/]+([A-Za-z0-9\\-_\\\\]+).d") |
424 # foreach(source ${d_sources}) | 423 foreach(source ${d_sources}) |
425 # # find_file(source ${source} PATHS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} | 424 # find_file(source ${source} PATHS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} |
426 # # ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}) | 425 # ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}) |
427 # string(REGEX REPLACE ${regexp_str} "\\2" inc_path "${source}") | 426 string(REGEX REPLACE ${regexp_str} "\\2" inc_path "${source}") |
428 # string(REGEX REPLACE ${regexp_str} "\\3" file_name "${source}") | 427 string(REGEX REPLACE ${regexp_str} "\\3" file_name "${source}") |
429 # set(interface_file_path ${CMAKE_BINARY_DIR}/include/${inc_path}) | 428 set(interface_file_path ${CMAKE_BINARY_DIR}/include/${inc_path}) |
430 # set(interface_file "${interface_file_path}/${file_name}.di") | 429 set(interface_file "${interface_file_path}/${file_name}.di") |
431 # if(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) | 430 if(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) |
432 # add_custom_command(OUTPUT "${interface_file}" | 431 add_custom_command(OUTPUT "${interface_file}" |
433 # COMMAND "${DC}" | 432 COMMAND "${DC}" |
434 # ARGS ${D_FLAGS} -o- -H -Hd${interface_file_path} ${source} | 433 ARGS ${D_FLAGS} -o- -H -Hd${interface_file_path} ${source} |
435 # COMMENT "Generating header for ${source}" | 434 COMMENT "Generating header for ${source}" |
436 # DEPENDS ${source} | 435 DEPENDS ${source} |
437 # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | 436 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
438 # ) | 437 ) |
439 # else(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) | 438 else(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) |
440 # add_custom_command(OUTPUT "${interface_file}" | 439 add_custom_command(OUTPUT "${interface_file}" |
441 # COMMAND ${CMAKE_COMMAND} -E make_directory ${interface_file_path} | 440 COMMAND ${CMAKE_COMMAND} -E make_directory ${interface_file_path} |
442 # COMMAND ${CMAKE_COMMAND} -E remove -f ${interface_file} | 441 COMMAND ${CMAKE_COMMAND} -E remove -f ${interface_file} |
443 # COMMAND ${CMAKE_COMMAND} -E copy ${source} ${interface_file} | 442 COMMAND ${CMAKE_COMMAND} -E copy ${source} ${interface_file} |
444 # COMMENT "" | 443 COMMENT "" |
445 # DEPENDS ${source} | 444 DEPENDS ${source} |
446 # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | 445 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
447 # ) | 446 ) |
448 # endif(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) | 447 endif(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) |
449 # set(interfaces_list ${interfaces_list} ${interface_file_path}/${file_name}.di) | 448 set(interfaces_list ${interfaces_list} ${interface_file_path}/${file_name}.di) |
450 # endforeach(source) | 449 endforeach(source) |
451 endforeach(package_big ${packages_big}) | 450 endforeach(package_big ${packages_big}) |
452 # add_custom_target(generate_headers DEPENDS ${interfaces_list}) | 451 # add_custom_target(generate_headers DEPENDS ${interfaces_list}) |
453 | 452 |
454 ##-------------------------------------------- | 453 ##-------------------------------------------- |
455 ## Build other parts of the QtD. | 454 ## Build other parts of the QtD. |