mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 02:43:14 +01:00
Replace PROJECT_BINARY_DIR by PROJECT_SOURCE_DIR for to be more cohesive
This commit is contained in:
@@ -76,9 +76,9 @@ else(D_VERSION EQUAL 1)
|
||||
endif(D_VERSION EQUAL 1)
|
||||
|
||||
file(MAKE_DIRECTORY
|
||||
${PROJECT_BINARY_DIR}/bin
|
||||
${PROJECT_BINARY_DIR}/${DMDFE_PATH}
|
||||
${PROJECT_BINARY_DIR}/gen
|
||||
${PROJECT_SOURCE_DIR}/bin
|
||||
${PROJECT_SOURCE_DIR}/${DMDFE_PATH}
|
||||
${PROJECT_SOURCE_DIR}/gen
|
||||
)
|
||||
|
||||
# idgen and impcnvgen
|
||||
@@ -93,7 +93,7 @@ add_executable(impcnvgen ${DMDFE_PATH}/impcnvgen.c)
|
||||
set_target_properties(
|
||||
idgen impcnvgen PROPERTIES
|
||||
LINKER_LANGUAGE CXX
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${DMDFE_PATH}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/${DMDFE_PATH}
|
||||
COMPILE_FLAGS ${LLVM_CXXFLAGS}
|
||||
)
|
||||
get_target_property(IDGEN_LOC idgen LOCATION)
|
||||
@@ -101,30 +101,30 @@ get_target_property(IMPCNVGEN_LOC impcnvgen LOCATION)
|
||||
#
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${PROJECT_BINARY_DIR}/${DMDFE_PATH}/id.c
|
||||
${PROJECT_BINARY_DIR}/${DMDFE_PATH}/id.h
|
||||
${PROJECT_SOURCE_DIR}/${DMDFE_PATH}/id.c
|
||||
${PROJECT_SOURCE_DIR}/${DMDFE_PATH}/id.h
|
||||
# 2.4
|
||||
COMMAND ${IDGEN_LOC}
|
||||
#COMMAND idgen
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/${DMDFE_PATH}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/${DMDFE_PATH}
|
||||
DEPENDS idgen
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_BINARY_DIR}/${DMDFE_PATH}/impcnvtab.c
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/${DMDFE_PATH}/impcnvtab.c
|
||||
# 2.4
|
||||
COMMAND ${IMPCNVGEN_LOC}
|
||||
#COMMAND impcnvgen
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/${DMDFE_PATH}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/${DMDFE_PATH}
|
||||
DEPENDS impcnvgen
|
||||
)
|
||||
set(LDC_GENERATED
|
||||
${PROJECT_BINARY_DIR}/${DMDFE_PATH}/id.c
|
||||
${PROJECT_BINARY_DIR}/${DMDFE_PATH}/id.h
|
||||
${PROJECT_BINARY_DIR}/${DMDFE_PATH}/impcnvtab.c
|
||||
${PROJECT_SOURCE_DIR}/${DMDFE_PATH}/id.c
|
||||
${PROJECT_SOURCE_DIR}/${DMDFE_PATH}/id.h
|
||||
${PROJECT_SOURCE_DIR}/${DMDFE_PATH}/impcnvtab.c
|
||||
)
|
||||
# idgen and impcnvgen done
|
||||
|
||||
include_directories(. ${DMDFE_PATH} ${DMDFE_PATH}/root ${PROJECT_BINARY_DIR}/${DMDFE_PATH} ${PROJECT_BINARY_DIR} ${LLVM_INCLUDEDIR})
|
||||
include_directories(. ${DMDFE_PATH} ${DMDFE_PATH}/root ${PROJECT_SOURCE_DIR}/${DMDFE_PATH} ${PROJECT_SOURCE_DIR} ${LLVM_INCLUDEDIR})
|
||||
|
||||
set(EXTRA_LLVM_MODULES "" CACHE STRING "extra llvm components to link in (see llvm-config --components)")
|
||||
separate_arguments(EXTRA_LLVM_MODULES)
|
||||
@@ -221,8 +221,8 @@ if(USE_METADATA)
|
||||
endif(USE_METADATA)
|
||||
|
||||
if(CMAKE_MINOR_VERSION LESS 6)
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "output dir for built executables")
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib CACHE PATH "output dir for built libraries")
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin CACHE PATH "output dir for built executables")
|
||||
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib CACHE PATH "output dir for built libraries")
|
||||
add_definitions(-DDEFAULT_TARGET_TRIPLE=\\"${DEFAULT_TARGET}\\")
|
||||
add_definitions(-DDEFAULT_ALT_TARGET_TRIPLE=\\"${DEFAULT_ALT_TARGET}\\")
|
||||
add_definitions(-DLDC_INSTALL_PREFIX=\\"${CMAKE_INSTALL_PREFIX}\\")
|
||||
@@ -239,7 +239,7 @@ set(LDC_EXE_NAME ${PROGRAM_PREFIX}${LDC_EXE}${PROGRAM_SUFFIX})
|
||||
set_target_properties(
|
||||
${LDC_EXE} PROPERTIES
|
||||
OUTPUT_NAME ${LDC_EXE_NAME}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin
|
||||
COMPILE_FLAGS "${LLVM_CXXFLAGS} ${LIBCONFIG_CXXFLAGS} -Wno-deprecated -Wno-write-strings -fexceptions"
|
||||
)
|
||||
|
||||
@@ -259,8 +259,8 @@ get_target_property(LDC_LOC ${LDC_EXE} LOCATION)
|
||||
|
||||
install(TARGETS ${LDC_EXE} DESTINATION bin)
|
||||
install(PROGRAMS ${PROJECT_SOURCE_DIR}/bin/${LDMD_EXE} DESTINATION bin)
|
||||
install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.conf DESTINATION ${CONF_INST_DIR})
|
||||
install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.rebuild.conf DESTINATION ${CONF_INST_DIR})
|
||||
install(DIRECTORY ${PROJECT_BINARY_DIR}/lib DESTINATION . USE_SOURCE_PERMISSIONS)
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/bin/${LDC_EXE}.conf DESTINATION ${CONF_INST_DIR})
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/bin/${LDC_EXE}.rebuild.conf DESTINATION ${CONF_INST_DIR})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/lib DESTINATION . USE_SOURCE_PERMISSIONS)
|
||||
|
||||
add_subdirectory(runtime EXCLUDE_FROM_ALL)
|
||||
|
||||
@@ -160,8 +160,8 @@ if(NOT LDC_LOC)
|
||||
set(LDC_EXE_NAME ${LDC_EXE})
|
||||
endif(NOT LDC_LOC)
|
||||
|
||||
configure_file(${PROJECT_PARENT_DIR}/${CONFIG_NAME}.conf.in ${PROJECT_BINARY_DIR}/../bin/${LDC_EXE}.conf)
|
||||
configure_file(${PROJECT_PARENT_DIR}/${LDC_EXE}.rebuild.conf.in ${PROJECT_BINARY_DIR}/../bin/${LDC_EXE}.rebuild.conf)
|
||||
configure_file(${PROJECT_PARENT_DIR}/${CONFIG_NAME}.conf.in ${PROJECT_SOURCE_DIR}/../bin/${LDC_EXE}.conf)
|
||||
configure_file(${PROJECT_PARENT_DIR}/${LDC_EXE}.rebuild.conf.in ${PROJECT_SOURCE_DIR}/../bin/${LDC_EXE}.rebuild.conf)
|
||||
|
||||
# patch runtime source, uses LDC_EXE for ldc2
|
||||
if(D_VERSION EQUAL 2)
|
||||
@@ -177,7 +177,7 @@ if(D_VERSION EQUAL 2)
|
||||
# rebuild cache to include sources added by patch
|
||||
add_custom_command(
|
||||
OUTPUT recache
|
||||
COMMAND ${CMAKE_COMMAND} -H${PROJECT_PARENT_DIR} -B${PROJECT_BINARY_DIR}/..
|
||||
COMMAND ${CMAKE_COMMAND} -H${PROJECT_PARENT_DIR} -B${PROJECT_SOURCE_DIR}/..
|
||||
)
|
||||
add_custom_target(patch DEPENDS patch-runtime recache ${LDC_IMPORTS})
|
||||
endif(NOT PATCH_EXE)
|
||||
@@ -196,8 +196,8 @@ macro(dc INPUT_D OUTLIST_O OUTLIST_BC INCDIR MOREFLAGS PATH)
|
||||
else ("${path}" STREQUAL "")
|
||||
set(output ${path}/${name})
|
||||
endif ("${path}" STREQUAL "")
|
||||
set(OUTPUT_O ${PROJECT_BINARY_DIR}/${output}.o)
|
||||
set(OUTPUT_BC ${PROJECT_BINARY_DIR}/${output}.bc)
|
||||
set(OUTPUT_O ${PROJECT_SOURCE_DIR}/${output}.o)
|
||||
set(OUTPUT_BC ${PROJECT_SOURCE_DIR}/${output}.bc)
|
||||
list(APPEND ${OUTLIST_O} ${OUTPUT_O})
|
||||
list(APPEND ${OUTLIST_BC} ${OUTPUT_BC})
|
||||
|
||||
@@ -219,7 +219,7 @@ macro(dc INPUT_D OUTLIST_O OUTLIST_BC INCDIR MOREFLAGS PATH)
|
||||
DEPENDS ${LDC_LOC}
|
||||
${INPUT_D}
|
||||
${LDC_IMPORTS}
|
||||
${PROJECT_BINARY_DIR}/../bin/${LDC_EXE}.conf
|
||||
${PROJECT_SOURCE_DIR}/../bin/${LDC_EXE}.conf
|
||||
)
|
||||
endmacro(dc)
|
||||
|
||||
@@ -271,7 +271,7 @@ if(BUILD_BC_LIBS)
|
||||
COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_GC}-bc.a ${GC_BC}
|
||||
# cannot parse genobj.bc if built with -g
|
||||
# COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_DC}-bc.a ${DCRT_BC}
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/../lib
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../lib
|
||||
DEPENDS
|
||||
${CORE_BC}
|
||||
${GC_BC}
|
||||
@@ -284,8 +284,8 @@ endif(BUILD_BC_LIBS)
|
||||
set_target_properties(
|
||||
${LIBS} PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../lib
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../lib
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../lib
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../lib
|
||||
)
|
||||
|
||||
# BCLIBS is empty if BUILD_BC_LIBS is not selected
|
||||
@@ -309,8 +309,8 @@ if(PHOBOS2_DIR)
|
||||
set_target_properties(
|
||||
lphobos2 PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../lib
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../lib
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../lib
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../lib
|
||||
)
|
||||
add_custom_target(phobos2 DEPENDS lphobos2)
|
||||
endif(PHOBOS2_DIR)
|
||||
|
||||
Reference in New Issue
Block a user