mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 00:18:43 +01:00
CMake: Provide proper interface targets from dependencies
This commit is contained in:
@@ -1,31 +1,37 @@
|
||||
include(CheckCXXCompilerFlag)
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://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(FMT_SOURCES cppformat/format.cc cppformat/format.h)
|
||||
|
||||
# Use variadic templates
|
||||
add_definitions(-DFMT_VARIADIC_TEMPLATES=1)
|
||||
|
||||
# Use deleted functions
|
||||
add_definitions(-DFMT_USE_DELETED_FUNCTIONS=1)
|
||||
|
||||
# Use static assert
|
||||
add_definitions(-DFMT_USE_STATIC_ASSERT=1)
|
||||
|
||||
if (WIN32)
|
||||
check_symbol_exists(open io.h HAVE_OPEN)
|
||||
else ()
|
||||
check_symbol_exists(open fcntl.h HAVE_OPEN)
|
||||
endif ()
|
||||
|
||||
set(FMT_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cppformat/format.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cppformat/format.cc)
|
||||
|
||||
if (HAVE_OPEN)
|
||||
add_definitions(-DFMT_USE_FILE_DESCRIPTORS=1)
|
||||
set(FMT_SOURCES ${FMT_SOURCES} cppformat/posix.cc cppformat/posix.h)
|
||||
endif ()
|
||||
set(FMT_SOURCES ${FMT_SOURCES}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cppformat/posix.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cppformat/posix.cc)
|
||||
endif()
|
||||
|
||||
add_library(cppformat STATIC ${FMT_SOURCES})
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
set_target_properties(cppformat PROPERTIES COMPILE_FLAGS
|
||||
"-Wall -Wextra -Wshadow -pedantic")
|
||||
endif ()
|
||||
target_include_directories(cppformat
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
set_target_properties(cppformat
|
||||
PROPERTIES
|
||||
FOLDER
|
||||
"dep")
|
||||
|
||||
Reference in New Issue
Block a user