From 4ff4b442f0ab290ded83ee1378318ecd63a20657 Mon Sep 17 00:00:00 2001 From: Alexey Prokhin Date: Sun, 31 Oct 2010 13:38:28 +0300 Subject: [PATCH] Cmake option BUILD_BC_LIBS works again. --- dmd2/module.c | 6 +++--- runtime/CMakeLists.txt | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dmd2/module.c b/dmd2/module.c index 99c0781e..c087b3c5 100644 --- a/dmd2/module.c +++ b/dmd2/module.c @@ -353,14 +353,14 @@ void Module::buildTargetFiles(bool singleObj) if(!objfile) { - if (global.params.output_bc) + if (global.params.output_o) + objfile = Module::buildFilePath(global.params.objname, global.params.objdir, global.obj_ext); + else if (global.params.output_bc) objfile = Module::buildFilePath(global.params.objname, global.params.objdir, global.bc_ext); else if (global.params.output_ll) objfile = Module::buildFilePath(global.params.objname, global.params.objdir, global.ll_ext); else if (global.params.output_s) objfile = Module::buildFilePath(global.params.objname, global.params.objdir, global.s_ext); - else - objfile = Module::buildFilePath(global.params.objname, global.params.objdir, global.obj_ext); } if(doDocComment && !docfile) docfile = Module::buildFilePath(global.params.docname, global.params.docdir, global.doc_ext); diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 10f2fa62..1c342b00 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -164,6 +164,9 @@ macro(dc INPUT_D OUTLIST_O OUTLIST_BC INCDIR MOREFLAGS PATH) else ("${PATH}" STREQUAL "") file(RELATIVE_PATH output ${PATH} ${INPUT_D}) endif ("${PATH}" STREQUAL "") + get_filename_component(name ${output} NAME_WE) + get_filename_component(path ${output} PATH) + set(output ${path}/${name}) set(OUTPUT_O ${PROJECT_BINARY_DIR}/${output}.o) set(OUTPUT_BC ${PROJECT_BINARY_DIR}/${output}.bc) list(APPEND ${OUTLIST_O} ${OUTPUT_O}) @@ -173,8 +176,8 @@ macro(dc INPUT_D OUTLIST_O OUTLIST_BC INCDIR MOREFLAGS PATH) add_custom_command( OUTPUT ${OUTPUT_O} - #${OUTPUT_BC} - COMMAND ${LDC_LOC} -c -I${INCDIR} -I${RUNTIME_GC_DIR} ${INPUT_D} -of${OUTPUT_O} ${D_FLAGS} ${MOREFLAGS} + ${OUTPUT_BC} + COMMAND ${LDC_LOC} --output-o --output-bc -c -I${INCDIR} -I${RUNTIME_GC_DIR} ${INPUT_D} -of${OUTPUT_O} ${D_FLAGS} ${MOREFLAGS} DEPENDS ${LDC_LOC} ${INPUT_D} ${LDC_IMPORTS}