mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-19 18:24:34 +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:
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()
|
||||
Reference in New Issue
Block a user