Mercurial > projects > ldc
comparison CMakeLists.txt @ 749:db2dd9861600
Add basic CMake build file.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 02 Nov 2008 21:47:31 +0100 |
parents | |
children | d05fc504a3a0 |
comparison
equal
deleted
inserted
replaced
748:6b2c75bd86dd | 749:db2dd9861600 |
---|---|
1 project (ldc) | |
2 | |
3 set (LDC_SOURCE_FILES | |
4 dmd/access.c | |
5 dmd/array.c | |
6 dmd/arrayop.c | |
7 dmd/attrib.c | |
8 dmd/cast.c | |
9 dmd/class.c | |
10 dmd/clone.c | |
11 dmd/cond.c | |
12 dmd/constfold.c | |
13 dmd/dchar.c | |
14 dmd/declaration.c | |
15 dmd/delegatize.c | |
16 dmd/doc.c | |
17 dmd/dsymbol.c | |
18 dmd/dump.c | |
19 dmd/entity.c | |
20 dmd/enum.c | |
21 dmd/expression.c | |
22 dmd/func.c | |
23 dmd/gnuc.c | |
24 dmd/hdrgen.c | |
25 dmd/html.c | |
26 dmd/id.c | |
27 dmd/identifier.c | |
28 dmd/impcnvtab.c | |
29 dmd/import.c | |
30 dmd/inifile.c | |
31 dmd/init.c | |
32 dmd/inline.c | |
33 dmd/interpret.c | |
34 dmd/lexer.c | |
35 dmd/lstring.c | |
36 dmd/macro.c | |
37 dmd/man.c | |
38 dmd/mangle.c | |
39 dmd/mars.c | |
40 dmd/mem.c | |
41 dmd/module.c | |
42 dmd/mtype.c | |
43 dmd/opover.c | |
44 dmd/optimize.c | |
45 dmd/parse.c | |
46 dmd/root.c | |
47 dmd/scope.c | |
48 dmd/statement.c | |
49 dmd/staticassert.c | |
50 dmd/stringtable.c | |
51 dmd/struct.c | |
52 dmd/template.c | |
53 dmd/unialpha.c | |
54 dmd/utf.c | |
55 dmd/version.c | |
56 gen/aa.cpp | |
57 gen/arrays.cpp | |
58 gen/asmstmt.cpp | |
59 gen/binops.cpp | |
60 gen/classes.cpp | |
61 gen/complex.cpp | |
62 gen/dvalue.cpp | |
63 gen/dwarftypes.cpp | |
64 gen/functions.cpp | |
65 gen/irstate.cpp | |
66 gen/linker.cpp | |
67 gen/llvmhelpers.cpp | |
68 gen/logger.cpp | |
69 gen/optimizer.cpp | |
70 gen/runtime.cpp | |
71 gen/statements.cpp | |
72 gen/structs.cpp | |
73 gen/tocall.cpp | |
74 gen/tocsym.cpp | |
75 gen/todebug.cpp | |
76 gen/todt.cpp | |
77 gen/toir.cpp | |
78 gen/tollvm.cpp | |
79 gen/toobj.cpp | |
80 gen/typinf.cpp | |
81 ir/irfunction.cpp | |
82 ir/irlandingpad.cpp | |
83 ir/irmodule.cpp | |
84 ir/irstruct.cpp | |
85 ir/irsymbol.cpp | |
86 ir/irtype.cpp | |
87 ir/irvar.cpp) | |
88 | |
89 add_executable (ldc ${LDC_SOURCE_FILES}) | |
90 set_source_files_properties (${LDC_SOURCE_FILES} PROPERTIES LANGUAGE CXX) | |
91 | |
92 execute_process (COMMAND llvm-config --cxxflags OUTPUT_VARIABLE LLVM_CXXFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) | |
93 #execute_process (COMMAND llvm-config --includedir OUTPUT_VARIABLE LLVM_INCLUDE_DIR) | |
94 #execute_process (COMMAND llvm-config --libs bitwriter linker ipo instrumentation backend OUTPUT_VARIABLE LLVM_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE) | |
95 execute_process (COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/config.guess OUTPUT_VARIABLE DEFAULT_TRIPLE OUTPUT_STRIP_TRAILING_WHITESPACE) | |
96 | |
97 set (LDC_DEFINES | |
98 -DIN_LLVM | |
99 -D_DH | |
100 -DOPAQUE_VTBLS | |
101 -DUSE_BOEHM_GC=0 | |
102 -DDMDV1 | |
103 -DPOSIX=1 | |
104 -DDEFAULT_TARGET_TRIPLE=\\"${DEFAULT_TRIPLE}\\" | |
105 -DX86_REVERSE_PARAMS=1 | |
106 -DX86_PASS_IN_EAX=1) | |
107 | |
108 # passing CXXFLAGS here is not good style | |
109 add_definitions (${LDC_DEFINES} ${LLVM_CXXFLAGS}) | |
110 include_directories (. dmd) | |
111 | |
112 # this is hackish, but works | |
113 target_link_libraries (ldc "`llvm-config --ldflags` `llvm-config --libs bitwriter linker ipo instrumentation backend`") | |
114 | |
115 #TODO: POSIX detection, runtime build |