Mercurial > projects > ldc
changeset 1077:bb57632d27ea
Change the way imports are copied to the (Tango) runtime dir.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Mon, 09 Mar 2009 21:38:31 +0100 |
parents | 39b7c32cd010 |
children | 9c63438c3207 4e388d9d0e25 |
files | runtime/CMakeLists.txt |
diffstat | 1 files changed, 20 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/CMakeLists.txt Mon Mar 09 21:38:24 2009 +0100 +++ b/runtime/CMakeLists.txt Mon Mar 09 21:38:31 2009 +0100 @@ -29,15 +29,23 @@ if(D_VERSION EQUAL 1) # copy imports to runtime dir - set(LDC_IMPORTS ${RUNTIME_DIR}/ldc-imports) - add_custom_command( - OUTPUT ${LDC_IMPORTS} - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/import/ldc/cstdarg.di ${RUNTIME_DIR}/ldc/cstdarg.di - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/import/ldc/intrinsics.di ${RUNTIME_DIR}/ldc/intrinsics.di - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/internal/ldc/bitmanip.d ${RUNTIME_DIR}/ldc/bitmanip.d - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/internal/ldc/vararg.d ${RUNTIME_DIR}/ldc/vararg.d - ) - set_source_files_properties(${LDC_IMPORTS} PROPERTIES SYMBOLIC YES) + set(LDC_IMPORTS) + macro(imports_file SRC) + get_filename_component(DEST ${SRC} NAME) + set(SRC ${PROJECT_SOURCE_DIR}/${SRC}) + set(DEST ${RUNTIME_DIR}/ldc/${DEST}) + + list(APPEND LDC_IMPORTS ${DEST}) + add_custom_command( + OUTPUT ${DEST} + DEPENDS ${SRC} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SRC} ${DEST} + ) + endmacro(imports_file) + imports_file(import/ldc/cstdarg.di) + imports_file(import/ldc/intrinsics.di) + imports_file(internal/ldc/bitmanip.d) + imports_file(internal/ldc/vararg.d) # library names set(RUNTIME_CC tango-cc-tango) set(RUNTIME_GC tango-gc-basic) @@ -109,12 +117,15 @@ set(OUTPUT_BC ${PROJECT_BINARY_DIR}/${OUTDIR}/${BASENAME}.bc) list(APPEND ${OUTLIST_O} ${OUTPUT_O}) list(APPEND ${OUTLIST_BC} ${OUTPUT_BC}) + + # Compile add_custom_command( OUTPUT ${OUTPUT_O} ${OUTPUT_BC} COMMAND ${LDC_LOC} -c -I${INCDIR} -output-bc ${INPUT_D} -of${OUTPUT_O} ${D_FLAGS} ${MOREFLAGS} DEPENDS ${LDC_LOC} + ${INPUT_D} ${LDC_IMPORTS} ${PROJECT_BINARY_DIR}/../bin/${LDC_EXE}.conf )