You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
308 lines
9.8 KiB
308 lines
9.8 KiB
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -666,7 +666,7 @@ set_target_properties(connector PROPERTIES
|
|
|
|
|
|
install(TARGETS connector
|
|
- CONFIGURATIONS Release RelWithDebInfo
|
|
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
|
|
ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
|
|
RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
|
|
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
|
|
@@ -737,6 +737,12 @@ TARGET_LINK_LIBRARIES(try connector)
|
|
SET_INTERFACE_OPTIONS(try devapi)
|
|
# ADD_GCOV(try)
|
|
|
|
+IF(WITH_SSL STREQUAL "system")
|
|
+ find_package(OpenSSL REQUIRED)
|
|
+ TARGET_LINK_LIBRARIES(try ${OPENSSL_LIBRARIES})
|
|
+ENDIF()
|
|
+
|
|
+
|
|
if(WITH_JDBC)
|
|
|
|
add_executable(try_jdbc EXCLUDE_FROM_ALL try_jdbc.cc)
|
|
--- a/cdk/cmake/install_macros.cmake
|
|
+++ b/cdk/cmake/install_macros.cmake
|
|
@@ -327,7 +327,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
|
|
DESTINATION ${ARG_DESTINATION}
|
|
${RENAME_PARAM}
|
|
${PERMISSIONS_${target_type}}
|
|
- CONFIGURATIONS Release RelWithDebInfo
|
|
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
|
|
COMPONENT ${ARG_COMPONENT}
|
|
OPTIONAL)
|
|
|
|
@@ -346,7 +346,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
|
|
INSTALL(FILES ${debug_pdb_target_location}
|
|
DESTINATION ${ARG_PDB_DESTINATION}
|
|
${PDB_RENAME_PARAM}
|
|
- CONFIGURATIONS Release RelWithDebInfo
|
|
+ CONFIGURATIONS Release RelWithDebInfo Gentoo
|
|
COMPONENT ${ARG_COMPONENT}
|
|
OPTIONAL)
|
|
ENDIF()
|
|
--- a/cdk/cmake/libutils.cmake
|
|
+++ b/cdk/cmake/libutils.cmake
|
|
@@ -282,14 +282,7 @@ function(add_library_ex TARGET)
|
|
endforeach()
|
|
|
|
if(libs)
|
|
-
|
|
- if(${type} STREQUAL "STATIC")
|
|
- merge_static_libraries(${TARGET} ${libs})
|
|
- add_dependencies(${TARGET} ${libs})
|
|
- else()
|
|
target_link_libraries(${TARGET} PRIVATE ${libs})
|
|
- endif()
|
|
-
|
|
endif()
|
|
|
|
#
|
|
--- a/cdk/cmake/protobuf.cmake
|
|
+++ b/cdk/cmake/protobuf.cmake
|
|
@@ -26,201 +26,8 @@
|
|
# along with this program; if not, write to the Free Software Foundation, Inc.,
|
|
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
-#
|
|
-# Usage:
|
|
-#
|
|
-# INCLUDE(protobuf)
|
|
-# [USE_FULL_PROTOBUF()]
|
|
-#
|
|
-# MYSQLX_PROTOBUF_GENERATE_CPP(SRCS HDRS <protobuf definitions>)
|
|
-# ADD_LIBRARY(target ... ${SRCS})
|
|
-#
|
|
-
|
|
-if(DEFINED WITH_PROTOBUF)
|
|
-
|
|
- #
|
|
- # If WITH_PROTOBUF is defined, it should point at external location where
|
|
- # protobuf libraries were built using our CMakeLists.txt (so that
|
|
- # exports.cmake was produced).
|
|
- #
|
|
-
|
|
- if (NOT EXISTS "${WITH_PROTOBUF}/exports.cmake")
|
|
- message(FATAL_ERROR
|
|
- "Valid protobuf build not found at the given location"
|
|
- " (could not find exports.cmake): ${WITH_PROTOBUF}"
|
|
- )
|
|
- endif()
|
|
-
|
|
- message("Using protobuf build at: ${WITH_PROTOBUF}")
|
|
-
|
|
-else(DEFINED WITH_PROTOBUF)
|
|
-
|
|
- #
|
|
- # If external WITH_PROTOBUF location is not given, then we arrange for
|
|
- # building of protbuf from bundled sources in ${PROJECT_BINARY_DIR}/protobuf.
|
|
- #
|
|
-
|
|
- message("Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR}")
|
|
- file(REMOVE "${PROJECT_BINARY_DIR}/protobuf/CMakeCache.txt")
|
|
- file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/protobuf")
|
|
-
|
|
- #
|
|
- # Pick build configuration for the protobuf build. Normally we build using the
|
|
- # same build configuration that is used for building CDK (Release/Debug/etc.).
|
|
- # But we also support building CDK under non-standard build configuration
|
|
- # named 'Static' (this is a dirty trick we use to simplify building our MSIs).
|
|
- # Since protobuf does not know 'Static' build configuration, we build protobuf
|
|
- # under 'Release' configuration in that case.
|
|
- #
|
|
- # We need to handle two cases. For some build systems, like Makefiles,
|
|
- # the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
|
|
- # variable. In that case we also set it during protobuf build configuration.
|
|
- # Another case is a multi-configuration build system like MSVC. In this case
|
|
- # we use generator expression to pick correct configuration when the build
|
|
- # command is invoked below.
|
|
- #
|
|
-
|
|
- if(CMAKE_BUILD_TYPE)
|
|
- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
|
|
- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
|
|
- else()
|
|
- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
|
|
- endif()
|
|
- endif()
|
|
-
|
|
- set(CONFIG_EXPR
|
|
- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
|
|
- )
|
|
-
|
|
- execute_process(
|
|
- COMMAND ${CMAKE_COMMAND}
|
|
- -G "${CMAKE_GENERATOR}"
|
|
- ${set_build_type}
|
|
- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
|
|
- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
|
|
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
|
- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
|
|
- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
|
|
- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
|
|
- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
|
|
- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
|
|
- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
|
|
- ${PROJECT_SOURCE_DIR}/protobuf
|
|
- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf
|
|
- RESULT_VARIABLE protobuf_config
|
|
- )
|
|
-
|
|
- if(protobuf_config)
|
|
- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
|
|
- endif()
|
|
-
|
|
- set(WITH_PROTOBUF "${PROJECT_BINARY_DIR}/protobuf")
|
|
-
|
|
-endif(DEFINED WITH_PROTOBUF)
|
|
-
|
|
-# Import targets exported by protobuf
|
|
-
|
|
-include(${WITH_PROTOBUF}/exports.cmake)
|
|
-
|
|
-#
|
|
-# Protobuf library targets imported above (pb_protobuf
|
|
-# and pb_protobuf-lite) are local to the directory from which
|
|
-# they were imported. This is not good if cdk is used as
|
|
-# a sub-project of a parent project, because the parent project
|
|
-# must have access to these targets.
|
|
-#
|
|
-# For that reason below we create global protobuf/protobuf-lite targets
|
|
-# and copy their locations from the imported targets.
|
|
-#
|
|
-# Note: we can't use ALIAS library because it does not work with imported
|
|
-# targets
|
|
-#
|
|
-
|
|
-add_library(protobuf STATIC IMPORTED GLOBAL)
|
|
-add_library(protobuf-lite STATIC IMPORTED GLOBAL)
|
|
-
|
|
-foreach(lib protobuf protobuf-lite)
|
|
- #message("processing: ${lib}")
|
|
-
|
|
- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
|
|
- #message("- CONF: ${CONF}")
|
|
-
|
|
- get_target_property(LOC pb_${lib} IMPORTED_LOCATION_${CONF})
|
|
- if(LOC)
|
|
- #message("- setting imported location to: ${LOC}")
|
|
- set_target_properties(${lib} PROPERTIES
|
|
- IMPORTED_LOCATION_${CONF} "${LOC}"
|
|
- )
|
|
- set_property(TARGET ${lib} APPEND PROPERTY
|
|
- IMPORTED_CONFIGURATIONS ${CONF}
|
|
- )
|
|
- endif()
|
|
-
|
|
- endforeach(CONF)
|
|
-
|
|
-endforeach(lib)
|
|
-
|
|
-#
|
|
-# To support 'Static' build configuration the targets imported from the
|
|
-# Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
|
|
-# 'Release' locations as Protobuf is built using 'Release' configuration in
|
|
-# that case.
|
|
-#
|
|
-
|
|
-foreach(tgt protobuf protobuf-lite pb_protoc)
|
|
-
|
|
- get_target_property(LOC ${tgt} IMPORTED_LOCATION_RELEASE)
|
|
- set_property(TARGET ${tgt} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
|
|
-
|
|
-endforeach(tgt)
|
|
-
|
|
-
|
|
-# protobuf depends on protobuf-lite
|
|
-
|
|
-set_target_properties(protobuf PROPERTIES
|
|
- INTERFACE_LINK_LIBRARIES "protobuf-lite"
|
|
-)
|
|
-
|
|
-
|
|
-message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
|
|
-
|
|
-set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR}
|
|
- CACHE INTERNAL "Protobuf include path" FORCE)
|
|
-set(PROTOBUF_PROTOC_EXECUTABLE pb_protoc
|
|
- CACHE INTERNAL "Protobuf compiler" FORCE)
|
|
-
|
|
-#
|
|
-# Custom target build_protobuf ensures that Protobuf project is built.
|
|
-#
|
|
-# Note: this depends on Protobuf project generating the stamp file
|
|
-#
|
|
-
|
|
-if(NOT DEFINED PROTOBUF_BUILD_STAMP)
|
|
- message(FATAL_ERROR "Protobuf build stamp file not defined")
|
|
-endif()
|
|
-
|
|
-
|
|
-if(CMAKE_VERSION VERSION_LESS 3.0)
|
|
- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
|
|
- COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIGURATION>
|
|
- WORKING_DIRECTORY ${WITH_PROTOBUF}
|
|
- COMMENT "Building protobuf using configuration: $(Configuration)"
|
|
- )
|
|
-else()
|
|
- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
|
|
- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG_EXPR}
|
|
- WORKING_DIRECTORY ${WITH_PROTOBUF}
|
|
- COMMENT "Building protobuf using configuration: $(Configuration)"
|
|
- )
|
|
-endif()
|
|
-
|
|
-add_custom_target(build_protobuf
|
|
- DEPENDS ${PROTOBUF_BUILD_STAMP}
|
|
-)
|
|
-
|
|
-add_dependencies(protobuf build_protobuf)
|
|
-add_dependencies(protobuf-lite build_protobuf)
|
|
-add_dependencies(pb_protoc build_protobuf)
|
|
+#SET(Protobuf_USE_STATIC_LIBS ON)
|
|
+find_package(Protobuf REQUIRED)
|
|
|
|
#
|
|
# Choice between full and lite version of the library.
|
|
--- a/cdk/protocol/mysqlx/crud.cc
|
|
+++ b/cdk/protocol/mysqlx/crud.cc
|
|
@@ -295,7 +295,7 @@ public:
|
|
class Placeholder_conv_imp
|
|
: public Args_conv
|
|
{
|
|
- map<string, unsigned> m_map;
|
|
+ std::map<string, unsigned> m_map;
|
|
|
|
public:
|
|
|
|
@@ -303,7 +303,7 @@ public:
|
|
|
|
unsigned conv_placeholder(const string &name)
|
|
{
|
|
- map<string, unsigned>::const_iterator it = m_map.find(name);
|
|
+ std::map<string, unsigned>::const_iterator it = m_map.find(name);
|
|
if (it == m_map.end())
|
|
throw_error("Placeholder converter: Placeholder was not defined on args");
|
|
//throw Generic_error((boost::format("Placeholder %s was not defined on args.")
|
|
@@ -314,7 +314,7 @@ public:
|
|
|
|
void add_placeholder(const string &name)
|
|
{
|
|
- map<string, unsigned>::const_iterator it = m_map.find(name);
|
|
+ std::map<string, unsigned>::const_iterator it = m_map.find(name);
|
|
if (it != m_map.end())
|
|
throw_error("Placeholder converter: Redefined placeholder");
|
|
//throw Generic_error((boost::format("Redifined placeholder %s.")
|
|
--- a/jdbc.cmake
|
|
+++ b/jdbc.cmake
|
|
@@ -66,7 +66,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
|
|
list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
|
|
endif()
|
|
|
|
-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
|
|
+list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
|
|
|
|
if(CMAKE_BUILD_TYPE)
|
|
if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
|