Commit fe65ca01 authored by Sergei Golubchik's avatar Sergei Golubchik

don't build bundled libfmt, we use it in header-only mode anyway

parent 6777c67a
...@@ -7,9 +7,6 @@ SET(WITH_LIBFMT "auto" CACHE STRING ...@@ -7,9 +7,6 @@ SET(WITH_LIBFMT "auto" CACHE STRING
MACRO(BUNDLE_LIBFMT) MACRO(BUNDLE_LIBFMT)
SET(dir "${CMAKE_BINARY_DIR}/extra/libfmt") SET(dir "${CMAKE_BINARY_DIR}/extra/libfmt")
SET(LIBFMT_INCLUDE_DIR "${dir}/src/libfmt/include") SET(LIBFMT_INCLUDE_DIR "${dir}/src/libfmt/include")
ADD_LIBRARY(fmt STATIC IMPORTED GLOBAL)
SET(file ${dir}/src/libfmt-build/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}fmt${CMAKE_STATIC_LIBRARY_SUFFIX})
SET_TARGET_PROPERTIES(fmt PROPERTIES IMPORTED_LOCATION ${file})
ExternalProject_Add( ExternalProject_Add(
libfmt libfmt
...@@ -17,34 +14,22 @@ MACRO(BUNDLE_LIBFMT) ...@@ -17,34 +14,22 @@ MACRO(BUNDLE_LIBFMT)
URL "https://github.com/fmtlib/fmt/archive/refs/tags/8.0.1.zip" URL "https://github.com/fmtlib/fmt/archive/refs/tags/8.0.1.zip"
URL_MD5 e77873199e897ca9f780479ad68e25b1 URL_MD5 e77873199e897ca9f780479ad68e25b1
INSTALL_COMMAND "" INSTALL_COMMAND ""
CMAKE_ARGS CONFIGURE_COMMAND ""
"-DCMAKE_POSITION_INDEPENDENT_CODE=ON" BUILD_COMMAND ""
"-DBUILD_SHARED_LIBS=OFF" BUILD_BYPRODUCTS ${LIBFMT_INCLUDE_DIR}/fmt/format-inl.h
"-DFMT_DEBUG_POSTFIX="
"-DFMT_DOC=OFF"
"-DFMT_TEST=OFF"
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
"-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${PIC_FLAG}"
"-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}"
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}"
"-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}"
"-DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}"
"-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
BUILD_BYPRODUCTS ${file}
) )
SET_TARGET_PROPERTIES(fmt PROPERTIES EXCLUDE_FROM_ALL TRUE)
ENDMACRO() ENDMACRO()
MACRO (CHECK_LIBFMT) MACRO (CHECK_LIBFMT)
IF(WITH_LIBFMT STREQUAL "system" OR WITH_LIBFMT STREQUAL "auto") IF(WITH_LIBFMT STREQUAL "system" OR WITH_LIBFMT STREQUAL "auto")
SET(CMAKE_REQUIRED_LIBRARIES fmt)
CHECK_CXX_SOURCE_COMPILES( CHECK_CXX_SOURCE_COMPILES(
"#include <fmt/core.h> "#define FMT_STATIC_THOUSANDS_SEPARATOR ','
#define FMT_HEADER_ONLY 1
#include <fmt/format-inl.h>
#include <iostream> #include <iostream>
int main() { int main() {
std::cout << fmt::format(\"The answer is {}.\", 42); std::cout << fmt::format(\"The answer is {}.\", 42);
}" HAVE_SYSTEM_LIBFMT) }" HAVE_SYSTEM_LIBFMT)
SET(CMAKE_REQUIRED_LIBRARIES)
ENDIF() ENDIF()
IF(NOT HAVE_SYSTEM_LIBFMT OR WITH_LIBFMT STREQUAL "bundled") IF(NOT HAVE_SYSTEM_LIBFMT OR WITH_LIBFMT STREQUAL "bundled")
IF (WITH_LIBFMT STREQUAL "system") IF (WITH_LIBFMT STREQUAL "system")
......
...@@ -396,7 +396,7 @@ IF(NOT DISABLE_SHARED) ...@@ -396,7 +396,7 @@ IF(NOT DISABLE_SHARED)
# libmysqld # libmysqld
SET_TARGET_PROPERTIES(libmysqld PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(libmysqld PROPERTIES CLEAN_DIRECT_OUTPUT 1)
SET_TARGET_PROPERTIES(mysqlserver PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES(mysqlserver PROPERTIES CLEAN_DIRECT_OUTPUT 1)
TARGET_LINK_LIBRARIES(mysqlserver LINK_PRIVATE tpool fmt ${CRC32_LIBRARY}) TARGET_LINK_LIBRARIES(mysqlserver LINK_PRIVATE tpool ${CRC32_LIBRARY})
IF(LIBMYSQLD_SO_EXTRA_LIBS) IF(LIBMYSQLD_SO_EXTRA_LIBS)
TARGET_LINK_LIBRARIES(libmysqld LINK_PRIVATE ${LIBMYSQLD_SO_EXTRA_LIBS}) TARGET_LINK_LIBRARIES(libmysqld LINK_PRIVATE ${LIBMYSQLD_SO_EXTRA_LIBS})
ENDIF() ENDIF()
......
...@@ -208,7 +208,7 @@ MAYBE_DISABLE_IPO(sql) ...@@ -208,7 +208,7 @@ MAYBE_DISABLE_IPO(sql)
DTRACE_INSTRUMENT(sql) DTRACE_INSTRUMENT(sql)
TARGET_LINK_LIBRARIES(sql TARGET_LINK_LIBRARIES(sql
mysys mysys_ssl dbug strings vio pcre2-8 mysys mysys_ssl dbug strings vio pcre2-8
tpool fmt tpool
${LIBWRAP} ${LIBCRYPT} ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} ${LIBWRAP} ${LIBCRYPT} ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT}
${SSL_LIBRARIES} ${SSL_LIBRARIES}
${LIBSYSTEMD}) ${LIBSYSTEMD})
...@@ -391,6 +391,10 @@ ADD_CUSTOM_TARGET( ...@@ -391,6 +391,10 @@ ADD_CUSTOM_TARGET(
${CMAKE_CURRENT_BINARY_DIR}/yy_oracle.cc ${CMAKE_CURRENT_BINARY_DIR}/yy_oracle.cc
) )
IF(TARGET libfmt)
ADD_DEPENDENCIES(GenServerSource libfmt)
ENDIF()
IF(WIN32 OR HAVE_DLOPEN AND NOT DISABLE_SHARED) IF(WIN32 OR HAVE_DLOPEN AND NOT DISABLE_SHARED)
ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def) ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def)
SET_TARGET_PROPERTIES(udf_example PROPERTIES PREFIX "") SET_TARGET_PROPERTIES(udf_example PROPERTIES PREFIX "")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment