annotate generator/CMakeLists.txt @ 266:5134552d97f6

Bug fix for http://www.dsource.org/forums/viewtopic.php?t=4713
author SokoL_SD
date Fri, 11 Sep 2009 13:50:59 +0000
parents 6cd923119ab1
children b61a413fc2f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
1 PROJECT(generator CXX C)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
2 cmake_minimum_required(VERSION 2.6)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
3 FIND_PACKAGE(Qt4 REQUIRED)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
4
264
da7c867ef2ef 1) A bug is fixed when the generator doesn't restart if typesystem_${package}-java.java has been changed.
SokoL_SD
parents: 239
diff changeset
5 ## Hack for msvc: force Release settings
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
6 STRING(TOUPPER "${CMAKE_BUILD_TYPE}" build_type_upper)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
7 set(CMAKE_CXX_FLAGS_${build_type_upper} ${CMAKE_CXX_FLAGS_RELEASE})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
8 get_property(dir_prop DIRECTORY
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
9 PROPERTY COMPILE_DEFINITIONS_RELEASE)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
10 set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS_${build_type_upper} ${dir_prop})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
11
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
12 ## Sources
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
13 set(srcs
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
14 classlistgenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
15 cppgenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
16 cppheadergenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
17 cppimplgenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
18 docparser.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
19 generatorsetd.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
20 dgenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
21 jumptable.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
22 metainfogenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
23 metajavabuilder.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
24 qdocgenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
25 uiconverter.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
26 containergenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
27
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
28 generator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
29 main.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
30 reporthandler.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
31 typeparser.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
32 typesystem.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
33 asttoxml.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
34 fileout.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
35 generatorset.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
36 metajava.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
37 customtypes.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
38 abstractmetabuilder.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
39 abstractmetalang.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
40 prigenerator.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
41
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
42 # rxx
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
43 parser/ast.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
44 parser/lexer.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
45 parser/list.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
46 parser/parser.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
47 parser/smallobject.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
48 parser/control.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
49 parser/visitor.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
50 parser/default_visitor.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
51 parser/dumptree.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
52 parser/tokens.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
53 parser/binder.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
54 parser/codemodel.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
55 parser/type_compiler.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
56 parser/name_compiler.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
57 parser/declarator_compiler.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
58 parser/class_compiler.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
59 parser/codemodel_finder.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
60 parser/compiler_utils.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
61
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
62 ## rpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
63 parser/rpp/preprocessor.cpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
64 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
65 ## Moc headers
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
66 set(moc_hdrs
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
67 #classlistgenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
68 cppgenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
69 cppheadergenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
70 cppimplgenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
71 #docparser.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
72 generatorsetd.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
73 dgenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
74 jumptable.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
75 #metainfogenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
76 #metajavabuilder.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
77 #qdocgenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
78 #uiconverter.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
79 containergenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
80 generator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
81 #main.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
82 #reporthandler.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
83 #typeparser.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
84 #typesystem.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
85 #asttoxml.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
86 fileout.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
87 generatorset.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
88 #metajava.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
89 #customtypes.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
90 #abstractmetabuilder.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
91 #abstractmetalang.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
92 prigenerator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
93
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
94 ## rxx
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
95 #parser/ast.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
96 #parser/lexer.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
97 #parser/list.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
98 #parser/parser.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
99 #parser/rxx_allocator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
100 #parser/rpp-allocator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
101 #parser/smallobject.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
102 #parser/tokens.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
103 #parser/symbol.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
104 #parser/control.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
105 #parser/visitor.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
106 #parser/default_visitor.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
107 #parser/dumptree.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
108 #parser/binder.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
109 #parser/codemodel.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
110 #parser/codemodel_pointer.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
111 #parser/codemodel_fwd.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
112 #parser/type_compiler.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
113 #parser/name_compiler.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
114 #parser/declarator_compiler.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
115 #parser/class_compiler.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
116 #parser/codemodel_finder.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
117 #parser/compiler_utils.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
118
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
119 # rpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
120 #parser/rpp/pp-cctype.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
121 #parser/rpp/pp-engine-bits.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
122 #parser/rpp/pp-engine.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
123 #parser/rpp/pp-environment.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
124 #parser/rpp/pp-fwd.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
125 #parser/rpp/pp-internal.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
126 #parser/rpp/pp-iterator.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
127 #parser/rpp/pp-macro-expander.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
128 #parser/rpp/pp-macro.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
129 #parser/rpp/pp-scanner.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
130 #parser/rpp/pp-string.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
131 #parser/rpp/pp-symbol.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
132 #parser/rpp/pp.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
133 #parser/rpp/preprocessor.h
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
134
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
135 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
136
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
137 ## Resources.
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
138 set(res_files
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
139 generator.qrc
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
140 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
141
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
142 #win32-msvc2005:{
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
143 # QMAKE_CXXFLAGS += -wd4996
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
144 # QMAKE_CFLAGS += -wd4996
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
145 #}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
146
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
147 #if(MSVC)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
148 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm500 /Zc:wchar_t-")
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
149 #endif(MSVC)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
150
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
151 #win32-msvc.net {
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
152 # QMAKE_CXXFLAGS += /Zm500
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
153 # QMAKE_CXXFLAGS -= -Zm200
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
154 # QMAKE_CFLAGS -= -Zm200
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
155 #}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
156
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
157 ## Includes path.
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
158 set(inc_paths
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
159 ${CMAKE_CURRENT_SOURCE_DIR}/../common
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
160 ${CMAKE_CURRENT_SOURCE_DIR}/parser
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
161 ${CMAKE_CURRENT_SOURCE_DIR}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
162 ${CMAKE_CURRENT_SOURCE_DIR}/parser/rpp
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
163 #${CMAKE_CURRENT_SOURCE_DIR}/parser/include
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
164 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
165
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
166 add_definitions(-DRXX_ALLOCATOR_INIT_0)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
167
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
168 ## Build project
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
169 find_package (Qt4 REQUIRED)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
170 set (QT_USE_QTMAIN true)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
171 set (QT_USE_QTGUI false)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
172 set (QT_USE_QTXML true)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
173
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
174 include(${QT_USE_FILE} ${CMAKE_CURRENT_SOURCE_DIR})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
175
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
176 set(inc_paths
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
177 ${inc_paths}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
178 ${QT_INCLUDES}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
179 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
180 set(lib_paths
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
181 ${lib_paths}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
182 ${QT_LIBRARY_DIR}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
183 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
184 set(libs
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
185 ${QT_LIBRARIES}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
186 )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
187
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
188 qt4_wrap_cpp(moc_srcs ${moc_hdrs})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
189 qt4_add_resources(res_wrapped_files ${res_files})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
190
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
191 set (all_srcs
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
192 ${srcs} ${moc_srcs}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
193 ${res_wrapped_files})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
194 include_directories(${inc_paths})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
195 add_executable(generator ${all_srcs} )
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
196 target_link_libraries(generator ${libs})
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
197
264
da7c867ef2ef 1) A bug is fixed when the generator doesn't restart if typesystem_${package}-java.java has been changed.
SokoL_SD
parents: 239
diff changeset
198 ## TODO: Precompilated header works well, but I don't know a license of PCHSupport_26.cmake which
da7c867ef2ef 1) A bug is fixed when the generator doesn't restart if typesystem_${package}-java.java has been changed.
SokoL_SD
parents: 239
diff changeset
199 ## was downloaded from http://www.vtk.org/Bug/view.php?id=1260.
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
200 #OPTION(USEPCH "Build the project with precompiled-headers" ON)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
201 #include(../cmake/PCHSupport_26.cmake)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
202 #
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
203 #IF(NOT USEPCH)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
204 # MESSAGE(STATUS "NOT using precompiled-header")
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
205 #ELSE(NOT USEPCH)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
206 # MESSAGE(STATUS "Using precompiled-header")
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
207 # add_precompiled_header(generator ${CMAKE_CURRENT_SOURCE_DIR}/generator_pch.h)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
208 #ENDIF(NOT USEPCH)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
209
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
210 set(dgen_build_conf ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt)
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
211 set(jambi_inc ${CMAKE_BINARY_DIR}/CMakeFiles/qtjambi_masterinclude.h)
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
212 if( NOT "${packages_in_build_txt}" STREQUAL "${packages}"
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
213 OR NOT EXISTS ${dgen_build_conf}
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
214 OR NOT EXISTS ${jambi_inc})
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
215 file(REMOVE ${dgen_build_conf})
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
216 file(REMOVE ${jambi_inc})
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
217 file(APPEND ${dgen_build_conf} "<typesystem>\n")
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
218 foreach(package_normal ${packages})
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
219 string(TOLOWER ${package_normal} package)
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
220 string(TOUPPER ${package_normal} package_upper)
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
221 file(APPEND ${dgen_build_conf} " <load-typesystem name=\"typesystem_${package}.xml\" generate=\"yes\" />\n")
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
222 message(STATUS "QT_${package_upper}_INCLUDE_DIR ${QT_${package_upper}_INCLUDE_DIR}")
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
223 file(APPEND ${jambi_inc} "#include <${QT_QT${package_upper}_INCLUDE_DIR}/Qt${package_normal}>\n")
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
224 endforeach(package_normal ${packages})
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
225 file(APPEND ${dgen_build_conf} "</typesystem>\n")
237
62d0dce52dac CMake: improvements && fixes
SokoL_SD
parents: 236
diff changeset
226 set(packages_in_build_txt ${packages} CACHE INTERNAL "")
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
227 endif( NOT "${packages_in_build_txt}" STREQUAL "${packages}"
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
228 OR NOT EXISTS ${dgen_build_conf}
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
229 OR NOT EXISTS ${jambi_inc})
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
230
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
231 set(gen_sources)
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
232 foreach(package_normal ${packages})
266
5134552d97f6 Bug fix for http://www.dsource.org/forums/viewtopic.php?t=4713
SokoL_SD
parents: 265
diff changeset
233 string(TOLOWER ${package_normal} package)
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
234 set(gen_sources ${gen_sources} ${CMAKE_SOURCE_DIR}/generator/typesystem_${package}.xml)
266
5134552d97f6 Bug fix for http://www.dsource.org/forums/viewtopic.php?t=4713
SokoL_SD
parents: 265
diff changeset
235 set(d_inc_file_found d_inc_file_found-NOTFOUND)
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
236 find_file(d_inc_file_found typesystem_${package}-java.java PATHS ${CMAKE_SOURCE_DIR}/generator/)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
237 if(d_inc_file_found)
266
5134552d97f6 Bug fix for http://www.dsource.org/forums/viewtopic.php?t=4713
SokoL_SD
parents: 265
diff changeset
238 set(gen_sources ${gen_sources} ${d_inc_file_found})
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
239 endif(d_inc_file_found)
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
240 endforeach(package_normal ${packages})
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
241 mark_as_advanced(d_inc_file_found)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
242 set(d_inc_file_found 1)
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
243
232
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
244 if(CMAKE_HOST_WIN32)
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
245 set(sep ";")
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
246 else(CMAKE_HOST_WIN32)
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
247 set(sep ":")
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
248 endif(CMAKE_HOST_WIN32)
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
249 foreach(path ${QT_INCLUDES})
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
250 set(inc_paths ${path}${sep})
1db8a1da977a MacOS fix in CMake
SokoL_SD
parents: 132
diff changeset
251 endforeach(path ${QT_INCLUDES})
239
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
252 if(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
253 set(out_dir ${CMAKE_SOURCE_DIR})
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
254 else(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
255 set(out_dir ${CMAKE_BINARY_DIR}/build)
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
256 endif(${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
257 set(dgen_impl ${out_dir}/cpp/qt_core/ArrayOps_shell.cpp)
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
258 add_custom_command(OUTPUT ${dgen_impl}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
259 COMMAND ${CMAKE_COMMAND} -E remove -f ${dgen_impl}
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
260 COMMAND "generator"
236
fcc0ada121e1 The fix from rev.236 is back
SokoL_SD
parents: 235
diff changeset
261 ARGS ${GEN_OPT} --include-paths=${inc_paths}
239
4716eaf4a67e Hack for building in a source directory
SokoL_SD
parents: 237
diff changeset
262 --output-directory=${out_dir}
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
263 --source-directory=${CMAKE_SOURCE_DIR}/generator
265
6cd923119ab1 Another attempt for supporting MacOS.
SokoL_SD
parents: 264
diff changeset
264 ${CMAKE_BINARY_DIR}/CMakeFiles/qtjambi_masterinclude.h
132
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
265 ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt
a860544c5ee8 CMake: initial version of CMakeD script.
SokoL_SD
parents: 42
diff changeset
266 COMMENT "Generating binding..."
264
da7c867ef2ef 1) A bug is fixed when the generator doesn't restart if typesystem_${package}-java.java has been changed.
SokoL_SD
parents: 239
diff changeset
267 DEPENDS generator ${gen_sources} ${CMAKE_BINARY_DIR}/CMakeFiles/build.txt
235
b796329e8c38 We need to start cmake twice. It is necessary for getting a class list from the generator and using this list for building other parts of QtD.
SokoL_SD
parents: 232
diff changeset
268 )
b796329e8c38 We need to start cmake twice. It is necessary for getting a class list from the generator and using this list for building other parts of QtD.
SokoL_SD
parents: 232
diff changeset
269 add_custom_target(dgen ALL DEPENDS ${dgen_impl} COMMENT "")