From e1396c09ded38a3892dbf00058f6b3e29b05843d Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 16 May 2016 23:28:39 +0200 Subject: [PATCH] Misc: Fix compile --- dep/SFMT/CMakeLists.txt | 15 +++++++ dep/boost/CMakeLists.txt | 67 ++++++++++++++++++++++++++++ src/server/bnetserver/CMakeLists.txt | 2 +- 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 dep/SFMT/CMakeLists.txt create mode 100644 dep/boost/CMakeLists.txt diff --git a/dep/SFMT/CMakeLists.txt b/dep/SFMT/CMakeLists.txt new file mode 100644 index 0000000000..d35a5efdb8 --- /dev/null +++ b/dep/SFMT/CMakeLists.txt @@ -0,0 +1,15 @@ +# Copyright (C) 2008-2016 TrinityCore +# +# 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. + +add_library(sfmt INTERFACE) + +target_include_directories(sfmt + INTERFACE + ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file diff --git a/dep/boost/CMakeLists.txt b/dep/boost/CMakeLists.txt new file mode 100644 index 0000000000..3bae56267f --- /dev/null +++ b/dep/boost/CMakeLists.txt @@ -0,0 +1,67 @@ +# Copyright (C) 2008-2016 TrinityCore +# +# 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. + +if(WIN32) + set(BOOST_DEBUG ON) + if(DEFINED ENV{BOOST_ROOT}) + set(BOOST_ROOT $ENV{BOOST_ROOT}) + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0) + set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib${PLATFORM}-msvc-12.0) + else() + set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib${PLATFORM}-msvc-14.0) + endif() + else() + message(FATAL_ERROR "No BOOST_ROOT environment variable could be found! Please make sure it is set and the points to your Boost installation.") + endif() + + set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_MULTITHREADED ON) + set(Boost_USE_STATIC_RUNTIME OFF) +endif() + +find_package(Boost 1.55 REQUIRED system filesystem thread program_options iostreams regex) + +# Find if Boost was compiled in C++03 mode because it requires -DBOOST_NO_CXX11_SCOPED_ENUMS + +include (CheckCXXSourceCompiles) + +set(CMAKE_REQUIRED_INCLUDES ${Boost_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_IOSTREAMS_LIBRARY}) +set(CMAKE_REQUIRED_FLAGS "-std=c++11") +unset(boost_filesystem_copy_links_without_NO_SCOPED_ENUM CACHE) +check_cxx_source_compiles(" + #include + #include + int main() { boost::filesystem::copy_file(boost::filesystem::path(), boost::filesystem::path()); }" +boost_filesystem_copy_links_without_NO_SCOPED_ENUM) +unset(CMAKE_REQUIRED_INCLUDES CACHE) +unset(CMAKE_REQUIRED_LIBRARIES CACHE) +unset(CMAKE_REQUIRED_FLAGS CACHE) + +if (NOT boost_filesystem_copy_links_without_NO_SCOPED_ENUM) + set(OPTIONAL_BOOST_NO_SCOPED_ENUMS -DBOOST_NO_CXX11_SCOPED_ENUMS) +endif() + +add_library(boost INTERFACE) + +target_link_libraries(boost + INTERFACE + ${Boost_LIBRARIES}) + +target_include_directories(boost + INTERFACE + ${Boost_INCLUDE_DIRS}) + +target_compile_definitions(boost + INTERFACE + -DBOOST_DATE_TIME_NO_LIB + -DBOOST_REGEX_NO_LIB + -DBOOST_CHRONO_NO_LIB + ${OPTIONAL_BOOST_NO_SCOPED_ENUMS}) diff --git a/src/server/bnetserver/CMakeLists.txt b/src/server/bnetserver/CMakeLists.txt index 53858999f6..2bf6724bf7 100644 --- a/src/server/bnetserver/CMakeLists.txt +++ b/src/server/bnetserver/CMakeLists.txt @@ -93,7 +93,7 @@ target_link_libraries(bnetserver ipc common zmqpp - format + cppformat ${MYSQL_LIBRARY} ${OPENSSL_LIBRARIES} ${ZMQ_LIBRARY}