~maria-captains/mariadb-native-client/trunk

« back to all changes in this revision

Viewing changes to libmariadb/CMakeLists.txt

  • Committer: Georg Richter
  • Date: 2015-01-21 18:32:04 UTC
  • Revision ID: georg@mariadb.com-20150121183204-kbl8waxnh9o315fy
Generate files for exported symbols, so we don't have to keep 2 different
files up to date. Symbols should be added (or removed) now in libmariadb/CMakeLists.txt

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
ADD_DEFINITIONS(-D LIBMARIADB)
8
8
ADD_DEFINITIONS(-D THREAD)
9
9
 
 
10
SET(EXPORT_SYMBOLS
 
11
 load_defaults
 
12
 mariadb_connection
 
13
 mariadb_convert_string
 
14
 mariadb_deinitialize_ssl
 
15
 mariadb_dyncol_check
 
16
 mariadb_dyncol_column_cmp_named
 
17
 mariadb_dyncol_column_count
 
18
 mariadb_dyncol_create_many_named
 
19
 mariadb_dyncol_create_many_num
 
20
 mariadb_dyncol_exists_named
 
21
 mariadb_dyncol_exists_num
 
22
 mariadb_dyncol_free
 
23
 mariadb_dyncol_get_named
 
24
 mariadb_dyncol_get_num
 
25
 mariadb_dyncol_has_names
 
26
 mariadb_dyncol_json
 
27
 mariadb_dyncol_list_named
 
28
 mariadb_dyncol_list_num
 
29
 mariadb_dyncol_unpack
 
30
 mariadb_dyncol_update_many_named
 
31
 mariadb_dyncol_update_many_num
 
32
 mariadb_dyncol_val_double
 
33
 mariadb_dyncol_val_long
 
34
 mariadb_dyncol_val_str
 
35
 myodbc_remove_escape
 
36
 mysql_affected_rows
 
37
 mysql_autocommit
 
38
 mysql_autocommit_cont
 
39
 mysql_autocommit_start
 
40
 mysql_change_user
 
41
 mysql_change_user_cont
 
42
 mysql_change_user_start
 
43
 mysql_character_set_name
 
44
 mysql_client_find_plugin
 
45
 mysql_client_register_plugin
 
46
 mysql_close
 
47
 mysql_close_cont
 
48
 mysql_close_start
 
49
 mysql_commit
 
50
 mysql_commit_cont
 
51
 mysql_commit_start
 
52
 mysql_data_seek
 
53
 mysql_debug
 
54
 mysql_dump_debug_info
 
55
 mysql_dump_debug_info_cont
 
56
 mysql_dump_debug_info_start
 
57
 mysql_eof
 
58
 mysql_errno
 
59
 mysql_error
 
60
 mysql_escape_string
 
61
 mysql_fetch_field
 
62
 mysql_fetch_field_direct
 
63
 mysql_fetch_fields
 
64
 mysql_fetch_lengths
 
65
 mysql_fetch_row
 
66
 mysql_fetch_row_cont
 
67
 mysql_fetch_row_start
 
68
 mysql_field_count
 
69
 mysql_field_seek
 
70
 mysql_field_tell
 
71
 mysql_free_result
 
72
 mysql_free_result_cont
 
73
 mysql_free_result_start
 
74
 mysql_get_character_set_info
 
75
 mysql_get_charset_by_name
 
76
 mysql_get_charset_by_nr
 
77
 mysql_get_client_info
 
78
 mysql_get_client_version
 
79
 mysql_get_host_info
 
80
 mysql_get_parameters
 
81
 mysql_get_proto_info
 
82
 mysql_get_server_info
 
83
 mysql_get_server_name
 
84
 mysql_get_server_version
 
85
 mysql_get_socket
 
86
 mysql_get_ssl_cipher
 
87
 mysql_get_timeout_value
 
88
 mysql_get_timeout_value_ms
 
89
 mysql_hex_string
 
90
 mysql_info
 
91
 mysql_init
 
92
 mysql_insert_id
 
93
 mysql_kill
 
94
 mysql_kill_cont
 
95
 mysql_kill_start
 
96
 mysql_list_dbs
 
97
 mysql_list_dbs_cont
 
98
 mysql_list_dbs_start
 
99
 mysql_list_fields
 
100
 mysql_list_fields_cont
 
101
 mysql_list_fields_start
 
102
 mysql_list_processes
 
103
 mysql_list_processes_cont
 
104
 mysql_list_processes_start
 
105
 mysql_list_tables
 
106
 mysql_list_tables_cont
 
107
 mysql_list_tables_start
 
108
 mysql_load_plugin;
 
109
 mysql_load_plugin_v
 
110
 mysql_more_results
 
111
 mysql_next_result
 
112
 mysql_next_result_cont
 
113
 mysql_next_result_start
 
114
 mysql_num_fields
 
115
 mysql_num_rows
 
116
 mysql_options
 
117
 mysql_optionsv
 
118
 mysql_ping
 
119
 mysql_ping_cont
 
120
 mysql_ping_start
 
121
 mysql_ps_fetch_functions
 
122
 mysql_query
 
123
 mysql_query_cont
 
124
 mysql_query_start
 
125
 mysql_read_query_result
 
126
 mysql_read_query_result_cont
 
127
 mysql_read_query_result_start
 
128
 mysql_real_connect
 
129
 mysql_real_connect_cont
 
130
 mysql_real_connect_start
 
131
 mysql_real_escape_string
 
132
 mysql_real_query
 
133
 mysql_real_query_cont
 
134
 mysql_real_query_start
 
135
 mysql_refresh
 
136
 mysql_refresh_cont
 
137
 mysql_refresh_start
 
138
 mysql_rollback
 
139
 mysql_rollback_cont
 
140
 mysql_rollback_start
 
141
 mysql_row_seek
 
142
 mysql_row_tell
 
143
 mysql_select_db
 
144
 mysql_select_db_cont
 
145
 mysql_select_db_start
 
146
 mysql_send_query
 
147
 mysql_send_query_cont
 
148
 mysql_send_query_start
 
149
 mysql_server_end
 
150
 mysql_server_init
 
151
 mysql_set_character_set
 
152
 mysql_set_character_set_cont
 
153
 mysql_set_character_set_start
 
154
 mysql_set_local_infile_default
 
155
 mysql_set_local_infile_handler
 
156
 mysql_set_server_option
 
157
 mysql_set_server_option_cont
 
158
 mysql_set_server_option_start
 
159
 mysql_shutdown
 
160
 mysql_shutdown_cont
 
161
 mysql_shutdown_start
 
162
 mysql_sqlstate
 
163
 mysql_ssl_set
 
164
 mysql_stat
 
165
 mysql_stat_cont
 
166
 mysql_stat_start
 
167
 mysql_stmt_affected_rows
 
168
 mysql_stmt_attr_get
 
169
 mysql_stmt_attr_set
 
170
 mysql_stmt_bind_param
 
171
 mysql_stmt_bind_result
 
172
 mysql_stmt_close
 
173
 mysql_stmt_close_cont
 
174
 mysql_stmt_close_start
 
175
 mysql_stmt_data_seek
 
176
 mysql_stmt_errno
 
177
 mysql_stmt_error
 
178
 mysql_stmt_execute
 
179
 mysql_stmt_execute_cont
 
180
 mysql_stmt_execute_start
 
181
 mysql_stmt_fetch
 
182
 mysql_stmt_fetch_column
 
183
 mysql_stmt_fetch_cont
 
184
 mysql_stmt_fetch_start
 
185
 mysql_stmt_field_count
 
186
 mysql_stmt_free_result
 
187
 mysql_stmt_free_result_cont
 
188
 mysql_stmt_free_result_start
 
189
 mysql_stmt_init
 
190
 mysql_stmt_insert_id
 
191
 mysql_stmt_more_results
 
192
 mysql_stmt_next_result
 
193
 mysql_stmt_next_result_cont
 
194
 mysql_stmt_next_result_start
 
195
 mysql_stmt_num_rows
 
196
 mysql_stmt_param_count
 
197
 mysql_stmt_param_metadata
 
198
 mysql_stmt_prepare
 
199
 mysql_stmt_prepare_cont
 
200
 mysql_stmt_prepare_start
 
201
 mysql_stmt_reset
 
202
 mysql_stmt_reset_cont
 
203
 mysql_stmt_reset_start
 
204
 mysql_stmt_result_metadata
 
205
 mysql_stmt_row_seek
 
206
 mysql_stmt_row_tell
 
207
 mysql_stmt_send_long_data
 
208
 mysql_stmt_send_long_data_cont
 
209
 mysql_stmt_send_long_data_start
 
210
 mysql_stmt_sqlstate
 
211
 mysql_stmt_store_result
 
212
 mysql_stmt_store_result_cont
 
213
 mysql_stmt_store_result_start
 
214
 mysql_store_result
 
215
 mysql_store_result_cont
 
216
 mysql_store_result_start
 
217
 mysql_thread_end
 
218
 mysql_thread_id
 
219
 mysql_thread_init
 
220
 mysql_thread_safe
 
221
 mysql_use_result
 
222
 mysql_warning_count)
 
223
 
 
224
IF(WIN32)
 
225
  SET(EXPORT_CONTENT "EXPORTS\n")
 
226
  FOREACH(SYMBOL ${EXPORT_SYMBOLS})
 
227
    SET(EXPORT_CONTENT "${EXPORT_CONTENT}  ${SYMBOL}\n")
 
228
  ENDFOREACH()
 
229
  SET(EXPORT_FILE "${CMAKE_BINARY_DIR}/libmariadb/exports.def")
 
230
  SET(EXPORT_LINK ${EXPORT_FILE})
 
231
ELSE()
 
232
  SET(EXPORT_CONTENT "{\nglobal:\n")
 
233
  FOREACH(SYMBOL ${EXPORT_SYMBOLS})
 
234
    SET(EXPORT_CONTENT "${EXPORT_CONTENT} ${SYMBOL}\\;\n")
 
235
  ENDFOREACH()
 
236
  SET(EXPORT_FILE "${CMAKE_BINARY_DIR}/libmariadb/exports.txt")
 
237
  SET(EXPORT_CONTENT "${EXPORT_CONTENT}local:\n *\\;\n}\\;")
 
238
ENDIF()
 
239
 
 
240
FILE(WRITE ${EXPORT_FILE} ${EXPORT_CONTENT})
 
241
 
10
242
SET(LIBMARIADB_SOURCES 
11
243
array.c 
12
244
ma_dyncol.c
92
324
ma_secure.c
93
325
)
94
326
 
95
 
IF(MSVC)
96
 
  SET(EXPORT_FILE libmariadb_exports.def)
97
 
ENDIF()
98
 
 
99
327
IF(WIN32)
100
328
  INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/win-iconv)
101
329
  SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES}
141
369
  SET_TARGET_PROPERTIES(mariadb_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
142
370
ENDIF()
143
371
 
144
 
ADD_LIBRARY(mariadbclient STATIC $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_FILE})
 
372
ADD_LIBRARY(mariadbclient STATIC $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_LINK})
145
373
TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
146
374
 
147
 
ADD_LIBRARY(libmariadb SHARED $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_FILE})
 
375
ADD_LIBRARY(libmariadb SHARED $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_LINK})
148
376
TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS})
149
377
IF(UNIX)
150
378
  SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
152
380
 
153
381
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
154
382
  TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
155
 
  TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version_script.txt")
 
383
  TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${EXPORT_FILE}")
156
384
  TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined")
157
 
  TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/version_script.txt")
 
385
  TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}")
158
386
ENDIF()
159
387
 
160
388
SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")