server/src/shared/CMakeLists.txt
DasBlub 7b52873e24 [c12538] Do not use GLOB in CMake for source file lists
From the CMake documentation of the FILE command:
"We do not recommend using GLOB to collect a list of source files from your
source tree. If no CMakeLists.txt file changes when a source is added or
removed then the generated build system cannot know when to ask CMake to
regenerate."

(based on commit [12390] - f123635)

Signed-off-by: DasBlub <DasBlub@gmail.com>
2020-02-16 21:32:19 +00:00

145 lines
3.4 KiB
CMake

#
# This file is part of the CMaNGOS Project. See AUTHORS file for Copyright information
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
set(LIBRARY_NAME shared)
set(LIBRARY_SRCS
Auth/AuthCrypt.cpp
Auth/AuthCrypt.h
Auth/BigNumber.cpp
Auth/BigNumber.h
Auth/HMACSHA1.cpp
Auth/HMACSHA1.h
Auth/md5.h
Auth/SARC4.cpp
Auth/SARC4.h
Auth/Sha1.cpp
Auth/Sha1.h
ByteBuffer.cpp
ByteBuffer.h
Common.cpp
Common.h
Config/Config.cpp
Config/Config.h
Database/Database.cpp
Database/Database.h
Database/DatabaseEnv.h
Database/DatabaseImpl.h
Database/DatabaseMysql.cpp
Database/DatabaseMysql.h
Database/DatabasePostgre.cpp
Database/DatabasePostgre.h
Database/DB2FileLoader.cpp
Database/DB2FileLoader.h
Database/DB2Store.h
Database/DBCFileLoader.cpp
Database/DBCFileLoader.h
Database/DBCStore.h
Database/Field.cpp
Database/Field.h
Database/PGSQLDelayThread.h
Database/QueryResult.h
Database/QueryResultMysql.cpp
Database/QueryResultMysql.h
Database/QueryResultPostgre.cpp
Database/QueryResultPostgre.h
Database/SqlDelayThread.cpp
Database/SqlDelayThread.h
Database/SqlOperations.cpp
Database/SqlOperations.h
Database/SqlPreparedStatement.cpp
Database/SqlPreparedStatement.h
Database/SQLStorage.cpp
Database/SQLStorage.h
Database/SQLStorageImpl.h
Errors.h
LockedQueue.h
Log.cpp
Log.h
ProgressBar.cpp
ProgressBar.h
revision_nr.h
revision_sql.h
SystemConfig.h
Threading.cpp
Threading.h
Timer.h
Util.cpp
Util.h
WorldPacket.h
)
# OS specific files
if(WIN32)
set(LIBRARY_SRCS
${LIBRARY_SRCS}
WheatyExceptionReport.cpp
WheatyExceptionReport.h
ServiceWin32.cpp
ServiceWin32.h
)
else()
set(LIBRARY_SRCS
${LIBRARY_SRCS}
PosixDaemon.cpp
PosixDaemon.h
)
endif()
source_group("Util"
REGULAR_EXPRESSION .*
)
# TODO: really needed?
foreach(SRC ${LIBRARY_SRCS})
get_filename_component(PTH ${SRC} PATH)
if(PTH)
if(NOT XCODE) # FIXME: Xcode Generator has bug with nested dirs
string(REPLACE "/" "\\\\" PTH ${PTH})
endif()
source_group(${PTH} FILES ${SRC})
endif()
endforeach(SRC)
source_group("DataStores"
REGULAR_EXPRESSION DBC
)
source_group("Log"
REGULAR_EXPRESSION Log
)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/dep/include
${CMAKE_SOURCE_DIR}/src/framework
${CMAKE_BINARY_DIR}
${ACE_INCLUDE_DIR}
${MYSQL_INCLUDE_DIR}
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/SystemConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/SystemConfig.h)
add_library(${LIBRARY_NAME} STATIC
${LIBRARY_SRCS}
)
add_dependencies(${LIBRARY_NAME} revision.h)
if(NOT ACE_USE_EXTERNAL)
add_dependencies(${LIBRARY_NAME} ACE_Project)
endif()