comparison CMakeLists.txt @ 392:6bd75093d3bb

Allow specifying the location the resulting D modules are installed to.
author David Nadlinger <code@klickverbot.at>
date Sat, 28 Aug 2010 02:17:15 +0200
parents b13910fdd739
children e67ce7c21758
comparison
equal deleted inserted replaced
391:4d17d96480db 392:6bd75093d3bb
70 if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR "${CMAKE_INSTALL_PREFIX}" STREQUAL "") 70 if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR "${CMAKE_INSTALL_PREFIX}" STREQUAL "")
71 set(CMAKE_INSTALL_PREFIX 71 set(CMAKE_INSTALL_PREFIX
72 ${DC_PATH} CACHE PATH "QtD install prefix" 72 ${DC_PATH} CACHE PATH "QtD install prefix"
73 ) 73 )
74 endif() 74 endif()
75
76 set(D_MODULE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/d" CACHE PATH "D module install path" )
75 77
76 # Check D compiler version 78 # Check D compiler version
77 if(D_VERSION EQUAL "1") 79 if(D_VERSION EQUAL "1")
78 if (D_FRONTEND LESS "050") 80 if (D_FRONTEND LESS "050")
79 message(STATUS "Minimum required version of D compiler is 1.050 (or compiler based on this version)") 81 message(STATUS "Minimum required version of D compiler is 1.050 (or compiler based on this version)")
173 ########################################################## 175 ##########################################################
174 else(NOT SECOND_RUN) 176 else(NOT SECOND_RUN)
175 177
176 PROJECT(qtd CXX C) 178 PROJECT(qtd CXX C)
177 if(NOT ${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) 179 if(NOT ${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
178 load_cache(${CMAKE_BINARY_DIR}/.. INCLUDE_INTERNALS all_packages QTD_VERSION_STR QTD_VERSION CPP_SHARED) 180 load_cache(${CMAKE_BINARY_DIR}/.. INCLUDE_INTERNALS all_packages QTD_VERSION_STR QTD_VERSION CPP_SHARED D_MODULE_INSTALL_DIR)
179 endif() 181 endif()
180 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) 182 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
181 FIND_PACKAGE(D REQUIRED) 183 FIND_PACKAGE(D REQUIRED)
182 FIND_PACKAGE(Qt4 REQUIRED) 184 FIND_PACKAGE(Qt4 REQUIRED)
183 185
446 regex_safe_string(cbd_safe_tmp ${CMAKE_CURRENT_BINARY_DIR}) 448 regex_safe_string(cbd_safe_tmp ${CMAKE_CURRENT_BINARY_DIR})
447 regex_safe_string(csd_safe_tmp ${CMAKE_CURRENT_SOURCE_DIR}) 449 regex_safe_string(csd_safe_tmp ${CMAKE_CURRENT_SOURCE_DIR})
448 regex_safe_string(ver_safe_tmp ${CMAKE_CURRENT_SOURCE_DIR}/d${D_VERSION}) 450 regex_safe_string(ver_safe_tmp ${CMAKE_CURRENT_SOURCE_DIR}/d${D_VERSION})
449 set(regexp_str_tmp "(${ver_safe_tmp}/|${cbd_safe_tmp}/|${csd_safe_tmp}/|)(.+)") 451 set(regexp_str_tmp "(${ver_safe_tmp}/|${cbd_safe_tmp}/|${csd_safe_tmp}/|)(.+)")
450 string(REGEX REPLACE ${regexp_str_tmp} "\\2" ins_path "${path}") 452 string(REGEX REPLACE ${regexp_str_tmp} "\\2" ins_path "${path}")
451 install(FILES ${d_source} DESTINATION include/d/${ins_path} COMPONENT qtd RENAME ${name}.di) 453 install(FILES ${d_source} DESTINATION ${D_MODULE_INSTALL_DIR}/${ins_path} COMPONENT qtd RENAME ${name}.di)
452 endforeach() 454 endforeach()
453 endif(NOT GENERATE_DI_FILES) 455 endif(NOT GENERATE_DI_FILES)
454 456
455 ### Build the CPP part. 457 ### Build the CPP part.
456 if(CPP_SHARED) 458 if(CPP_SHARED)
595 DEPENDS ${source} 597 DEPENDS ${source}
596 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 598 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
597 ) 599 )
598 endif(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES) 600 endif(NOT "${file_name}" STREQUAL "QGlobal" AND GENERATE_DI_FILES)
599 set(interfaces_list ${interfaces_list} ${interface_file_path}/${file_name}.di) 601 set(interfaces_list ${interfaces_list} ${interface_file_path}/${file_name}.di)
600 install(FILES ${interface_file} COMPONENT qtd DESTINATION include/d/${inc_path}) 602 install(FILES ${interface_file} COMPONENT qtd DESTINATION ${D_MODULE_INSTALL_DIR}/${inc_path})
601 endforeach() 603 endforeach()
602 endif() 604 endif()
603 endif() 605 endif()
604 endforeach() 606 endforeach()
605 if(GENERATE_DI_FILES) 607 if(GENERATE_DI_FILES)