Develop and Download Open Source Software

Browse Subversion Repository

Contents of /tags/tritonn-1.0.9-mysql-5.0.51a/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 96 - (show annotations) (download)
Mon Feb 4 09:15:54 2008 UTC (16 years, 1 month ago) by mir
File MIME type: text/plain
File size: 8733 byte(s)
tritonn-1.0.9-mysql-5.0.51a.

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 PROJECT(MySql)
17
18 # This reads user configuration, generated by configure.js.
19 INCLUDE(win/configure.data)
20
21 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
22 ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
23
24 # Set standard options
25 ADD_DEFINITIONS(-DCMAKE_BUILD)
26 ADD_DEFINITIONS(-DHAVE_YASSL)
27
28 # Set debug options
29 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS")
30
31 # Note that some engines are always compiled in, MyISAM, MyISAMMRG, HEAP
32
33 IF(WITH_ARCHIVE_STORAGE_ENGINE)
34 ADD_DEFINITIONS(-DHAVE_ARCHIVE_DB)
35 ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
36
37 IF(WITH_BERKELEY_STORAGE_ENGINE)
38 ADD_DEFINITIONS(-DHAVE_BERKELEY_DB)
39 ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
40
41 IF (WITH_BLACKHOLE_STORAGE_ENGINE)
42 ADD_DEFINITIONS(-DHAVE_BLACKHOLE_DB)
43 ENDIF (WITH_BLACKHOLE_STORAGE_ENGINE)
44
45 IF(WITH_EXAMPLE_STORAGE_ENGINE)
46 ADD_DEFINITIONS(-DHAVE_EXAMPLE_DB)
47 ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
48
49 IF(WITH_FEDERATED_STORAGE_ENGINE)
50 ADD_DEFINITIONS(-DHAVE_FEDERATED_DB)
51 ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
52
53 IF(WITH_INNOBASE_STORAGE_ENGINE)
54 ADD_DEFINITIONS(-DHAVE_INNOBASE_DB)
55 ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
56
57 SET(localstatedir "C:\\mysql\\data")
58 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-huge.cnf.sh
59 ${CMAKE_SOURCE_DIR}/support-files/my-huge.ini @ONLY)
60 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.cnf.sh
61 ${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.ini @ONLY)
62 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-large.cnf.sh
63 ${CMAKE_SOURCE_DIR}/support-files/my-large.ini @ONLY)
64 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-medium.cnf.sh
65 ${CMAKE_SOURCE_DIR}/support-files/my-medium.ini @ONLY)
66 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-small.cnf.sh
67 ${CMAKE_SOURCE_DIR}/support-files/my-small.ini @ONLY)
68
69 IF(__NT__)
70 ADD_DEFINITIONS(-D__NT__)
71 ENDIF(__NT__)
72
73 # in some places we use DBUG_OFF
74 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF")
75 SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
76 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DDBUG_OFF")
77 SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
78
79 IF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
80 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996")
81 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996")
82 SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996")
83 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996")
84 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996")
85 SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996")
86 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
87
88 IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
89 CMAKE_GENERATOR MATCHES "Visual Studio 8")
90
91 # replace /MDd with /MTd
92 STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
93 STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
94 STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
95 STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG_INIT ${CMAKE_C_FLAGS_DEBUG_INIT})
96
97 STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
98 STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
99 STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
100 STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_CXX_FLAGS_DEBUG_INIT})
101
102 # generate map files, set stack size (see bug#20815)
103 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MAP /MAPINFO:EXPORTS")
104 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1048576")
105
106 # remove support for Exception handling
107 STRING(REPLACE "/GX" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
108 STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
109 STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_INIT ${CMAKE_CXX_FLAGS_INIT})
110 STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_CXX_FLAGS_DEBUG_INIT})
111
112 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
113 CMAKE_GENERATOR MATCHES "Visual Studio 8")
114
115 ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
116
117 IF(EMBED_MANIFESTS)
118 # Search for the tools (mt, makecat, signtool) necessary for embedding
119 # manifests and signing executables with the MySQL AB authenticode cert.
120 #
121 # CMake will first search it's defaults (CMAKE_FRAMEWORK_PATH,
122 # CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and the system PATH) followed
123 # by the listed paths which are the current possible defaults and should be
124 # updated when necessary.
125 #
126 # The custom manifests are designed to be compatible with all mt versions.
127 # The MySQL AB Authenticode certificate is available only internally.
128 # Others should store a single signing certificate in a local cryptographic
129 # service provider and alter the signtool command as necessary.
130 FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt
131 PATHS
132 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin"
133 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
134 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
135 FIND_PROGRAM(HAVE_CATALOG_TOOL NAMES makecat
136 PATHS
137 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin")
138 FIND_PROGRAM(HAVE_SIGN_TOOL NAMES signtool
139 PATHS
140 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
141 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
142
143 IF(HAVE_MANIFEST_TOOL)
144 MESSAGE(STATUS "Found Mainfest Tool.")
145 ELSE(HAVE_MANIFEST_TOOL)
146 MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.")
147 ENDIF(HAVE_MANIFEST_TOOL)
148 IF(HAVE_CATALOG_TOOL)
149 MESSAGE(STATUS "Found Catalog Tool.")
150 ELSE(HAVE_CATALOG_TOOL)
151 MESSAGE(FATAL_ERROR "Catalog tool, makecat.exe, can't be found.")
152 ENDIF(HAVE_CATALOG_TOOL)
153 IF(HAVE_SIGN_TOOL)
154 MESSAGE(STATUS "Found Sign Tool. Embedding custom manifests and signing executables.")
155 ELSE(HAVE_SIGN_TOOL)
156 MESSAGE(FATAL_ERROR "Sign tool, signtool.exe, can't be found.")
157 ENDIF(HAVE_SIGN_TOOL)
158
159 # Disable automatic manifest generation.
160 STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS
161 ${CMAKE_EXE_LINKER_FLAGS})
162 # Explicitly disable it since it is the default for newer versions of VS
163 STRING(REGEX MATCH "MANIFEST:NO" tmp_manifest ${CMAKE_EXE_LINKER_FLAGS})
164 IF(NOT tmp_manifest)
165 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
166 ENDIF(NOT tmp_manifest)
167 # Set the processor architecture.
168 IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
169 SET(PROCESSOR_ARCH "amd64")
170 ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
171 SET(PROCESSOR_ARCH "X86")
172 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
173 ENDIF(EMBED_MANIFESTS)
174
175 # FIXME "debug" only needed if build type is "Debug", but
176 # CMAKE_BUILD_TYPE is not set during configure time.
177 ADD_SUBDIRECTORY(vio)
178 ADD_SUBDIRECTORY(dbug)
179 ADD_SUBDIRECTORY(strings)
180 ADD_SUBDIRECTORY(regex)
181 ADD_SUBDIRECTORY(mysys)
182 ADD_SUBDIRECTORY(scripts)
183 ADD_SUBDIRECTORY(zlib)
184 ADD_SUBDIRECTORY(extra/yassl)
185 ADD_SUBDIRECTORY(extra/yassl/taocrypt)
186 ADD_SUBDIRECTORY(extra)
187 ADD_SUBDIRECTORY(heap)
188 ADD_SUBDIRECTORY(myisam)
189 ADD_SUBDIRECTORY(myisammrg)
190 ADD_SUBDIRECTORY(client)
191 IF(WITH_BERKELEY_STORAGE_ENGINE)
192 ADD_SUBDIRECTORY(bdb)
193 ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
194 IF(WITH_INNOBASE_STORAGE_ENGINE)
195 ADD_SUBDIRECTORY(innobase)
196 ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
197 ADD_SUBDIRECTORY(sql)
198 ADD_SUBDIRECTORY(sql/examples)
199 ADD_SUBDIRECTORY(server-tools/instance-manager)
200 ADD_SUBDIRECTORY(libmysql)
201 ADD_SUBDIRECTORY(tests)

Properties

Name Value
svn:executable

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