feat(Core/Deps): Added fmt lib (#2190)
* About library (https://github.com/fmtlib/fmt)
This commit is contained in:
Vendored
+73
@@ -0,0 +1,73 @@
|
||||
#
|
||||
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL3 v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
|
||||
# Copyright (C) 2008-2019 TrinityCore <https://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
include(CheckSymbolExists)
|
||||
|
||||
set(strtod_l_headers stdlib.h)
|
||||
|
||||
if(WIN32)
|
||||
check_symbol_exists(open io.h HAVE_OPEN)
|
||||
check_symbol_exists(_strtod_l "${strtod_l_headers}" HAVE_STRTOD_L)
|
||||
else()
|
||||
check_symbol_exists(open fcntl.h HAVE_OPEN)
|
||||
check_symbol_exists(strtod_l "${strtod_l_headers}" HAVE_STRTOD_L)
|
||||
endif()
|
||||
|
||||
function(add_headers VAR)
|
||||
set(headers ${${VAR}})
|
||||
foreach (header ${ARGN})
|
||||
set(headers ${headers} fmt/${header})
|
||||
endforeach()
|
||||
set(${VAR} ${headers} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Define the fmt library, its includes and the needed defines.
|
||||
add_headers(FMT_HEADERS
|
||||
chrono.h
|
||||
color.h
|
||||
compile.h
|
||||
core.h
|
||||
format.h
|
||||
format-inl.h
|
||||
locale.h
|
||||
ostream.h
|
||||
printf.h
|
||||
ranges.h
|
||||
safe-duration-cast.h)
|
||||
|
||||
set(FMT_SOURCES fmt/format.cc)
|
||||
|
||||
if(HAVE_OPEN)
|
||||
add_headers(FMT_HEADERS posix.h)
|
||||
set(FMT_SOURCES ${FMT_SOURCES} fmt/posix.cc)
|
||||
endif()
|
||||
|
||||
add_library(fmt STATIC
|
||||
${FMT_SOURCES}
|
||||
${FMT_HEADERS})
|
||||
|
||||
GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
if (HAVE_STRTOD_L)
|
||||
target_compile_definitions(fmt
|
||||
PUBLIC
|
||||
FMT_LOCALE)
|
||||
endif()
|
||||
|
||||
target_include_directories(fmt
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
set_target_properties(fmt
|
||||
PROPERTIES
|
||||
FOLDER
|
||||
"deps")
|
||||
Reference in New Issue
Block a user