server/CMakeLists.txt

68 lines
1.8 KiB
CMake

cmake_minimum_required(VERSION 2.4)
project (server C)
## CMake configuration ##
# You can pass these to cmake with -DNEED_OPTION=1
#
# if your system does not have libsqlite3-dev installed:
# set(NEED_SQLITE 1)
if (${CMAKE_C_COMPILER} MATCHES ".*tcc")
set(CMAKE_C_FLAGS "-Wall -g")
add_definitions(-DTINYCC)
endif(${CMAKE_C_COMPILER} MATCHES ".*tcc")
if (${CMAKE_C_COMPILER} MATCHES ".*gcc")
set(CMAKE_C_FLAGS "-g -Wall -Werror -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wno-char-subscripts -pedantic -Wno-long-long")
endif(${CMAKE_C_COMPILER} MATCHES ".*gcc")
if (WIN32)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE)
include_directories ( ../dependencies/pdcurses )
else (WIN32)
include_directories ( /usr/include/lua5.1/ /usr/include/libxml2 )
endif (WIN32)
include_directories (
../dependencies/bson
../dependencies/crypto
../dependencies/cutest
../dependencies/critbit
../dependencies/iniparser
../dependencies/quicklist
../core/src
)
set (LIB_SRCS
../dependencies/bson/bson.c
../dependencies/bson/numbers.c
../dependencies/critbit/critbit.c
../dependencies/crypto/md5.c
../dependencies/crypto/mt19937ar.c
../dependencies/cutest/CuTest.c
../dependencies/dlmalloc/malloc.c
../dependencies/quicklist/quicklist.c
../dependencies/iniparser/iniparser.c
../core/src/build/gamecode.c
../core/src/build/kernel.c
../core/src/build/lib.c
../core/src/build/util.c
)
set (LINK_LIBS tolua xml2 ncurses lua5.1 pthread)
if (NEED_SQLITE)
set( LIB_SRCS ${LIB_SRCS} ../dependencies/sqlite3/sqlite3.c )
include_directories ( ../dependencies/sqlite3 )
else (NEED_SQLITE)
set ( LINK_LIBS ${LINK_LIBS} sqlite3 )
endif (NEED_SQLITE)
set ( EXE_SRCS src/server.c )
add_executable ( server ${LIB_SRCS} ${EXE_SRCS} )
if (WIN32)
else (WIN32)
target_link_libraries (server ${LINK_LIBS})
endif (WIN32)