linux server in production now online

This commit is contained in:
ErikasKontenis 2020-01-05 19:33:21 +02:00
parent b147aa2590
commit 5260e41d84
8 changed files with 66 additions and 20 deletions

View File

@ -5,44 +5,51 @@ set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
project(tfs)
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(cotire)
add_compile_options(-Wall -pipe -fvisibility=hidden)
add_definitions(-DBOOST_ALL_NO_LIB)
add_compile_options(-Wall -Werror -pipe -fvisibility=hidden)
set(CMAKE_CXX_FLAGS_PERFORMANCE "${CMAKE_CXX_FLAGS_RELEASE} -march=native")
if (CMAKE_COMPILER_IS_GNUCXX)
add_compile_options(-fno-strict-aliasing)
endif()
include(FindCXX11)
include(FindLTO)
# Find packages.
find_package(Crypto++ REQUIRED)
find_package(GMP REQUIRED)
find_package(PugiXML REQUIRED)
find_package(LuaJIT)
find_package(MySQL)
find_package(Threads)
option(USE_LUAJIT "Use LuaJIT" ${LUAJIT_FOUND})
# Selects LuaJIT if user defines or auto-detected
if(DEFINED USE_LUAJIT AND NOT USE_LUAJIT)
set(FORCE_LUAJIT ${USE_LUAJIT})
else()
find_package(LuaJIT)
set(FORCE_LUAJIT ${LuaJIT_FOUND})
endif()
option(USE_LUAJIT "Use LuaJIT" ${FORCE_LUAJIT})
if(USE_LUAJIT)
find_package(LuaJIT REQUIRED)
if(FORCE_LUAJIT)
if(APPLE)
set(CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000")
endif()
else()
find_package(Lua)
find_package(Lua REQUIRED)
endif()
find_package(Boost 1.53.0 COMPONENTS system filesystem REQUIRED)
find_package(Boost 1.53.0 COMPONENTS system filesystem iostreams REQUIRED)
include(src/CMakeLists.txt)
add_subdirectory(src)
add_executable(tfs ${tfs_SRC})
include_directories(${MYSQL_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${GMP_INCLUDE_DIR})
target_link_libraries(tfs ${MYSQL_CLIENT_LIBS} ${LUA_LIBRARIES} ${Boost_LIBRARIES} ${Boost_FILESYSTEM_LIBRARIES} ${PUGIXML_LIBRARIES} ${GMP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
include_directories(${MYSQL_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${GMP_INCLUDE_DIR} ${Crypto++_INCLUDE_DIR})
target_link_libraries(tfs ${MYSQL_CLIENT_LIBS} ${LUA_LIBRARIES} ${Boost_LIBRARIES} ${Boost_FILESYSTEM_LIBRARY} ${PUGIXML_LIBRARIES} ${GMP_LIBRARIES} ${Crypto++_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(tfs PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "src/otpch.h")
set_target_properties(tfs PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)

13
cmake/FindCrypto++.cmake Normal file
View File

@ -0,0 +1,13 @@
# Locate Crypto++ library
# This module defines
# Crypto++_FOUND
# Crypto++_INCLUDE_DIR
# Crypto++_LIBRARIES
find_path(Crypto++_INCLUDE_DIR NAMES cryptopp/cryptlib.h)
find_library(Crypto++_LIBRARIES NAMES cryptopp libcryptopp)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Crypto++ DEFAULT_MSG Crypto++_INCLUDE_DIR Crypto++_LIBRARIES)
mark_as_advanced(Crypto++_INCLUDE_DIR Crypto++_LIBRARIES)

12
cmake/FindLTO.cmake Normal file
View File

@ -0,0 +1,12 @@
if(__FIND_LTO_CMAKE__)
return()
endif()
set(__FIND_LTO_CMAKE__ TRUE)
include(CheckCXXCompilerFlag)
enable_language(CXX)
check_cxx_compiler_flag("-flto" COMPILER_KNOWS_LTO)
if(COMPILER_KNOWS_LTO)
add_compile_options(-flto)
endif()

View File

@ -10,7 +10,7 @@
find_path(LUA_INCLUDE_DIR luajit.h
HINTS
ENV LUA_DIR
PATH_SUFFIXES include/luajit-2.0 include
PATH_SUFFIXES include/luajit-2.0 include/luajit-2.1 include
PATHS
~/Library/Frameworks
/Library/Frameworks

View File

@ -67,7 +67,7 @@ IF (WIN32)
$ENV{ProgramFiles}/MySQL/*/lib/${libsuffixDist}
$ENV{SystemDrive}/MySQL/*/lib/${libsuffixDist})
ELSE (WIN32)
FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient
FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient mariadbclient
PATHS
$ENV{MYSQL_DIR}/libmysql/.libs
$ENV{MYSQL_DIR}/lib
@ -95,7 +95,7 @@ IF (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
FIND_LIBRARY(MYSQL_ZLIB zlib PATHS ${MYSQL_LIB_DIR})
FIND_LIBRARY(MYSQL_YASSL yassl PATHS ${MYSQL_LIB_DIR})
FIND_LIBRARY(MYSQL_TAOCRYPT taocrypt PATHS ${MYSQL_LIB_DIR})
SET(MYSQL_CLIENT_LIBS mysqlclient)
SET(MYSQL_CLIENT_LIBS ${MYSQL_LIB})
IF (MYSQL_ZLIB)
SET(MYSQL_CLIENT_LIBS ${MYSQL_CLIENT_LIBS} zlib)
ENDIF (MYSQL_ZLIB)

View File

@ -1,7 +1,15 @@
find_path(PUGIXML_INCLUDE_DIR NAMES pugixml.hpp)
find_library(PUGIXML_LIBRARIES NAMES pugixml)
if(APPLE)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PC_PUGIXML QUIET pugixml)
set(PUGIXML_DEFINITIONS ${PC_PUGIXML_CFLAGS_OTHER})
find_path(PUGIXML_INCLUDE_DIR pugixml.hpp HINTS ${PC_PUGIXML_INCLUDEDIR} ${PC_PUGIXML_INCLUDE_DIRS})
find_library(PUGIXML_LIBRARIES NAMES pugixml HINTS ${PC_PUGIXML_LIBDIR} ${PC_PUGIXML_LIBRARY_DIRS})
else()
find_path(PUGIXML_INCLUDE_DIR NAMES pugixml.hpp)
find_library(PUGIXML_LIBRARIES NAMES pugixml)
endif()
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PugiXML REQUIRED_VARS PUGIXML_INCLUDE_DIR PUGIXML_LIBRARIES)
find_package_handle_standard_args(PugiXML REQUIRED_VARS PUGIXML_INCLUDE_DIR PUGIXML_LIBRARIES)
mark_as_advanced(PUGIXML_INCLUDE_DIR PUGIXML_LIBRARIES)

View File

@ -1498,6 +1498,12 @@ ALTER TABLE `tile_store`
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `accounts`
--
ALTER TABLE `accounts`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `account_ban_history`
--

View File

@ -68,5 +68,5 @@ set(tfs_SRC
${CMAKE_CURRENT_LIST_DIR}/waitlist.cpp
${CMAKE_CURRENT_LIST_DIR}/wildcardtree.cpp
${CMAKE_CURRENT_LIST_DIR}/xtea.cpp
)
PARENT_SCOPE)