Develop and Download Open Source Software

Browse Subversion Repository

Contents of /tags/tritonn-1.0.13-mysql-5.0.67/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 176 - (show annotations) (download)
Wed Dec 10 05:08:28 2008 UTC (15 years, 3 months ago) by mir
File MIME type: text/plain
File size: 9292 byte(s)
started tritonn-1.0.13

1 # Copyright (C) 2006 MySQL AB
2 #
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; version 2 of the License.
6 #
7 # This program is distributed in the hope that it will be useful,
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 # GNU General Public License for more details.
11 #
12 # You should have received a copy of the GNU General Public License
13 # along with this program; if not, write to the Free Software
14 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
15
16 CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
17
18 PROJECT(MySql)
19
20 # This reads user configuration, generated by configure.js.
21 INCLUDE(win/configure.data)
22
23 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
24 ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
25
26 # Set standard options
27 ADD_DEFINITIONS(-DCMAKE_BUILD)
28 ADD_DEFINITIONS(-DHAVE_YASSL)
29
30 # Set debug options
31 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS")
32
33 # Note that some engines are always compiled in, MyISAM, MyISAMMRG, HEAP
34
35 IF(WITH_ARCHIVE_STORAGE_ENGINE)
36 ADD_DEFINITIONS(-DHAVE_ARCHIVE_DB)
37 ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
38
39 IF(WITH_BERKELEY_STORAGE_ENGINE)
40 ADD_DEFINITIONS(-DHAVE_BERKELEY_DB)
41 ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
42
43 IF (WITH_BLACKHOLE_STORAGE_ENGINE)
44 ADD_DEFINITIONS(-DHAVE_BLACKHOLE_DB)
45 ENDIF (WITH_BLACKHOLE_STORAGE_ENGINE)
46
47 IF(WITH_EXAMPLE_STORAGE_ENGINE)
48 ADD_DEFINITIONS(-DHAVE_EXAMPLE_DB)
49 ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
50
51 IF(WITH_FEDERATED_STORAGE_ENGINE)
52 ADD_DEFINITIONS(-DHAVE_FEDERATED_DB)
53 ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
54
55 IF(WITH_INNOBASE_STORAGE_ENGINE)
56 ADD_DEFINITIONS(-DHAVE_INNOBASE_DB)
57 ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
58
59 SET(localstatedir "C:\\mysql\\data")
60 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-huge.cnf.sh
61 ${CMAKE_SOURCE_DIR}/support-files/my-huge.ini @ONLY)
62 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.cnf.sh
63 ${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.ini @ONLY)
64 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-large.cnf.sh
65 ${CMAKE_SOURCE_DIR}/support-files/my-large.ini @ONLY)
66 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-medium.cnf.sh
67 ${CMAKE_SOURCE_DIR}/support-files/my-medium.ini @ONLY)
68 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-small.cnf.sh
69 ${CMAKE_SOURCE_DIR}/support-files/my-small.ini @ONLY)
70
71 IF(__NT__)
72 ADD_DEFINITIONS(-D__NT__)
73 ENDIF(__NT__)
74
75 # in some places we use DBUG_OFF
76 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF")
77 SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
78 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DDBUG_OFF")
79 SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
80
81 #TODO: update the code and remove the disabled warnings
82 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800 /wd4805")
83 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4800 /wd4805")
84
85 IF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
86 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996")
87 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996")
88 SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996")
89 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996")
90 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996")
91 SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996")
92 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
93
94 IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
95 CMAKE_GENERATOR MATCHES "Visual Studio 8")
96
97 # replace /MDd with /MTd
98 STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
99 STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
100 STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
101 STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG_INIT ${CMAKE_C_FLAGS_DEBUG_INIT})
102
103 STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
104 STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
105 STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
106 STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_CXX_FLAGS_DEBUG_INIT})
107
108 # generate map files, set stack size (see bug#20815)
109 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MAP /MAPINFO:EXPORTS")
110 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1048576")
111
112 # remove support for Exception handling
113 STRING(REPLACE "/GX" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
114 STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
115 STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_INIT ${CMAKE_CXX_FLAGS_INIT})
116 STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_CXX_FLAGS_DEBUG_INIT})
117
118 # Disable automatic manifest generation.
119 STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS
120 ${CMAKE_EXE_LINKER_FLAGS})
121 # Explicitly disable it since it is the default for newer versions of VS
122 STRING(REGEX MATCH "MANIFEST:NO" tmp_manifest ${CMAKE_EXE_LINKER_FLAGS})
123 IF(NOT tmp_manifest)
124 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
125 ENDIF(NOT tmp_manifest)
126
127 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
128 CMAKE_GENERATOR MATCHES "Visual Studio 8")
129
130 ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
131
132 # This definition is necessary to work around a bug with Intellisense described
133 # here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper
134 # debugger functionality.
135 IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
136 MESSAGE(STATUS "Detected 64-bit platform.")
137 ADD_DEFINITIONS("-D_WIN64")
138 ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 8)
139
140 IF(EMBED_MANIFESTS)
141 # Search for the tools (mt, makecat, signtool) necessary for embedding
142 # manifests and signing executables with the MySQL AB authenticode cert.
143 #
144 # CMake will first search it's defaults (CMAKE_FRAMEWORK_PATH,
145 # CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and the system PATH) followed
146 # by the listed paths which are the current possible defaults and should be
147 # updated when necessary.
148 #
149 # The custom manifests are designed to be compatible with all mt versions.
150 # The MySQL AB Authenticode certificate is available only internally.
151 # Others should store a single signing certificate in a local cryptographic
152 # service provider and alter the signtool command as necessary.
153 FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt
154 PATHS
155 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin"
156 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
157 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
158 FIND_PROGRAM(HAVE_CATALOG_TOOL NAMES makecat
159 PATHS
160 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin")
161 FIND_PROGRAM(HAVE_SIGN_TOOL NAMES signtool
162 PATHS
163 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
164 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
165
166 IF(HAVE_MANIFEST_TOOL)
167 MESSAGE(STATUS "Found Mainfest Tool.")
168 ELSE(HAVE_MANIFEST_TOOL)
169 MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.")
170 ENDIF(HAVE_MANIFEST_TOOL)
171 IF(HAVE_CATALOG_TOOL)
172 MESSAGE(STATUS "Found Catalog Tool.")
173 ELSE(HAVE_CATALOG_TOOL)
174 MESSAGE(FATAL_ERROR "Catalog tool, makecat.exe, can't be found.")
175 ENDIF(HAVE_CATALOG_TOOL)
176 IF(HAVE_SIGN_TOOL)
177 MESSAGE(STATUS "Found Sign Tool. Embedding custom manifests and signing executables.")
178 ELSE(HAVE_SIGN_TOOL)
179 MESSAGE(FATAL_ERROR "Sign tool, signtool.exe, can't be found.")
180 ENDIF(HAVE_SIGN_TOOL)
181
182 # Set the processor architecture.
183 IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
184 SET(PROCESSOR_ARCH "amd64")
185 ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
186 SET(PROCESSOR_ARCH "X86")
187 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
188 ENDIF(EMBED_MANIFESTS)
189
190 # FIXME "debug" only needed if build type is "Debug", but
191 # CMAKE_BUILD_TYPE is not set during configure time.
192 ADD_SUBDIRECTORY(vio)
193 ADD_SUBDIRECTORY(dbug)
194 ADD_SUBDIRECTORY(strings)
195 ADD_SUBDIRECTORY(regex)
196 ADD_SUBDIRECTORY(mysys)
197 ADD_SUBDIRECTORY(scripts)
198 ADD_SUBDIRECTORY(zlib)
199 ADD_SUBDIRECTORY(extra/yassl)
200 ADD_SUBDIRECTORY(extra/yassl/taocrypt)
201 ADD_SUBDIRECTORY(extra)
202 ADD_SUBDIRECTORY(heap)
203 ADD_SUBDIRECTORY(myisam)
204 ADD_SUBDIRECTORY(myisammrg)
205 ADD_SUBDIRECTORY(client)
206 IF(WITH_BERKELEY_STORAGE_ENGINE)
207 ADD_SUBDIRECTORY(bdb)
208 ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
209 IF(WITH_INNOBASE_STORAGE_ENGINE)
210 ADD_SUBDIRECTORY(innobase)
211 ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
212 ADD_SUBDIRECTORY(sql)
213 ADD_SUBDIRECTORY(sql/examples)
214 ADD_SUBDIRECTORY(server-tools/instance-manager)
215 ADD_SUBDIRECTORY(libmysql)
216 ADD_SUBDIRECTORY(tests)

Properties

Name Value
svn:executable

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26