annotate CMakeLists.txt @ 750:d05fc504a3a0

Improve CMake build file.
author Christian Kamm <kamm incasoftware de>
date Mon, 03 Nov 2008 12:25:25 +0100
parents db2dd9861600
children 405e40f20ef9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
1 project (ldc)
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
2
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
3 set (LDC_SOURCE_FILES
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
4 dmd/access.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
5 dmd/array.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
6 dmd/arrayop.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 dmd/attrib.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8 dmd/cast.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 dmd/class.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10 dmd/clone.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11 dmd/cond.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 dmd/constfold.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
13 dmd/dchar.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
14 dmd/declaration.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
15 dmd/delegatize.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
16 dmd/doc.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
17 dmd/dsymbol.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
18 dmd/dump.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
19 dmd/entity.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
20 dmd/enum.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
21 dmd/expression.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
22 dmd/func.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
23 dmd/gnuc.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
24 dmd/hdrgen.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
25 dmd/html.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
26 dmd/identifier.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
27 dmd/import.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
28 dmd/inifile.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
29 dmd/init.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
30 dmd/inline.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
31 dmd/interpret.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
32 dmd/lexer.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
33 dmd/lstring.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
34 dmd/macro.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
35 dmd/man.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
36 dmd/mangle.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
37 dmd/mars.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
38 dmd/mem.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
39 dmd/module.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
40 dmd/mtype.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
41 dmd/opover.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
42 dmd/optimize.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
43 dmd/parse.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
44 dmd/root.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
45 dmd/scope.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
46 dmd/statement.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
47 dmd/staticassert.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
48 dmd/stringtable.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
49 dmd/struct.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
50 dmd/template.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
51 dmd/unialpha.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
52 dmd/utf.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
53 dmd/version.c
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
54 gen/aa.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
55 gen/arrays.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
56 gen/asmstmt.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
57 gen/binops.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
58 gen/classes.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
59 gen/complex.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
60 gen/dvalue.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
61 gen/dwarftypes.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
62 gen/functions.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
63 gen/irstate.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
64 gen/linker.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
65 gen/llvmhelpers.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
66 gen/logger.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
67 gen/optimizer.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
68 gen/runtime.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
69 gen/statements.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
70 gen/structs.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
71 gen/tocall.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
72 gen/tocsym.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
73 gen/todebug.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
74 gen/todt.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
75 gen/toir.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
76 gen/tollvm.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
77 gen/toobj.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
78 gen/typinf.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
79 ir/irfunction.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
80 ir/irlandingpad.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
81 ir/irmodule.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
82 ir/irstruct.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
83 ir/irsymbol.cpp
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
84 ir/irtype.cpp
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
85 ir/irvar.cpp
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
86 )
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
87
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
88 set (LDC_GENERATED_SOURCE_FILES
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
89 ${CMAKE_CURRENT_BINARY_DIR}/impcnvtab.c
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
90 ${CMAKE_CURRENT_BINARY_DIR}/id.c
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
91 )
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
92 set (LDC_GENERATED_HEADER_FILES
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
93 ${CMAKE_CURRENT_BINARY_DIR}/id.h
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
94 )
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
95
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
96 # some sources are generated
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
97 set_source_files_properties (
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
98 ${LDC_GENERATED_SOURCE_FILES}
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
99 ${LDC_GENERATED_HEADER_FILES}
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
100 PROPERTIES GENERATED 1
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
101 )
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
102
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
103 # mark all source as c++
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
104 set_source_files_properties (
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
105 ${LDC_SOURCE_FILES} ${LDC_GENERATED_SOURCE_FILES}
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
106 PROPERTIES LANGUAGE CXX
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
107 )
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
108
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
109 # build and run idgen and impcnvgen
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
110 set_source_files_properties (
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
111 dmd/impcnvgen.c
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
112 dmd/idgen.c
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
113 PROPERTIES LANGUAGE CXX
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
114 )
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
115 add_executable (impcnvgen dmd/impcnvgen.c)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
116 add_executable (idgen dmd/idgen.c)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
117 set_target_properties (impcnvgen idgen PROPERTIES LINKER_LANGUAGE CXX)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
118 get_target_property (IMPCNVGEN_EXE impcnvgen LOCATION)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
119 get_target_property (IDGEN_EXE idgen LOCATION)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
120 add_custom_command (
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
121 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/impcnvtab.c
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
122 COMMAND ${IMPCNVGEN_EXE}
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
123 DEPENDS impcnvgen
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
124 )
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
125 add_custom_command (
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
126 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/id.c ${CMAKE_CURRENT_BINARY_DIR}/id.h
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
127 COMMAND ${IDGEN_EXE}
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
128 DEPENDS idgen
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
129 )
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
130
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
131 # ldc itself
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
132 add_executable (ldc ${LDC_SOURCE_FILES} ${LDC_GENERATED_SOURCE_FILES} ${LDC_GENERATED_HEADER_FILES})
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
133
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
134
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
135 # setup DEFAULT_TARGET_TRIPLE
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
136 execute_process (COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/config.guess OUTPUT_VARIABLE DEFAULT_TARGET_TRIPLE_GUESS OUTPUT_STRIP_TRAILING_WHITESPACE)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
137 set (DEFAULT_TARGET_TRIPLE ${DEFAULT_TARGET_TRIPLE_GUESS} CACHE STRING "the default target triple LDC should compile for")
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
138
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
139 # setup POSIX
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
140 if (WIN32)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
141 set (POSIX_GUESS 0)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
142 else (WIN32)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
143 set (POSIX_GUESS 1)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
144 endif (WIN32)
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
145 set (POSIX ${POSIX_GUESS} CACHE BOOL "is LDC build on POSIX?")
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
146
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
147 # setup defines
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
148 set (LDC_DEFINES
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
149 -DIN_LLVM
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
150 -D_DH
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
151 -DOPAQUE_VTBLS
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
152 -DUSE_BOEHM_GC=0
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
153 -DDMDV1
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
154 -DPOSIX=${POSIX}
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
155 -DDEFAULT_TARGET_TRIPLE=\\"${DEFAULT_TARGET_TRIPLE}\\"
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
156 -DX86_REVERSE_PARAMS=1
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
157 -DX86_PASS_IN_EAX=1)
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
158 execute_process (COMMAND llvm-config --cxxflags OUTPUT_VARIABLE LLVM_CXXFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
159 # passing CXXFLAGS here is not good style
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
160 add_definitions (${LDC_DEFINES} ${LLVM_CXXFLAGS})
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
161
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
162 include_directories (. dmd ${CMAKE_CURRENT_BINARY_DIR})
749
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
163
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
164 # this is hackish, but works
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
165 target_link_libraries (ldc "`llvm-config --ldflags` `llvm-config --libs bitwriter linker ipo instrumentation backend`")
db2dd9861600 Add basic CMake build file.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
166
750
d05fc504a3a0 Improve CMake build file.
Christian Kamm <kamm incasoftware de>
parents: 749
diff changeset
167 #TODO: runtime build