aboutsummaryrefslogtreecommitdiff
path: root/mariadb-connector-c-v_2.3.7/libmariadb/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'mariadb-connector-c-v_2.3.7/libmariadb/CMakeLists.txt')
-rw-r--r--mariadb-connector-c-v_2.3.7/libmariadb/CMakeLists.txt460
1 files changed, 460 insertions, 0 deletions
diff --git a/mariadb-connector-c-v_2.3.7/libmariadb/CMakeLists.txt b/mariadb-connector-c-v_2.3.7/libmariadb/CMakeLists.txt
new file mode 100644
index 0000000..03b20c9
--- /dev/null
+++ b/mariadb-connector-c-v_2.3.7/libmariadb/CMakeLists.txt
@@ -0,0 +1,460 @@
+INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/include
+ ${ZLIB_INC}
+ ${CC_SOURCE_DIR}/libmariadb)
+
+ADD_DEFINITIONS(-D ENABLED_LOCAL_INFILE)
+ADD_DEFINITIONS(-D HAVE_COMPRESS)
+ADD_DEFINITIONS(-D LIBMARIADB)
+ADD_DEFINITIONS(-D THREAD)
+
+SET(EXPORT_SYMBOLS
+ load_defaults
+ mariadb_connection
+ mariadb_convert_string
+ mariadb_dyncol_check
+ mariadb_dyncol_column_cmp_named
+ mariadb_dyncol_column_count
+ mariadb_dyncol_create_many_named
+ mariadb_dyncol_create_many_num
+ mariadb_dyncol_exists_named
+ mariadb_dyncol_exists_num
+ mariadb_dyncol_free
+ mariadb_dyncol_get_named
+ mariadb_dyncol_get_num
+ mariadb_dyncol_has_names
+ mariadb_dyncol_json
+ mariadb_dyncol_list_named
+ mariadb_dyncol_list_num
+ mariadb_dyncol_unpack
+ mariadb_dyncol_update_many_named
+ mariadb_dyncol_update_many_num
+ mariadb_dyncol_val_double
+ mariadb_dyncol_val_long
+ mariadb_dyncol_val_str
+ myodbc_remove_escape
+ mysql_affected_rows
+ mysql_autocommit
+ mysql_autocommit_cont
+ mysql_autocommit_start
+ mysql_change_user
+ mysql_change_user_cont
+ mysql_change_user_start
+ mysql_character_set_name
+ mysql_client_find_plugin
+ mysql_client_register_plugin
+ mysql_close
+ mysql_close_cont
+ mysql_close_start
+ mysql_commit
+ mysql_commit_cont
+ mysql_commit_start
+ mysql_data_seek
+ mysql_debug
+ mysql_dump_debug_info
+ mysql_dump_debug_info_cont
+ mysql_dump_debug_info_start
+ mysql_eof
+ mysql_errno
+ mysql_error
+ mysql_escape_string
+ mysql_fetch_field
+ mysql_fetch_field_direct
+ mysql_fetch_fields
+ mysql_fetch_lengths
+ mysql_fetch_row
+ mysql_fetch_row_cont
+ mysql_fetch_row_start
+ mysql_field_count
+ mysql_field_seek
+ mysql_field_tell
+ mysql_free_result
+ mysql_free_result_cont
+ mysql_free_result_start
+ mysql_get_character_set_info
+ mysql_get_charset_by_name
+ mysql_get_charset_by_nr
+ mysql_get_client_info
+ mysql_get_client_version
+ mysql_get_host_info
+ mysql_get_parameters
+ mysql_get_proto_info
+ mysql_get_server_info
+ mysql_get_server_name
+ mysql_get_server_version
+ mysql_get_socket
+ mysql_get_ssl_cipher
+ mysql_get_timeout_value
+ mysql_get_timeout_value_ms
+ mysql_hex_string
+ mysql_info
+ mysql_init
+ mysql_insert_id
+ mysql_kill
+ mysql_kill_cont
+ mysql_kill_start
+ mysql_list_dbs
+ mysql_list_dbs_cont
+ mysql_list_dbs_start
+ mysql_list_fields
+ mysql_list_fields_cont
+ mysql_list_fields_start
+ mysql_list_processes
+ mysql_list_processes_cont
+ mysql_list_processes_start
+ mysql_list_tables
+ mysql_list_tables_cont
+ mysql_list_tables_start
+ mysql_load_plugin;
+ mysql_load_plugin_v
+ mysql_more_results
+ mysql_next_result
+ mysql_next_result_cont
+ mysql_next_result_start
+ mysql_num_fields
+ mysql_num_rows
+ mysql_options
+ mysql_optionsv
+ mysql_ping
+ mysql_ping_cont
+ mysql_ping_start
+ mysql_ps_fetch_functions
+ mysql_query
+ mysql_query_cont
+ mysql_query_start
+ mysql_read_query_result
+ mysql_read_query_result_cont
+ mysql_read_query_result_start
+ mysql_real_connect
+ mysql_real_connect_cont
+ mysql_real_connect_start
+ mysql_real_escape_string
+ mysql_real_query
+ mysql_real_query_cont
+ mysql_real_query_start
+ mysql_refresh
+ mysql_refresh_cont
+ mysql_refresh_start
+ mysql_rollback
+ mysql_rollback_cont
+ mysql_rollback_start
+ mysql_row_seek
+ mysql_row_tell
+ mysql_select_db
+ mysql_select_db_cont
+ mysql_select_db_start
+ mysql_send_query
+ mysql_send_query_cont
+ mysql_send_query_start
+ mysql_server_end
+ mysql_server_init
+ mysql_set_character_set
+ mysql_set_character_set_cont
+ mysql_set_character_set_start
+ mysql_set_local_infile_default
+ mysql_set_local_infile_handler
+ mysql_set_server_option
+ mysql_set_server_option_cont
+ mysql_set_server_option_start
+ mysql_shutdown
+ mysql_shutdown_cont
+ mysql_shutdown_start
+ mysql_sqlstate
+ mysql_ssl_set
+ mysql_stat
+ mysql_stat_cont
+ mysql_stat_start
+ mysql_stmt_affected_rows
+ mysql_stmt_attr_get
+ mysql_stmt_attr_set
+ mysql_stmt_bind_param
+ mysql_stmt_bind_result
+ mysql_stmt_close
+ mysql_stmt_close_cont
+ mysql_stmt_close_start
+ mysql_stmt_data_seek
+ mysql_stmt_errno
+ mysql_stmt_error
+ mysql_stmt_execute
+ mysql_stmt_execute_cont
+ mysql_stmt_execute_start
+ mysql_stmt_fetch
+ mysql_stmt_fetch_column
+ mysql_stmt_fetch_cont
+ mysql_stmt_fetch_start
+ mysql_stmt_field_count
+ mysql_stmt_free_result
+ mysql_stmt_free_result_cont
+ mysql_stmt_free_result_start
+ mysql_stmt_init
+ mysql_stmt_insert_id
+ mysql_stmt_more_results
+ mysql_stmt_next_result
+ mysql_stmt_next_result_cont
+ mysql_stmt_next_result_start
+ mysql_stmt_num_rows
+ mysql_stmt_param_count
+ mysql_stmt_param_metadata
+ mysql_stmt_prepare
+ mysql_stmt_prepare_cont
+ mysql_stmt_prepare_start
+ mysql_stmt_reset
+ mysql_stmt_reset_cont
+ mysql_stmt_reset_start
+ mysql_stmt_result_metadata
+ mysql_stmt_row_seek
+ mysql_stmt_row_tell
+ mysql_stmt_send_long_data
+ mysql_stmt_send_long_data_cont
+ mysql_stmt_send_long_data_start
+ mysql_stmt_sqlstate
+ mysql_stmt_store_result
+ mysql_stmt_store_result_cont
+ mysql_stmt_store_result_start
+ mysql_store_result
+ mysql_store_result_cont
+ mysql_store_result_start
+ mysql_thread_end
+ mysql_thread_id
+ mysql_thread_init
+ mysql_thread_safe
+ mysql_use_result
+ mysql_warning_count)
+
+IF(WITH_OPENSSL)
+ SET(EXPORT_SYMBOLS ${EXPORT_SYMBOLS} mariadb_deinitialize_ssl)
+ENDIF()
+
+IF(WIN32)
+ SET(EXPORT_CONTENT "EXPORTS\n")
+ FOREACH(SYMBOL ${EXPORT_SYMBOLS})
+ SET(EXPORT_CONTENT "${EXPORT_CONTENT} ${SYMBOL}\n")
+ ENDFOREACH()
+ SET(EXPORT_FILE "${CC_BINARY_DIR}/libmariadb/exports.def")
+ SET(EXPORT_LINK ${EXPORT_FILE})
+ELSE()
+ SET(EXPORT_CONTENT "{\nglobal:\n")
+ FOREACH(SYMBOL ${EXPORT_SYMBOLS})
+ SET(EXPORT_CONTENT "${EXPORT_CONTENT} ${SYMBOL}\\;\n")
+ ENDFOREACH()
+ SET(EXPORT_FILE "${CC_BINARY_DIR}/libmariadb/exports.txt")
+ SET(EXPORT_CONTENT "${EXPORT_CONTENT}local:\n *\\;\n}\\;")
+ENDIF()
+
+FILE(WRITE ${EXPORT_FILE} ${EXPORT_CONTENT})
+
+SET(LIBMARIADB_SOURCES
+array.c
+ma_dyncol.c
+bchange.c
+bmove.c
+bmove_upp.c
+my_charset.c
+hash.c
+violite.c
+net.c
+charset.c
+ma_time.c
+dbug.c
+default.c
+errmsg.c
+my_vsnprintf.c
+errors.c
+getopt1.c
+getopt.c
+int2str.c
+is_prefix.c
+libmariadb.c
+list.c
+llstr.c
+longlong2str.c
+ma_dtoa.c
+mf_dirname.c
+mf_fn_ext.c
+mf_format.c
+mf_loadpath.c
+mf_pack.c
+mf_path.c
+mf_unixpath.c
+mf_wcomp.c
+mulalloc.c
+my_alloc.c
+my_compress.c
+my_context.c
+my_div.c
+my_error.c
+my_fopen.c
+my_fstream.c
+my_getwd.c
+my_init.c
+my_lib.c
+my_malloc.c
+my_messnc.c
+my_net.c
+my_once.c
+my_open.c
+my_port.c
+my_pthread.c
+my_read.c
+my_realloc.c
+my_seek.c
+my_static.c
+my_symlink.c
+my_thr_init.c
+my_write.c
+mysql_async.c
+password.c
+str2int.c
+strcend.c
+strcont.c
+strend.c
+strfill.c
+string.c
+strinstr.c
+strmake.c
+strmov.c
+strnmov.c
+strtoll.c
+strtoull.c
+strxmov.c
+strxnmov.c
+thr_mutex.c
+typelib.c
+sha1.c
+my_stmt.c
+my_loaddata.c
+my_stmt_codec.c
+client_plugin.c
+my_auth.c
+)
+
+# some gcc versions fail to compile asm parts of my_context.c,
+# if build type is "Release" (see CONC-133), so we need to add -g flag
+IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_BUILD_TYPE MATCHES "Release")
+ SET_SOURCE_FILES_PROPERTIES(my_context.c PROPERTIES COMPILE_FLAGS -g)
+ENDIF()
+
+
+IF(WITH_OPENSSL)
+ SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES} ma_secure.c)
+ENDIF()
+
+IF(WIN32)
+ INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/win-iconv)
+ SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES}
+ ${CC_SOURCE_DIR}/win-iconv/win_iconv.c)
+ENDIF()
+
+IF(ZLIB_FOUND)
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
+ LINK_LIBRARIES(${ZLIB_LIBRARY})
+ELSE()
+ SET(ZLIB_SOURCES
+ ../zlib/adler32.c
+ ../zlib/compress.c
+ ../zlib/crc32.c
+ ../zlib/deflate.c
+ ../zlib/gzclose.c
+ ../zlib/gzlib.c
+ ../zlib/gzread.c
+ ../zlib/gzwrite.c
+ ../zlib/infback.c
+ ../zlib/inffast.c
+ ../zlib/inflate.c
+ ../zlib/inftrees.c
+ ../zlib/trees.c
+ ../zlib/uncompr.c
+ ../zlib/zutil.c
+ )
+SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES} ${ZLIB_SOURCES})
+ INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/zlib)
+ENDIF()
+
+IF(WIN32)
+ SET_VERSION_INFO("TARGET:libmariadb"
+ "FILE_TYPE:VFT_DLL"
+ "SOURCE_FILE:libmariadb/libmariadb.c"
+ "ORIGINAL_FILE_NAME:libmariadb.dll"
+ "FILE_DESCRIPTION:Dynamic lib for client/server communication")
+ SET_VERSION_INFO("TARGET:mariadbclient"
+ "FILE_TYPE:VFT_STATIC_LIB"
+ "SOURCE_FILE:libmariadb/libmariadb.c"
+ "ORIGINAL_FILE_NAME:mariadbclient.lib"
+ "FILE_DESCRIPTION:Static lib for client/server communication")
+ENDIF()
+
+# CREATE OBJECT LIBRARY
+ADD_LIBRARY(mariadb_obj OBJECT ${LIBMARIADB_SOURCES})
+IF(UNIX)
+ SET_TARGET_PROPERTIES(mariadb_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
+ENDIF()
+
+# Xcode doesn't support targets that have only object files,
+# so let's add an empty file to keep Xcode happy
+IF(CMAKE_GENERATOR MATCHES Xcode)
+ FILE(WRITE ${CC_SOURCE_DIR}/libmariadb/empty.c "")
+ SET(EMPTY_FILE ${CC_SOURCE_DIR}/libmariadb/empty.c)
+ENDIF()
+
+ADD_LIBRARY(mariadbclient STATIC ${mariadbclient_RC} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
+TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
+
+ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
+TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS})
+IF(UNIX)
+ SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
+ENDIF()
+SIGN_TARGET(libmariadb)
+
+IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
+ SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS "-Wl,--version-script=${EXPORT_FILE}")
+ TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined")
+ SET_TARGET_PROPERTIES(mariadbclient PROPERTIES LINK_FLAGS "-Wl,--version-script=${EXPORT_FILE}")
+ENDIF()
+
+SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")
+
+SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION
+ ${CPACK_PACKAGE_VERSION_MAJOR}
+ SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
+
+IF(NOT WIN32)
+ SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}")
+ENDIF()
+
+
+#
+# Installation
+#
+INCLUDE(${CC_SOURCE_DIR}/cmake/symlink.cmake)
+
+
+# There are still several projects which don't make use
+# of the config program. To make sure these programs can
+# use mariadb client library we provide libmysql symlinks
+IF(NOT WIN32 AND WITH_MYSQLCOMPAT)
+ SET(INSTALL_PATH ${LIB_INSTALL_DIR}/${LIBSUFFIX_INSTALL_DIR})
+ create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_PATH})
+ create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_PATH})
+ create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_PATH})
+ create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_PATH})
+ENDIF()
+
+
+INSTALL(TARGETS
+ libmariadb mariadbclient
+ RUNTIME DESTINATION "${LIB_INSTALL_DIR}/${LIBSUFFIX_INSTALL_DIR}"
+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}/${LIBSUFFIX_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}/${LIBSUFFIX_INSTALL_DIR}")
+
+INSTALL(DIRECTORY ${CC_SOURCE_DIR}/include/
+ DESTINATION ${INCLUDE_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}
+ PATTERN "*.h.in" EXCLUDE
+ PATTERN "CMakeLists.txt" EXCLUDE
+ PATTERN "Makefile.am" EXCLUDE)
+INSTALL(FILES
+ ${CC_BINARY_DIR}/include/my_config.h
+ ${CC_BINARY_DIR}/include/mysql_version.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}/${SUFFIX_INSTALL_DIR})
+
+