mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-22 21:47:24 +00:00
wip: try simplified connector build
This commit is contained in:
parent
2ad3cb79d3
commit
a166e3ef3f
62
thirdparty/CMakeMariaDBLists.txt
vendored
62
thirdparty/CMakeMariaDBLists.txt
vendored
@ -85,62 +85,38 @@ else() # Build from source
|
|||||||
-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0)
|
-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(MARIADBCPP_INSTALL_DIR ${PROJECT_BINARY_DIR}/prefix)
|
||||||
|
set(MARIADBCPP_LIBRARY_DIR ${PROJECT_BINARY_DIR}/mariadbcpp)
|
||||||
|
set(MARIADBCPP_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mariadb-connector-cpp)
|
||||||
ExternalProject_Add(mariadb_connector_cpp
|
ExternalProject_Add(mariadb_connector_cpp
|
||||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/mariadb-connector-cpp
|
PREFIX "${PROJECT_BINARY_DIR}/mariadbcpp-build"
|
||||||
CMAKE_ARGS -Wno-dev
|
SOURCE_DIR ${MARIADBCPP_SOURCE_DIR}
|
||||||
-DCMAKE_BUILD_RPATH_USE_ORIGIN=${CMAKE_BUILD_RPATH_USE_ORIGIN}
|
INSTALL_DIR ${MARIADBCPP_INSTALL_DIR}
|
||||||
-DCMAKE_INSTALL_PREFIX=./mariadbcpp # Points the connector to the correct plugin directory
|
CMAKE_ARGS -Wno-dev
|
||||||
-DINSTALL_PLUGINDIR=plugin
|
-DCMAKE_BUILD_RPATH_USE_ORIGIN=${CMAKE_BUILD_RPATH_USE_ORIGIN}
|
||||||
${MARIADB_EXTRA_CMAKE_ARGS}
|
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||||||
PREFIX "${PROJECT_BINARY_DIR}/mariadbcpp"
|
-DINSTALL_LIBDIR=${MARIADBCPP_LIBRARY_DIR}
|
||||||
BUILD_COMMAND cmake --build . --config RelWithDebInfo -j${MARIADB_CONNECTOR_COMPILE_JOBS}
|
-DINSTALL_PLUGINDIR=${MARIADBCPP_LIBRARY_DIR}/plugin
|
||||||
INSTALL_COMMAND "")
|
${MARIADB_EXTRA_CMAKE_ARGS}
|
||||||
|
BUILD_ALWAYS true
|
||||||
ExternalProject_Get_Property(mariadb_connector_cpp BINARY_DIR)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(MARIADB_SHARED_LIBRARY_NAME mariadbcpp.dll)
|
set(MARIADB_SHARED_LIBRARY_NAME mariadbcpp.dll)
|
||||||
set(MARIADB_PLUGIN_SUFFIX .dll)
|
set(MARIADB_PLUGIN_SUFFIX .dll)
|
||||||
set(MARIADB_IMPLIB_LOCATION "${BINARY_DIR}/RelWithDebInfo/mariadbcpp.lib")
|
set(MARIADB_IMPLIB_LOCATION "${MARIADBCPP_INSTALL_DIR}/mariadbcpp.lib")
|
||||||
|
|
||||||
# When built from source windows only seems to check same folder as exe instead specified folder, so use
|
# When built from source windows only seems to check same folder as exe instead specified folder, so use
|
||||||
# environment variable to force it
|
# environment variable to force it
|
||||||
add_link_options(/DELAYLOAD:mariadbcpp.dll)
|
add_link_options(/DELAYLOAD:mariadbcpp.dll)
|
||||||
add_compile_definitions(MARIADB_PLUGIN_DIR_OVERRIDE="${PROJECT_BINARY_DIR}/mariadbcpp/plugin")
|
add_compile_definitions(MARIADB_PLUGIN_DIR_OVERRIDE="${MARIADBCPP_LIBRARY_DIR}/plugin")
|
||||||
else()
|
else()
|
||||||
set(MARIADB_SHARED_LIBRARY_NAME libmariadbcpp${CMAKE_SHARED_LIBRARY_SUFFIX})
|
set(MARIADB_SHARED_LIBRARY_NAME libmariadbcpp${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||||
set(MARIADB_PLUGIN_SUFFIX .so)
|
set(MARIADB_PLUGIN_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
set(MARIADB_SHARED_LIBRARY_LOCATION "${MARIADBCPP_LIBRARY_DIR}/${MARIADB_SHARED_LIBRARY_NAME}")
|
||||||
if(isMultiConfig)
|
set(MARIADB_INCLUDE_DIR "${MARIADBCPP_SOURCE_DIR}/include")
|
||||||
set(MARIADB_SHARED_LIBRARY_LOCATION "${BINARY_DIR}/RelWithDebInfo/${MARIADB_SHARED_LIBRARY_NAME}")
|
|
||||||
set(MARIADB_SHARED_LIBRARY_COPY_LOCATION "${PROJECT_BINARY_DIR}/$<CONFIG>")
|
|
||||||
set(MARIADB_PLUGINS_LOCATION "${BINARY_DIR}/libmariadb/RelWithDebInfo")
|
|
||||||
else()
|
|
||||||
set(MARIADB_SHARED_LIBRARY_LOCATION "${BINARY_DIR}/${MARIADB_SHARED_LIBRARY_NAME}")
|
|
||||||
set(MARIADB_SHARED_LIBRARY_COPY_LOCATION "${PROJECT_BINARY_DIR}")
|
|
||||||
set(MARIADB_PLUGINS_LOCATION "${BINARY_DIR}/libmariadb")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(MARIADB_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/thirdparty/mariadb-connector-cpp/include/")
|
|
||||||
|
|
||||||
add_custom_command(TARGET mariadb_connector_cpp POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory
|
|
||||||
${BINARY_DIR}/mariadbcpp/plugin
|
|
||||||
${MARIADB_SHARED_LIBRARY_COPY_LOCATION}
|
|
||||||
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
||||||
${MARIADB_SHARED_LIBRARY_LOCATION}
|
|
||||||
${MARIADB_SHARED_LIBRARY_COPY_LOCATION}
|
|
||||||
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
||||||
${MARIADB_PLUGINS_LOCATION}/caching_sha2_password${MARIADB_PLUGIN_SUFFIX}
|
|
||||||
${MARIADB_PLUGINS_LOCATION}/client_ed25519${MARIADB_PLUGIN_SUFFIX}
|
|
||||||
${MARIADB_PLUGINS_LOCATION}/dialog${MARIADB_PLUGIN_SUFFIX}
|
|
||||||
${MARIADB_PLUGINS_LOCATION}/mysql_clear_password${MARIADB_PLUGIN_SUFFIX}
|
|
||||||
${MARIADB_PLUGINS_LOCATION}/sha256_password${MARIADB_PLUGIN_SUFFIX}
|
|
||||||
${BINARY_DIR}/mariadbcpp/plugin)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Remove the CMakeLists.txt file from the tests folder for the maria-db-connector so we dont compile the tests.
|
# Remove the CMakeLists.txt file from the tests folder for the maria-db-connector so we dont compile the tests.
|
||||||
|
Loading…
Reference in New Issue
Block a user