Merge lp:~jan-kneschke/libmysql/cmake-out-of-tree-build into lp:libmysql

Proposed by Jan Kneschke
Status: Needs review
Proposed branch: lp:~jan-kneschke/libmysql/cmake-out-of-tree-build
Merge into: lp:libmysql
Diff against target: 219 lines (+31/-14)
13 files modified
CMakeLists.txt (+15/-10)
extlib/dbug/CMakeLists.txt (+1/-0)
extlib/regex/CMakeLists.txt (+1/-0)
libmysql/CMakeLists.txt (+4/-3)
mysql_config/CMakeLists.txt (+2/-1)
mysys/CMakeLists.txt (+1/-0)
strings/CMakeLists.txt (+1/-0)
tests/CMakeLists.txt (+1/-0)
unittest/examples/CMakeLists.txt (+1/-0)
unittest/libmysql/CMakeLists.txt (+1/-0)
unittest/mysys/CMakeLists.txt (+1/-0)
unittest/mytap/CMakeLists.txt (+1/-0)
vio/CMakeLists.txt (+1/-0)
To merge this branch: bzr merge lp:~jan-kneschke/libmysql/cmake-out-of-tree-build
Reviewer Review Type Date Requested Status
Connector/C Team Pending
Review via email: mp+15653@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jan Kneschke (jan-kneschke) wrote :

Allow out of source-tree builds like:

 $ bzr branch lp:libmysql trunk
 $ mkdir trunk-build
 $ cd trunk-build
 $ cmake ../trunk

Tested targets:

* make
* make install

2878. By <email address hidden>

install the generated headers my_config.h and mysql_version.h too

Unmerged revisions

2878. By <email address hidden>

install the generated headers my_config.h and mysql_version.h too

2877. By <email address hidden>

create the symlinks in the build directory, not in the source folder

2876. By <email address hidden>

added out-of-tree build support

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2009-12-02 06:23:35 +0000
3+++ CMakeLists.txt 2009-12-04 14:21:11 +0000
4@@ -327,9 +327,14 @@
5 #
6 # Installation
7 #
8-INSTALL(DIRECTORY "include/"
9- DESTINATION "include"
10- FILES_MATCHING PATTERN "*.h")
11+INSTALL(DIRECTORY "${CMAKE_SOURCE_DIR}/include/"
12+ DESTINATION "include"
13+ FILES_MATCHING PATTERN "*.h")
14+
15+INSTALL(DIRECTORY "${CMAKE_BINARY_DIR}/include/"
16+ DESTINATION "include"
17+ FILES_MATCHING PATTERN "*.h")
18+
19
20 # ----------------------------------------------------------------------
21 # Create package script
22@@ -360,12 +365,12 @@
23 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Connector/C (libmysql), a library for connecting to MySQL servers.")
24 SET(CPACK_PACKAGE_NAME "mysql-connector-c${EXTRA_NAME_SUFFIX}")
25 SET(CPACK_PACKAGE_VENDOR "Sun Microsystems, Inc.")
26-IF(EXISTS "COPYING")
27- SET(CPACK_RESOURCE_FILE_LICENSE "COPYING")
28-ELSE(EXISTS "COPYING")
29- SET(CPACK_RESOURCE_FILE_LICENSE "LICENSE.mysql")
30-ENDIF(EXISTS "COPYING")
31-SET(CPACK_PACKAGE_DESCRIPTION_FILE "README")
32+IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
33+ SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
34+ELSE(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
35+ SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.mysql")
36+ENDIF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING")
37+SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
38 SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CONNECTOR_C_VERSION}")
39 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}-${CONNECTOR_C_VERSION}-${CONNECTOR_PLATFORM}")
40 IF(WIN32)
41@@ -382,6 +387,6 @@
42 "/_CPack_Packages"
43 "/CMakeCache.txt")
44
45-INSTALL(FILES "README" "COPYING" "LICENSE.mysql" "EXCEPTIONS-CLIENT" "ChaneLog" DESTINATION "." OPTIONAL)
46+INSTALL(FILES "README" "COPYING" "LICENSE.mysql" "EXCEPTIONS-CLIENT" "ChangeLog" DESTINATION "." OPTIONAL)
47
48 INCLUDE(CPack)
49
50=== modified file 'extlib/dbug/CMakeLists.txt'
51--- extlib/dbug/CMakeLists.txt 2008-11-05 10:19:19 +0000
52+++ extlib/dbug/CMakeLists.txt 2009-12-04 14:21:11 +0000
53@@ -19,5 +19,6 @@
54
55 IF(NOT SOURCE_SUBLIBS)
56 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
57+ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
58 ADD_LIBRARY(dbug ${DBUG_SOURCES})
59 ENDIF(NOT SOURCE_SUBLIBS)
60
61=== modified file 'extlib/regex/CMakeLists.txt'
62--- extlib/regex/CMakeLists.txt 2008-11-05 10:19:19 +0000
63+++ extlib/regex/CMakeLists.txt 2009-12-04 14:21:11 +0000
64@@ -15,6 +15,7 @@
65
66
67 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
68+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
69
70 SET(REGEX_SOURCES debug.c regcomp.c regerror.c regexec.c regfree.c reginit.c split.c)
71
72
73=== modified file 'libmysql/CMakeLists.txt'
74--- libmysql/CMakeLists.txt 2009-12-02 06:23:35 +0000
75+++ libmysql/CMakeLists.txt 2009-12-04 14:21:11 +0000
76@@ -23,6 +23,7 @@
77
78 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
79 ${CMAKE_SOURCE_DIR}/libmysql
80+ ${CMAKE_BINARY_DIR}/include
81 ${CMAKE_SOURCE_DIR}/regex
82 ${CMAKE_SOURCE_DIR}/sql
83 ${CMAKE_SOURCE_DIR}/strings)
84@@ -141,7 +142,7 @@
85 COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink libmysql${CMAKE_SHARED_LIBRARY_SUFFIX} libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX}
86 COMMAND ${CMAKE_COMMAND} ARGS -E remove -f libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX}
87 COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink libmysql${CMAKE_SHARED_LIBRARY_SUFFIX} libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX}
88- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/libmysql
89+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libmysql
90 DEPENDS libmysql)
91
92 ADD_CUSTOM_TARGET(LIBMYSQL_SYMLINKS
93@@ -171,7 +172,7 @@
94 INSTALL(TARGETS libmysql mysqlclient
95 LIBRARY DESTINATION "lib"
96 ARCHIVE DESTINATION "lib")
97- INSTALL(FILES ${CMAKE_SOURCE_DIR}/libmysql/libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX}
98- ${CMAKE_SOURCE_DIR}/libmysql/libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX}
99+ INSTALL(FILES ${CMAKE_BINARY_DIR}/libmysql/libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX}
100+ ${CMAKE_BINARY_DIR}/libmysql/libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX}
101 DESTINATION "lib")
102 ENDIF(WIN32)
103
104=== modified file 'mysql_config/CMakeLists.txt'
105--- mysql_config/CMakeLists.txt 2009-11-24 09:24:59 +0000
106+++ mysql_config/CMakeLists.txt 2009-12-04 14:21:11 +0000
107@@ -14,6 +14,7 @@
108 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
109
110 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
111+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
112
113 # Figure out additional libraries for use with -lmysql
114 FOREACH (dep ${libmysql_LIB_DEPENDS})
115@@ -35,7 +36,7 @@
116 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql_config.c.in
117 ${CMAKE_CURRENT_BINARY_DIR}/mysql_config.c @ONLY)
118
119-ADD_EXECUTABLE(mysql_config mysql_config.c)
120+ADD_EXECUTABLE(mysql_config ${CMAKE_CURRENT_BINARY_DIR}/mysql_config.c)
121 TARGET_LINK_LIBRARIES(mysql_config mysqlclient)
122
123 # Installation
124
125=== modified file 'mysys/CMakeLists.txt'
126--- mysys/CMakeLists.txt 2009-04-17 23:40:04 +0000
127+++ mysys/CMakeLists.txt 2009-12-04 14:21:11 +0000
128@@ -42,6 +42,7 @@
129
130 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}
131 ${CMAKE_SOURCE_DIR}/include
132+ ${CMAKE_BINARY_DIR}/include
133 ${CMAKE_SOURCE_DIR}/mysys)
134
135 ADD_LIBRARY(mysys ${MYSYS_SOURCES})
136
137=== modified file 'strings/CMakeLists.txt'
138--- strings/CMakeLists.txt 2008-12-23 18:33:52 +0000
139+++ strings/CMakeLists.txt 2009-12-04 14:21:11 +0000
140@@ -30,6 +30,7 @@
141 "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -DSAFEMALLOC -DSAFE_MUTEX")
142
143 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
144+ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
145
146 ADD_LIBRARY(strings ${STRINGS_SOURCES})
147 ENDIF(NOT SOURCE_SUBLIBS)
148
149=== modified file 'tests/CMakeLists.txt'
150--- tests/CMakeLists.txt 2009-05-28 07:40:26 +0000
151+++ tests/CMakeLists.txt 2009-12-04 14:21:11 +0000
152@@ -16,6 +16,7 @@
153 ADD_DEFINITIONS("-DMYSQL_CLIENT")
154
155 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
156+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
157
158 ADD_EXECUTABLE(mysql_client_test mysql_client_test.c ../mysys/my_memmem.c)
159 TARGET_LINK_LIBRARIES(mysql_client_test mysqlclient)
160
161=== modified file 'unittest/examples/CMakeLists.txt'
162--- unittest/examples/CMakeLists.txt 2008-11-05 10:19:19 +0000
163+++ unittest/examples/CMakeLists.txt 2009-12-04 14:21:11 +0000
164@@ -16,6 +16,7 @@
165
166 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
167 ${CMAKE_SOURCE_DIR}/sql
168+ ${CMAKE_BINARY_DIR}/include
169 ${CMAKE_SOURCE_DIR}/regex
170 ${CMAKE_SOURCE_DIR}/extra/yassl/include
171 ${CMAKE_SOURCE_DIR}/unittest/mytap)
172
173=== modified file 'unittest/libmysql/CMakeLists.txt'
174--- unittest/libmysql/CMakeLists.txt 2009-05-28 07:40:26 +0000
175+++ unittest/libmysql/CMakeLists.txt 2009-12-04 14:21:11 +0000
176@@ -19,6 +19,7 @@
177 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
178
179 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
180+ ${CMAKE_BINARY_DIR}/include
181 ${CMAKE_SOURCE_DIR}/unittest/mytap)
182
183 SET(API_TESTS "basic-t" "fetch" "charset" "logs" "errors" "cursor" "view" "ps" "ps_bugs"
184
185=== modified file 'unittest/mysys/CMakeLists.txt'
186--- unittest/mysys/CMakeLists.txt 2009-06-24 20:10:09 +0000
187+++ unittest/mysys/CMakeLists.txt 2009-12-04 14:21:11 +0000
188@@ -20,6 +20,7 @@
189
190 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
191 ${CMAKE_SOURCE_DIR}/regex
192+ ${CMAKE_BINARY_DIR}/include
193 ${CMAKE_SOURCE_DIR}/extra/yassl/include
194 ${CMAKE_SOURCE_DIR}/unittest/mytap)
195
196
197=== modified file 'unittest/mytap/CMakeLists.txt'
198--- unittest/mytap/CMakeLists.txt 2008-11-05 10:19:19 +0000
199+++ unittest/mytap/CMakeLists.txt 2009-12-04 14:21:11 +0000
200@@ -16,6 +16,7 @@
201
202 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
203 ${CMAKE_SOURCE_DIR}/sql
204+ ${CMAKE_BINARY_DIR}/include
205 ${CMAKE_SOURCE_DIR}/regex
206 ${CMAKE_SOURCE_DIR}/extra/yassl/include)
207 ADD_LIBRARY(mytap tap.c)
208
209=== modified file 'vio/CMakeLists.txt'
210--- vio/CMakeLists.txt 2008-12-23 18:33:52 +0000
211+++ vio/CMakeLists.txt 2009-12-04 14:21:11 +0000
212@@ -23,6 +23,7 @@
213
214 ADD_DEFINITIONS(-DUSE_SYMDIR)
215 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
216+ ${CMAKE_BINARY_DIR}/include
217 ${CMAKE_SOURCE_DIR}/extlib/yassl/include)
218
219 ADD_LIBRARY(vio ${VIO_SOURCES})

Subscribers

People subscribed via source and target branches