mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
feat(Cmake/Database): separate database lib from common (#5334)
* feat(Core/Database): separate databse lib from common * 1
This commit is contained in:
@@ -54,7 +54,6 @@ target_link_libraries(common
|
|||||||
PUBLIC
|
PUBLIC
|
||||||
acore-core-interface
|
acore-core-interface
|
||||||
ace
|
ace
|
||||||
mysql
|
|
||||||
g3dlib
|
g3dlib
|
||||||
Detour
|
Detour
|
||||||
sfmt
|
sfmt
|
||||||
|
|||||||
@@ -22,8 +22,9 @@ set(winService
|
|||||||
${CMAKE_SOURCE_DIR}/src/common/Platform/ServiceWin32.h)
|
${CMAKE_SOURCE_DIR}/src/common/Platform/ServiceWin32.h)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(shared)
|
|
||||||
add_subdirectory(game)
|
|
||||||
add_subdirectory(authserver)
|
add_subdirectory(authserver)
|
||||||
|
add_subdirectory(database)
|
||||||
|
add_subdirectory(game)
|
||||||
|
add_subdirectory(shared)
|
||||||
add_subdirectory(scripts)
|
add_subdirectory(scripts)
|
||||||
add_subdirectory(worldserver)
|
add_subdirectory(worldserver)
|
||||||
|
|||||||
58
src/server/database/CMakeLists.txt
Normal file
58
src/server/database/CMakeLists.txt
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
|
||||||
|
#
|
||||||
|
|
||||||
|
CollectSourceFiles(
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
PRIVATE_SOURCES
|
||||||
|
# Exclude
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders)
|
||||||
|
|
||||||
|
if(USE_COREPCH)
|
||||||
|
set(PRIVATE_PCH_HEADER PrecompiledHeaders/databasePCH.h)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Group sources
|
||||||
|
GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
add_library(database
|
||||||
|
${PRIVATE_SOURCES})
|
||||||
|
|
||||||
|
# Do NOT add any extra include directory unless it does not create unneeded extra dependencies,
|
||||||
|
# and specially, not add any dependency to neither of these: shared, game, scripts
|
||||||
|
# This way we ensure that if either a PR does that without modifying this file,
|
||||||
|
# a compile error will be generated, either this file will be modified so it
|
||||||
|
# is detected more easily.
|
||||||
|
# While it is OK to include files from other libs as long as they don't require
|
||||||
|
# linkage (enums, defines...) it is discouraged to do so unless necessary, as it will pullute
|
||||||
|
# include_directories leading to further unnoticed dependency aditions
|
||||||
|
# Linker Depencency requirements: common
|
||||||
|
CollectIncludeDirectories(
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
PUBLIC_INCLUDES
|
||||||
|
# Exclude
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders)
|
||||||
|
|
||||||
|
target_include_directories(database
|
||||||
|
PUBLIC
|
||||||
|
${PUBLIC_INCLUDES}
|
||||||
|
PRIVATE
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
target_link_libraries(database
|
||||||
|
# PRIVATE
|
||||||
|
# acore-core-interface
|
||||||
|
# mysql
|
||||||
|
PUBLIC
|
||||||
|
common
|
||||||
|
mysql)
|
||||||
|
|
||||||
|
set_target_properties(database
|
||||||
|
PROPERTIES
|
||||||
|
FOLDER
|
||||||
|
"server")
|
||||||
|
|
||||||
|
# Generate precompiled header
|
||||||
|
if(USE_COREPCH)
|
||||||
|
add_cxx_pch(database ${PRIVATE_PCH_HEADER})
|
||||||
|
endif()
|
||||||
@@ -9,9 +9,8 @@
|
|||||||
|
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
|
|
||||||
#include <mysql.h>
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <mysql.h>
|
||||||
|
|
||||||
class Field
|
class Field
|
||||||
{
|
{
|
||||||
19
src/server/database/PrecompiledHeaders/databasePCH.h
Normal file
19
src/server/database/PrecompiledHeaders/databasePCH.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Define.h"
|
||||||
|
// #include "DatabaseEnvFwd.h"
|
||||||
|
#include "Errors.h"
|
||||||
|
#include "Field.h"
|
||||||
|
#include "Log.h"
|
||||||
|
#include "MySQLConnection.h"
|
||||||
|
// #include "MySQLPreparedStatement.h"
|
||||||
|
// #include "MySQLWorkaround.h"
|
||||||
|
#include "PreparedStatement.h"
|
||||||
|
#include "QueryResult.h"
|
||||||
|
#include "SQLOperation.h"
|
||||||
|
#include "Transaction.h"
|
||||||
|
#include <mysql.h>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
@@ -24,7 +24,7 @@ target_include_directories(shared
|
|||||||
|
|
||||||
target_link_libraries(shared
|
target_link_libraries(shared
|
||||||
PUBLIC
|
PUBLIC
|
||||||
common)
|
database)
|
||||||
|
|
||||||
set_target_properties(shared
|
set_target_properties(shared
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
|
|||||||
@@ -20,8 +20,6 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "Database/DatabaseEnv.h"
|
|
||||||
|
|
||||||
enum NavTerrain
|
enum NavTerrain
|
||||||
{
|
{
|
||||||
NAV_EMPTY = 0x00,
|
NAV_EMPTY = 0x00,
|
||||||
|
|||||||
Reference in New Issue
Block a user