Skip to content

Commit a167502

Browse files
committed
CMake: Some cleanup wrt. include/import dirs
1 parent 6fe1324 commit a167502

File tree

3 files changed

+15
-32
lines changed

3 files changed

+15
-32
lines changed

CMakeLists.txt

+11-29
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ if(D_VERSION EQUAL 1)
9999
message(FATAL_ERROR "D version 1 is no longer supported.
100100
Please consider using D version 2 or checkout the 'd1' git branch for the last version supporting D version 1.")
101101
elseif(D_VERSION EQUAL 2)
102-
set(DDMDFE_PATH dmd)
103102
set(LDC_EXE ldc2)
104103
set(LDMD_EXE ldmd2)
105104
set(LDCPROFDATA_EXE ldc-profdata)
@@ -113,11 +112,6 @@ set(LDC_EXE_NAME ${PROGRAM_PREFIX}${LDC_EXE}${PROGRAM_SUFFIX})
113112
set(LDMD_EXE_NAME ${PROGRAM_PREFIX}${LDMD_EXE}${PROGRAM_SUFFIX})
114113
set(LDCPROFDATA_EXE_NAME ${PROGRAM_PREFIX}${LDCPROFDATA_EXE}${PROGRAM_SUFFIX})
115114

116-
file(MAKE_DIRECTORY
117-
${PROJECT_BINARY_DIR}
118-
${PROJECT_BINARY_DIR}/${DDMDFE_PATH}
119-
)
120-
121115
# Setup D compiler flags (DMD syntax, which also works with LDMD).
122116
set(DDMD_DFLAGS "-wi")
123117
set(DDMD_LFLAGS "")
@@ -174,7 +168,7 @@ if(MSVC)
174168
endforeach()
175169
endif()
176170

177-
append("-J${PROJECT_SOURCE_DIR}/${DDMDFE_PATH} -J${PROJECT_SOURCE_DIR}/res" DDMD_DFLAGS) # Needed for importing text files
171+
append("-J${PROJECT_SOURCE_DIR}/res" DDMD_DFLAGS) # Needed for importing text files
178172
string(STRIP "${DDMD_DFLAGS}" DDMD_DFLAGS)
179173

180174
# Use separate compiler flags for the frontend and for the LDC-specific parts,
@@ -310,8 +304,8 @@ configure_file(driver/ldc-version.cpp.in driver/ldc-version.cpp)
310304

311305
# Also add the header files to the build so that they are available in IDE
312306
# project files generated via CMake.
313-
file(GLOB_RECURSE FE_SRC_D ${DDMDFE_PATH}/*.d)
314-
file(GLOB_RECURSE FE_HDR ${DDMDFE_PATH}/*.h)
307+
file(GLOB_RECURSE FE_SRC_D dmd/*.d)
308+
file(GLOB_RECURSE FE_HDR dmd/*.h)
315309
file(GLOB_RECURSE FE_RES res/*.*)
316310
file(GLOB_RECURSE GEN_SRC gen/*.cpp)
317311
file(GLOB_RECURSE GEN_HDR gen/*.h)
@@ -360,9 +354,9 @@ set(DRV_HDR
360354
driver/toobj.h
361355
driver/tool.h
362356
)
363-
# exclude man.d
357+
# exclude man.d from ldc (only required by ldmd)
364358
list(REMOVE_ITEM FE_SRC_D
365-
${PROJECT_SOURCE_DIR}/${DDMDFE_PATH}/root/man.d
359+
${PROJECT_SOURCE_DIR}/dmd/root/man.d
366360
)
367361
# exclude ldmd.d from ldc
368362
list(REMOVE_ITEM DRV_SRC_D
@@ -382,8 +376,8 @@ set(LDC_D_SOURCE_FILES
382376
${IR_SRC_D}
383377
)
384378

385-
source_group("Source Files\\${DDMDFE_PATH}" FILES ${FE_SRC_D})
386-
source_group("Header Files\\${DDMDFE_PATH}" FILES ${FE_HDR})
379+
source_group("Source Files\\dmd" FILES ${FE_SRC_D})
380+
source_group("Header Files\\dmd" FILES ${FE_HDR})
387381
source_group("Source Files\\gen" FILES ${GEN_SRC} ${GEN_SRC_D})
388382
source_group("Header Files\\gen" FILES ${GEN_HDR})
389383
source_group("Source Files\\ir" FILES ${IR_SRC} ${IR_SRC_D})
@@ -414,21 +408,9 @@ message(STATUS "Building LDC with dynamic compilation support: ${LDC_DYNAMIC_COM
414408
# Includes, defines.
415409
#
416410

417-
include_directories(
418-
.
419-
${DDMDFE_PATH}
420-
${DDMDFE_PATH}/root
421-
${PROJECT_BINARY_DIR}/${DDMDFE_PATH}
422-
${PROJECT_SOURCE_DIR}
423-
)
424-
include_directories( SYSTEM
425-
${LLVM_INCLUDE_DIRS}
426-
)
411+
include_directories(. dmd)
427412
append("-I${PROJECT_SOURCE_DIR}" DDMD_DFLAGS)
428413
append("-I${PROJECT_BINARY_DIR}" DDMD_DFLAGS)
429-
if(MSVC)
430-
include_directories(${PROJECT_SOURCE_DIR}/vcbuild)
431-
endif()
432414

433415
if(MSVC)
434416
append("-version=IN_LLVM_MSVC" DDMD_DFLAGS)
@@ -677,7 +659,7 @@ function(build_d_executable output_exe compiler_args linker_args compile_deps li
677659
endif()
678660
add_custom_command(
679661
OUTPUT ${object_file}
680-
COMMAND ${D_COMPILER} -c ${dflags} -I${PROJECT_SOURCE_DIR}/${DDMDFE_PATH} -of${object_file} ${compiler_args}
662+
COMMAND ${D_COMPILER} -c ${dflags} -of${object_file} ${compiler_args}
681663
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
682664
DEPENDS ${compile_deps}
683665
)
@@ -707,7 +689,7 @@ if(MSVC_IDE)
707689
separate_arguments(LDC_FLAG_LIST WINDOWS_COMMAND "${LDC_TRANSLATED_LINKER_FLAGS} ${D_COMPILER_FLAGS} ${DDMD_DFLAGS} ${DDMD_LFLAGS}")
708690
add_custom_command(
709691
OUTPUT ${LDC_EXE_FULL}
710-
COMMAND ${D_COMPILER} -L$<TARGET_LINKER_FILE:${LDC_LIB}> ${LDC_FLAG_LIST} -I${PROJECT_SOURCE_DIR}/${DDMDFE_PATH} -of${LDC_EXE_FULL} ${LDC_D_SOURCE_FILES} $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:-g> $<$<NOT:$<CONFIG:Debug>>:-O> $<$<NOT:$<CONFIG:Debug>>:-inline> $<$<NOT:$<CONFIG:Debug>>:-release>
692+
COMMAND ${D_COMPILER} -L$<TARGET_LINKER_FILE:${LDC_LIB}> ${LDC_FLAG_LIST} -of${LDC_EXE_FULL} ${LDC_D_SOURCE_FILES} $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:-g> $<$<NOT:$<CONFIG:Debug>>:-O> $<$<NOT:$<CONFIG:Debug>>:-inline> $<$<NOT:$<CONFIG:Debug>>:-release>
711693
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
712694
DEPENDS ${LDC_D_SOURCE_FILES} ${FE_RES} ${LDC_LIB}
713695
)
@@ -751,7 +733,7 @@ set_target_properties(
751733
ARCHIVE_OUTPUT_NAME ldmd
752734
LIBRARY_OUTPUT_NAME ldmd
753735
)
754-
set(LDMD_D_SOURCE_FILES ${DDMDFE_PATH}/root/man.d driver/ldmd.d)
736+
set(LDMD_D_SOURCE_FILES dmd/root/man.d driver/ldmd.d)
755737
build_d_executable(
756738
"${LDMD_EXE_FULL}"
757739
"${LDMD_D_SOURCE_FILES}"

dmd/root/port.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@
1212
// Portable wrapper around compiler/system specific things.
1313
// The idea is to minimize #ifdef's in the app code.
1414

15-
#if IN_LLVM
16-
#include <cstdlib>
15+
#ifdef IN_LLVM
16+
#include <stddef.h>
1717
#else
1818
#include <stdlib.h> // for alloca
1919
#endif
2020
#include <stdint.h>
2121

22+
#ifndef IN_LLVM
2223
#if _MSC_VER
2324
#include <alloca.h>
2425
typedef __int64 longlong;
@@ -27,6 +28,7 @@ typedef unsigned __int64 ulonglong;
2728
typedef long long longlong;
2829
typedef unsigned long long ulonglong;
2930
#endif
31+
#endif
3032

3133
typedef unsigned char utf8_t;
3234

vcbuild/alloca.h

-1
This file was deleted.

0 commit comments

Comments
 (0)