Cleanup main file

This commit is contained in:
KimLS 2025-11-20 22:41:35 -08:00
parent 47ff765ae1
commit e81f36c0a6

View File

@ -1,81 +1,81 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.17.0) cmake_minimum_required(VERSION 3.20.0)
IF(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
MESSAGE(STATUS "Using vcpkg env variable") message(STATUS "Using vcpkg env variable")
SET(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "") set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
ELSEIF(NOT DEFINED CMAKE_TOOLCHAIN_FILE) elseif(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
MESSAGE(STATUS "Using vcpkg submodule") message(STATUS "Using vcpkg submodule")
SET(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/submodules/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "") set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/submodules/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
ENDIF() endif()
PROJECT(EQEmu) project(EQEmu)
IF(NOT CMAKE_BUILD_TYPE) if(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE) endif()
SET(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 20)
SET(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
SET(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_EXTENSIONS OFF)
OPTION(EQEMU_BUILD_STATIC "Build with static linking" OFF) option(EQEMU_BUILD_STATIC "Build with static linking" OFF)
OPTION(EQEMU_BUILD_PCH "Build with precompiled headers (Windows)" ON) option(EQEMU_BUILD_PCH "Build with precompiled headers (Windows)" ON)
IF (EQEMU_BUILD_STATIC) if(EQEMU_BUILD_STATIC)
SET(BUILD_SHARED_LIBS OFF) set(BUILD_SHARED_LIBS OFF)
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a") set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
MESSAGE(STATUS "Building with static linking") message(STATUS "Building with static linking")
SET(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++") set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
IF (UNIX) if(UNIX)
SET(PERL_LIBRARY "/opt/eqemu-perl/lib/5.32.1/x86_64-linux-thread-multi/CORE/libperl.so") set(PERL_LIBRARY "/opt/eqemu-perl/lib/5.32.1/x86_64-linux-thread-multi/CORE/libperl.so")
SET(PERL_INCLUDE_PATH "/opt/eqemu-perl/lib/5.32.1/x86_64-linux-thread-multi/CORE/") set(PERL_INCLUDE_PATH "/opt/eqemu-perl/lib/5.32.1/x86_64-linux-thread-multi/CORE/")
SET(PERL_EXECUTABLE "/opt/eqemu-perl/bin/perl") set(PERL_EXECUTABLE "/opt/eqemu-perl/bin/perl")
ENDIF () endif()
ENDIF (EQEMU_BUILD_STATIC) endif()
# Requires libgoogle-perftools-dev google-perftools packages for linux (debian) # Requires libgoogle-perftools-dev google-perftools packages for linux (debian)
IF(EQEMU_ADD_PROFILER) if(EQEMU_ADD_PROFILER)
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed") set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed")
ENDIF(EQEMU_ADD_PROFILER) endif()
IF(USE_MAP_MMFS) if(USE_MAP_MMFS)
ADD_DEFINITIONS(-DUSE_MAP_MMFS) add_definitions(-DUSE_MAP_MMFS)
ENDIF (USE_MAP_MMFS) endif()
IF(MSVC) if(MSVC)
add_compile_options(/bigobj) add_compile_options(/bigobj)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_CRT_SECURE_NO_WARNINGS)
ADD_DEFINITIONS(-DNOMINMAX) add_definitions(-DNOMINMAX)
ADD_DEFINITIONS(-DCRASH_LOGGING) add_definitions(-DCRASH_LOGGING)
ADD_DEFINITIONS(-D_HAS_AUTO_PTR_ETC) # for Luabind on C++17 add_definitions(-D_HAS_AUTO_PTR_ETC) # for Luabind on C++17
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
OPTION(EQEMU_DISABLE_MSVC_WARNINGS "Disable MSVC compile warnings." ON) option(EQEMU_DISABLE_MSVC_WARNINGS "Disable MSVC compile warnings." ON)
IF(EQEMU_DISABLE_MSVC_WARNINGS) if(EQEMU_DISABLE_MSVC_WARNINGS)
ADD_DEFINITIONS( "/W0 /D_CRT_SECURE_NO_WARNINGS /wd4005 /wd4996 /nologo /Os") add_definitions( "/W0 /D_CRT_SECURE_NO_WARNINGS /wd4005 /wd4996 /nologo /Os")
ENDIF(EQEMU_DISABLE_MSVC_WARNINGS) endif()
ELSE(MSVC) else(MSVC)
ADD_DEFINITIONS(-DHAS_UNION_SEMUN) add_definitions(-DHAS_UNION_SEMUN)
ENDIF(MSVC) endif()
#FreeBSD support #FreeBSD support
IF(UNIX) if(UNIX)
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
ADD_DEFINITIONS(-DFREEBSD) add_definitions(-DFREEBSD)
ADD_DEFINITIONS(-D_GLIBCXX_USE_C99) add_definitions(-D_GLIBCXX_USE_C99)
SET(FREEBSD TRUE) set(FREEBSD TRUE)
ENDIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") endif()
IF(CMAKE_SYSTEM_NAME MATCHES "Darwin") if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
ADD_DEFINITIONS(-DDARWIN) add_definitions(-DDARWIN)
SET(DARWIN TRUE) set(DARWIN TRUE)
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Darwin") endif()
ENDIF(UNIX) endif()
ADD_DEFINITIONS(-DGLM_FORCE_RADIANS) add_definitions(-DGLM_FORCE_RADIANS)
ADD_DEFINITIONS(-DGLM_FORCE_CTOR_INIT) add_definitions(-DGLM_FORCE_CTOR_INIT)
ADD_DEFINITIONS(-DGLM_ENABLE_EXPERIMENTAL) add_definitions(-DGLM_ENABLE_EXPERIMENTAL)
find_package(PkgConfig) find_package(PkgConfig)
find_package(Boost REQUIRED COMPONENTS dynamic_bitset foreach tuple) find_package(Boost REQUIRED COMPONENTS dynamic_bitset foreach tuple)
@ -90,224 +90,200 @@ find_package(ZLIB REQUIRED)
pkg_check_modules(luajit REQUIRED IMPORTED_TARGET luajit) pkg_check_modules(luajit REQUIRED IMPORTED_TARGET luajit)
find_package(PerlLibs) find_package(PerlLibs)
MESSAGE(STATUS "**************************************************") message(STATUS "**************************************************")
MESSAGE(STATUS "* Library Detection *") message(STATUS "* Library Detection *")
MESSAGE(STATUS "**************************************************") message(STATUS "**************************************************")
IF(MARIADB_FOUND) if(MARIADB_FOUND)
MESSAGE(STATUS "* MariaDB: FOUND *") message(STATUS "* MariaDB: FOUND *")
ELSE() else()
MESSAGE(STATUS "* MariaDB: MISSING *") message(STATUS "* MariaDB: MISSING *")
ENDIF() endif()
IF(ZLIB_FOUND) if(ZLIB_FOUND)
MESSAGE(STATUS "* ZLIB: FOUND *") message(STATUS "* ZLIB: FOUND *")
ELSE() else()
MESSAGE(STATUS "* ZLIB: MISSING *") message(STATUS "* ZLIB: MISSING *")
ENDIF() endif()
IF(LuaJit_FOUND) if(LuaJit_FOUND)
MESSAGE(STATUS "* LuaJIT: FOUND *") message(STATUS "* LuaJIT: FOUND *")
ELSE() else()
MESSAGE(STATUS "* LuaJIT: MISSING *") message(STATUS "* LuaJIT: MISSING *")
ENDIF() endif()
IF(PerlLibs_FOUND) if(PerlLibs_FOUND)
MESSAGE(STATUS "* Perl: FOUND *") message(STATUS "* Perl: FOUND *")
ELSE() else()
MESSAGE(STATUS "* Perl: MISSING *") message(STATUS "* Perl: MISSING *")
ENDIF() endif()
IF(OpenSSL_FOUND) if(OpenSSL_FOUND)
MESSAGE(STATUS "* OpenSSL: FOUND *") message(STATUS "* OpenSSL: FOUND *")
ELSE() else()
MESSAGE(STATUS "* OpenSSL: MISSING *") message(STATUS "* OpenSSL: MISSING *")
ENDIF() endif()
MESSAGE(STATUS "PERL_INCLUDE_PATH: ${PERL_INCLUDE_PATH}") message(STATUS "PERL_INCLUDE_PATH: ${PERL_INCLUDE_PATH}")
MESSAGE(STATUS "PERL_LIBRARY: ${PERL_LIBRARY}") message(STATUS "PERL_LIBRARY: ${PERL_LIBRARY}")
MESSAGE(STATUS "PERL_INCLUDE_DIR: ${PERL_INCLUDE_DIR}") message(STATUS "PERL_INCLUDE_DIR: ${PERL_INCLUDE_DIR}")
MESSAGE(STATUS "PERL_INCLUDE_DIRS: ${PERL_INCLUDE_DIRS}") message(STATUS "PERL_INCLUDE_DIRS: ${PERL_INCLUDE_DIRS}")
MESSAGE(STATUS "PERL_LIBRARIES: ${PERL_LIBRARIES}") message(STATUS "PERL_LIBRARIES: ${PERL_LIBRARIES}")
MESSAGE(STATUS "PERL_VERSION: ${PERL_VERSION}") message(STATUS "PERL_VERSION: ${PERL_VERSION}")
MESSAGE(STATUS "**************************************************") message(STATUS "**************************************************")
INCLUDE_DIRECTORIES(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/submodules/websocketpp") include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/submodules/websocketpp")
ADD_DEFINITIONS(-DBOOST_BIND_GLOBAL_PLACEHOLDERS) add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
#options #options
OPTION(EQEMU_COMMANDS_LOGGING "Enable GM Command logs" ON) option(EQEMU_COMMANDS_LOGGING "Enable GM Command logs" ON)
OPTION(EQEMU_BUILD_SERVER "Build the game server." ON) option(EQEMU_BUILD_SERVER "Build the game server." ON)
OPTION(EQEMU_BUILD_LOGIN "Build the login server." ON) option(EQEMU_BUILD_LOGIN "Build the login server." ON)
OPTION(EQEMU_BUILD_TESTS "Build utility tests." OFF) option(EQEMU_BUILD_TESTS "Build utility tests." OFF)
OPTION(EQEMU_BUILD_CLIENT_FILES "Build Client Import/Export Data Programs." ON) option(EQEMU_BUILD_CLIENT_FILES "Build Client Import/Export Data Programs." ON)
OPTION(EQEMU_PREFER_LUA "Build with normal Lua even if LuaJIT is found." OFF) option(EQEMU_PREFER_LUA "Build with normal Lua even if LuaJIT is found." OFF)
#PRNG options #PRNG options
OPTION(EQEMU_ADDITIVE_LFIB_PRNG "Use Additive LFib for PRNG." OFF) option(EQEMU_ADDITIVE_LFIB_PRNG "Use Additive LFib for PRNG." OFF)
MARK_AS_ADVANCED(EQEMU_ADDITIVE_LFIB_PRNG) mark_as_advanced(EQEMU_ADDITIVE_LFIB_PRNG)
OPTION(EQEMU_BIASED_INT_DIST "Use biased int dist instead of uniform." OFF) option(EQEMU_BIASED_INT_DIST "Use biased int dist instead of uniform." OFF)
MARK_AS_ADVANCED(EQEMU_BIASED_INT_DIST) mark_as_advanced(EQEMU_BIASED_INT_DIST)
SET(EQEMU_CUSTOM_PRNG_ENGINE "" CACHE STRING "Custom random engine. (ex. std::default_random_engine)") set(EQEMU_CUSTOM_PRNG_ENGINE "" CACHE STRING "Custom random engine. (ex. std::default_random_engine)")
MARK_AS_ADVANCED(EQEMU_CUSTOM_PRNG_ENGINE) mark_as_advanced(EQEMU_CUSTOM_PRNG_ENGINE)
IF(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_COMPILER_IS_GNUCXX)
OPTION(EQEMU_SFMT19937 "Use GCC's extention for SIMD Fast MT19937." OFF) option(EQEMU_SFMT19937 "Use GCC's extention for SIMD Fast MT19937." OFF)
MARK_AS_ADVANCED(EQEMU_SFMT19937) mark_as_advanced(EQEMU_SFMT19937)
ENDIF() endif()
IF(EQEMU_ADDITIVE_LFIB_PRNG) if(EQEMU_ADDITIVE_LFIB_PRNG)
ADD_DEFINITIONS(-DUSE_ADDITIVE_LFIB_PRNG) add_definitions(-DUSE_ADDITIVE_LFIB_PRNG)
IF(EQEMU_SFMT19937) if(EQEMU_SFMT19937)
MESSAGE(STATUS "SFMT19937 and ADDITITVE_LFIB_PRNG both set, SFMT19937 ignored.") message(STATUS "SFMT19937 and ADDITITVE_LFIB_PRNG both set, SFMT19937 ignored.")
SET(EQEMU_SFMT19937 OFF) set(EQEMU_SFMT19937 OFF)
ENDIF() endif()
IF(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "") if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
MESSAGE(STATUS "CUSTOM_PRNG_ENGINE and ADDITITVE_LFIB_PRNG both set, CUSTOM_PRNG_ENGINE ignored.") message(STATUS "CUSTOM_PRNG_ENGINE and ADDITITVE_LFIB_PRNG both set, CUSTOM_PRNG_ENGINE ignored.")
SET(EQEMU_CUSTOM_PRNG_ENGINE "") set(EQEMU_CUSTOM_PRNG_ENGINE "")
ENDIF() endif()
ENDIF() endif()
IF(EQEMU_SFMT19937) if(EQEMU_SFMT19937)
ADD_DEFINITIONS(-DUSE_SFMT19937) add_definitions(-DUSE_SFMT19937)
IF(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "") if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
MESSAGE(STATUS "CUSTOM_PRNG_ENGINE and SFMT19937 both set, CUSTOM_PRNG_ENGINE ignored.") message(STATUS "CUSTOM_PRNG_ENGINE and SFMT19937 both set, CUSTOM_PRNG_ENGINE ignored.")
SET(EQEMU_CUSTOM_PRNG_ENGINE "") set(EQEMU_CUSTOM_PRNG_ENGINE "")
ENDIF() endif()
ENDIF() endif()
IF(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "") if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
ADD_DEFINITIONS(-DUSE_CUSTOM_PRNG_ENGINE=${EQEMU_CUSTOM_PRNG_ENGINE}) add_definitions(-DUSE_CUSTOM_PRNG_ENGINE=${EQEMU_CUSTOM_PRNG_ENGINE})
ENDIF() endif()
IF(EQEMU_BIASED_INT_DIST) if(EQEMU_BIASED_INT_DIST)
ADD_DEFINITIONS(-DBIASED_INT_DIST) add_definitions(-DBIASED_INT_DIST)
ENDIF() endif()
IF(EQEMU_COMMANDS_LOGGING) if(EQEMU_COMMANDS_LOGGING)
ADD_DEFINITIONS(-DCOMMANDS_LOGGING) add_definitions(-DCOMMANDS_LOGGING)
ENDIF(EQEMU_COMMANDS_LOGGING) endif()
SET(DATABASE_LIBRARY_TYPE "MariaDB") if(${OPENSSL_VERSION} VERSION_GREATER_EQUAL "1.1.1")
SET(DATABASE_LIBRARY_LIBS ${MariaDB_LIBRARIES}) add_definitions(-DCPPHTTPLIB_OPENSSL_SUPPORT)
SET(DATABASE_LIBRARY_INCLUDE ${MariaDB_INCLUDE_DIR}) endif()
SET(TLS_LIBRARY_TYPE " OpenSSL")
SET(TLS_LIBRARY_ENABLED ON)
SET(TLS_LIBRARY_LIBS ${OPENSSL_LIBRARIES})
SET(TLS_LIBRARY_INCLUDE ${OPENSSL_INCLUDE_DIR})
ADD_DEFINITIONS(-DEQEMU_USE_OPENSSL)
IF(${OPENSSL_VERSION} VERSION_GREATER_EQUAL "1.1.1")
ADD_DEFINITIONS(-DCPPHTTPLIB_OPENSSL_SUPPORT)
ENDIF()
SET(LUA_LIBRARY_TYPE " LuaJIT") if(PerlLibs_FOUND)
SET(LUA_LIBRARY_ENABLED ON) set(PERL_LIBRARY_TYPE " Perl")
set(PERL_LIBRARY_ENABLED ON)
set(PERL_LIBRARY_LIBS ${PERL_LIBRARY})
set(PERL_LIBRARY_INCLUDE ${PERL_INCLUDE_PATH})
else()
set(PERL_LIBRARY_TYPE "Disabled")
set(PERL_LIBRARY_ENABLED OFF)
endif()
IF(PerlLibs_FOUND) message(STATUS "")
SET(PERL_LIBRARY_TYPE " Perl") message(STATUS "**************************************************")
SET(PERL_LIBRARY_ENABLED ON) message(STATUS "* Library Usage *")
SET(PERL_LIBRARY_LIBS ${PERL_LIBRARY}) message(STATUS "**************************************************")
SET(PERL_LIBRARY_INCLUDE ${PERL_INCLUDE_PATH}) message(STATUS "* Database: MariaDB *")
ELSE() message(STATUS "* TLS: OpenSSL *")
SET(PERL_LIBRARY_TYPE "Disabled") message(STATUS "* Lua: LuaJIT *")
SET(PERL_LIBRARY_ENABLED OFF) message(STATUS "* Perl: ${PERL_LIBRARY_TYPE} *")
ENDIF() message(STATUS "* zlib: ZLIB *")
message(STATUS "**************************************************")
SET(ZLIB_LIBRARY_TYPE "zlib-ng") option(EQEMU_BUILD_LUA "Build Lua parser." ON)
SET(ZLIB_LIBRARY_LIBS "zlibstatic")
SET(ZLIB_LIBRARY_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/libs/zlibng")
IF (EQEMU_BUILD_STATIC)
SET(ZLIB_LIBRARY_LIBS libz.a)
ENDIF(EQEMU_BUILD_STATIC)
MESSAGE(STATUS "")
MESSAGE(STATUS "**************************************************")
MESSAGE(STATUS "* Library Usage *")
MESSAGE(STATUS "**************************************************")
MESSAGE(STATUS "* Database: ${DATABASE_LIBRARY_TYPE} *")
MESSAGE(STATUS "* TLS: ${TLS_LIBRARY_TYPE} *")
MESSAGE(STATUS "* Lua: ${LUA_LIBRARY_TYPE} *")
MESSAGE(STATUS "* Perl: ${PERL_LIBRARY_TYPE} *")
MESSAGE(STATUS "* zlib: ${ZLIB_LIBRARY_TYPE} *")
MESSAGE(STATUS "**************************************************")
if(EQEMU_BUILD_LUA)
SET(SERVER_LIBS common) add_definitions(-DLUA_EQEMU)
# silence obnoxious deprecation message #set(ZONE_LIBS ${pkgcfg_lib_luajit_lua51})
ADD_DEFINITIONS(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
IF(LUA_LIBRARY_ENABLED)
OPTION(EQEMU_BUILD_LUA "Build Lua parser." ON)
IF(EQEMU_BUILD_LUA)
ADD_DEFINITIONS(-DLUA_EQEMU)
#SET(ZONE_LIBS ${pkgcfg_lib_luajit_lua51})
include_directories(SYSTEM "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/luajit" "${CMAKE_CURRENT_SOURCE_DIR}/libs/luabind") include_directories(SYSTEM "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/luajit" "${CMAKE_CURRENT_SOURCE_DIR}/libs/luabind")
OPTION(EQEMU_SANITIZE_LUA_LIBS "Sanitize Lua Libraries (Remove OS and IO standard libraries from being able to run)." ON) option(EQEMU_SANITIZE_LUA_LIBS "Sanitize Lua Libraries (Remove OS and IO standard libraries from being able to run)." ON)
IF(EQEMU_SANITIZE_LUA_LIBS) if(EQEMU_SANITIZE_LUA_LIBS)
ADD_DEFINITIONS(-DSANITIZE_LUA_LIBS) add_definitions(-DSANITIZE_LUA_LIBS)
ENDIF() endif()
ENDIF() endif()
ENDIF()
IF(PERL_LIBRARY_ENABLED) if(PERL_LIBRARY_ENABLED)
OPTION(EQEMU_BUILD_PERL "Build Perl parser." ON) option(EQEMU_BUILD_PERL "Build Perl parser." ON)
IF(EQEMU_BUILD_PERL) if(EQEMU_BUILD_PERL)
SET(SERVER_LIBS ${SERVER_LIBS} ${PERL_LIBRARY_LIBS} perlbind) set(SERVER_LIBS ${SERVER_LIBS} ${PERL_LIBRARY_LIBS} perlbind)
INCLUDE_DIRECTORIES(SYSTEM "${PERL_LIBRARY_INCLUDE}") INCLUDE_DIRECTORIES(SYSTEM "${PERL_LIBRARY_INCLUDE}")
ADD_DEFINITIONS(-DEMBPERL) add_definitions(-DEMBPERL)
ADD_DEFINITIONS(-DEMBPERL_PLUGIN) add_definitions(-DEMBPERL_PLUGIN)
ADD_DEFINITIONS(-DPERLBIND_NO_STRICT_SCALAR_TYPES) add_definitions(-DPERLBIND_NO_STRICT_SCALAR_TYPES)
IF (UNIX AND EQEMU_BUILD_STATIC) if(UNIX AND EQEMU_BUILD_STATIC)
SET(SERVER_LIBS ${SERVER_LIBS} libcrypt.a) set(SERVER_LIBS ${SERVER_LIBS} libcrypt.a)
ENDIF () endif()
ENDIF() endif()
ENDIF() endif()
IF(WIN32) set(SERVER_LIBS common)
SET(SERVER_LIBS ${SERVER_LIBS} "ws2_32" "psapi" "iphlpapi" "userenv") # silence obnoxious deprecation message
ENDIF() add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
IF(UNIX) if(WIN32)
SET(SERVER_LIBS ${SERVER_LIBS} ${CMAKE_DL_LIBS} "z" "m" "pthread") set(SERVER_LIBS ${SERVER_LIBS} "ws2_32" "psapi" "iphlpapi" "userenv")
IF(NOT DARWIN) endif()
SET(SERVER_LIBS ${SERVER_LIBS} "rt")
ENDIF() if(UNIX)
set(SERVER_LIBS ${SERVER_LIBS} ${CMAKE_DL_LIBS} "z" "m" "pthread")
if(NOT DARWIN)
set(SERVER_LIBS ${SERVER_LIBS} "rt")
endif()
# Freebsd provides uuids in the C library # Freebsd provides uuids in the C library
IF(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
SET(SERVER_LIBS ${SERVER_LIBS} "uuid") set(SERVER_LIBS ${SERVER_LIBS} "uuid")
ENDIF() endif()
ENDIF() endif()
SET(ZONE_LIBS ${ZONE_LIBS} ${SERVER_LIBS}) set(ZONE_LIBS ${ZONE_LIBS} ${SERVER_LIBS})
IF(EQEMU_BUILD_LOGIN AND NOT TLS_LIBRARY_ENABLED) if(EQEMU_BUILD_SERVER OR EQEMU_BUILD_LOGIN OR EQEMU_BUILD_TESTS)
MESSAGE(FATAL_ERROR "Login server requires a TLS Library to build.") add_subdirectory(common)
ENDIF() add_subdirectory(libs)
endif()
IF(EQEMU_BUILD_SERVER OR EQEMU_BUILD_LOGIN OR EQEMU_BUILD_TESTS) if(EQEMU_BUILD_SERVER)
ADD_SUBDIRECTORY(common) add_subdirectory(shared_memory)
ADD_SUBDIRECTORY(libs) add_subdirectory(world)
ENDIF(EQEMU_BUILD_SERVER OR EQEMU_BUILD_LOGIN OR EQEMU_BUILD_TESTS) add_subdirectory(zone)
add_subdirectory(ucs)
add_subdirectory(queryserv)
add_subdirectory(eqlaunch)
endif()
IF(EQEMU_BUILD_SERVER) if(EQEMU_BUILD_LOGIN)
ADD_SUBDIRECTORY(shared_memory) add_subdirectory(loginserver)
ADD_SUBDIRECTORY(world) endif()
ADD_SUBDIRECTORY(zone)
ADD_SUBDIRECTORY(ucs)
ADD_SUBDIRECTORY(queryserv)
ADD_SUBDIRECTORY(eqlaunch)
ENDIF(EQEMU_BUILD_SERVER)
IF(EQEMU_BUILD_LOGIN) if(EQEMU_BUILD_TESTS)
ADD_SUBDIRECTORY(loginserver) add_subdirectory(tests)
ENDIF(EQEMU_BUILD_LOGIN) endif()
IF(EQEMU_BUILD_TESTS) if(EQEMU_BUILD_CLIENT_FILES)
ADD_SUBDIRECTORY(tests) add_subdirectory(client_files)
ENDIF(EQEMU_BUILD_TESTS) endif()
IF(EQEMU_BUILD_CLIENT_FILES)
ADD_SUBDIRECTORY(client_files)
ENDIF(EQEMU_BUILD_CLIENT_FILES)