Mercurial > projects > ldc
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 |
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 |