aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraczman <none@none>2009-01-17 09:23:33 -0500
committerraczman <none@none>2009-01-17 09:23:33 -0500
commit09ddc711f4355bb04717a2092b4dc4149f495491 (patch)
tree1be6b369f563027c71842ecc83314de626da5793
parent87d9f3261e85587e9be1121bc2d62c034443f00f (diff)
Cmake build system for trinity
--HG-- branch : trunk
-rw-r--r--CMakeLists.txt158
-rw-r--r--cmake/FindAce.cmake31
-rw-r--r--cmake/FindMySql.cmake102
-rw-r--r--cmake/cmake_uninstall.cmake.in23
-rw-r--r--config.h.cmake277
-rw-r--r--dep/CMakeLists.txt6
-rw-r--r--dep/lib/CMakeLists.txt2
-rw-r--r--dep/src/CMakeLists.txt7
-rw-r--r--dep/src/g3dlite/CMakeLists.txt20
-rw-r--r--dep/src/sockets/CMakeLists.txt22
-rw-r--r--dep/src/zlib/CMakeLists.txt20
-rw-r--r--dep/src/zthread/CMakeLists.txt38
-rw-r--r--sql/CMakeLists.txt7
-rw-r--r--sql/tools/CMakeLists.txt4
-rw-r--r--sql/updates/CMakeLists.txt40
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/bindings/CMakeLists.txt5
-rw-r--r--src/bindings/interface/CMakeLists.txt19
-rw-r--r--src/bindings/interface/ScriptMgr.cpp3
-rw-r--r--src/bindings/scripts/CMakeLists.txt389
-rw-r--r--src/framework/CMakeLists.txt8
-rw-r--r--src/game/CMakeLists.txt266
-rw-r--r--src/shared/Auth/CMakeLists.txt17
-rw-r--r--src/shared/CMakeLists.txt29
-rw-r--r--src/shared/Config/CMakeLists.txt15
-rw-r--r--src/shared/Database/CMakeLists.txt38
-rw-r--r--src/shared/vmap/CMakeLists.txt35
-rw-r--r--src/trinitycore/CMakeLists.txt53
-rw-r--r--src/trinityrealm/CMakeLists.txt45
29 files changed, 1684 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000000..92ece2f40e5
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,158 @@
+PROJECT(Trinity)
+cmake_minimum_required(VERSION 2.4)
+cmake_policy(SET CMP0005 OLD)
+
+include(cmake/FindAce.cmake)
+include(cmake/FindMySql.cmake)
+CONFIGURE_FILE(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+OPTION(DO_MYSQL "With MySQL support" 1)
+OPTION(DO_POSTGRESQL "With PostgreSQL support" 0) # not complete yet, may not link properly.
+OPTION(DO_SCRIPTS "With trinityscripts" 1)
+OPTION(DO_CLI "With CLI" 1)
+OPTION(DO_RA "With RA" 0)
+OPTION(DO_DEBUG "Debug mode" 0)
+OPTION(LARGE_CELL "Large cell size" 0)
+OPTION(SHORT_SLEEP "Short sleep" 0)
+
+SET(GENREV_SRC
+src/tools/genrevision/genrevision.cpp
+)
+
+ADD_EXECUTABLE(genrev
+${GENREV_SRC}
+)
+ADD_CUSTOM_TARGET("revision.h" ALL
+ COMMAND "${Trinity_BINARY_DIR}/genrev"
+ ${Trinity_SOURCE_DIR}
+ WORKING_DIRECTORY "${Trinity_SOURCE_DIR}/src/shared"
+)
+
+
+EXECUTE_PROCESS(
+ COMMAND hg tip --template {rev}
+ OUTPUT_VARIABLE HG_REVISION
+)
+
+message("* Trinity Core revision: ${HG_REVISION}")
+
+IF (PREFIX)
+ SET(CMAKE_INSTALL_PREFIX ${PREFIX})
+ENDIF (PREFIX)
+
+if(CONF_DIR)
+
+else(CONF_DIR)
+SET(CONF_DIR ${PREFIX}/etc)
+endif(CONF_DIR)
+
+message("* Will install to: ${CMAKE_INSTALL_PREFIX}")
+message("* With config dir at: ${CONF_DIR}")
+
+SET(LIBSDIR "/usr/lib /usr/local/lib /lib")
+FIND_LIBRARY(SSLLIB NAMES ssl DOC "SSL library")
+FIND_LIBRARY(ZLIB z "Zlib library")
+
+
+IF(DO_POSTGRESQL)
+message("* With PostgreSQL")
+set(DO_MYSQL 0)
+SET(POSTGRE_INCLUDES "-I/usr/include/postgresql -I/usr/local/postgresql ${POSTGRE_INCLUDES}")
+SET(POSTGRE_LIBS "-L/usr/lib/postresql -lpq -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto ${POSTGRE_LIBS}")
+ADD_DEFINITIONS(-DDO_POSTGRESQL)
+ENDIF(DO_POSTGRESQL)
+
+IF(DO_MYSQL)
+ MESSAGE("* With MySQL")
+ FIND_MYSQL()
+ ADD_DEFINITIONS(-DDO_MYSQL)
+ENDIF(DO_MYSQL)
+
+if(DO_SCRIPTS)
+message("* With Trinity Scripts")
+SET(SCRIPT_LIB trinityscript)
+SET(SCRIPT_INCLUDE src/bindings/scripts/include)
+else (DO_SCRIPTS)
+message("* Without Trinity Scripts")
+SET(SCRIPT_LIB trinityinterface)
+SET(SCRIPT_INCLUDE src/bindings/interface)
+endif(DO_SCRIPTS)
+
+message("-- Miscellaneus options:")
+
+if(DO_CLI)
+message("* With CLI")
+add_definitions(-DENABLE_CLI)
+else (DO_CLI)
+message(* Without CLI)
+endif(DO_CLI)
+
+if(DO_RA)
+message("* With RA")
+add_definitions(-DENABLE_RA)
+else(DO_RA)
+message("* Without RA")
+endif(DO_RA)
+
+if(DO_DEBUG)
+message("* Debug mode ON")
+add_definitions(-g -DTRINITY_DEBUG)
+endif(DO_DEBUG)
+
+if(LARGE_CELL)
+message("* Large cell size")
+add_definitions(-DLARGE_CELL)
+else(LARGE_CELL)
+message("* Small cell size")
+endif(LARGE_CELL)
+
+if(SHORT_SLEEP)
+message("* System sleep time is 50ms")
+add_definitions(-DSHORT_SLEEP)
+else(SHORT_SLEEP)
+message("* System sleep time is 100ms")
+endif(SHORT_SLEEP)
+
+FIND_ACE(ACE)
+if(ACE_FOUND)
+message(STATUS "Found ACE library: ${ACE_LIBRARY}")
+message(STATUS "Include dir is: ${ACE_INCLUDE_DIR}")
+#else(ACE_FOUND)
+#message( "** ACE library not found, will try to build it myself.")
+#SET(BUILD_ACE 1) BRIAN LIKES MEN
+#SET(ACE_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/dep/ACE_wrappers ${CMAKE_BINARY_DIR}/dep/ACE_wrappers")
+#SET(ACE_LIBRARY ACE)
+#message(STATUS "I will try to build ACE from: ${ACE_INCLUDE_DIR}")
+#message(STATUS "And link using: ${ACE_LIBRARY}")
+endif(ACE_FOUND)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+
+
+add_definitions(--no-warnings) #to make build look nice, no gcc nazi warnings.
+
+INCLUDE_DIRECTORIES(
+dep/include
+dep/include/g3dlite
+dep/include/sockets
+src/shared
+src/framework
+src/shared/Database
+src/shared/vmap
+src/game
+${SCRIPT_INCLUDE}
+${MYSQL_INCLUDE_DIR}
+${POSTGRE_INCLUDES}
+${CMAKE_CURRENT_BINARY_DIR}/src/shared
+${CMAKE_CURRENT_SOURCE_DIR}/..
+${ACE_INCLUDE_DIR}
+)
+
+add_subdirectory(dep)
+add_subdirectory(doc)
+add_subdirectory(src)
diff --git a/cmake/FindAce.cmake b/cmake/FindAce.cmake
new file mode 100644
index 00000000000..b7be34784a9
--- /dev/null
+++ b/cmake/FindAce.cmake
@@ -0,0 +1,31 @@
+# This script is taken from BFilter project, thanks to original authors.
+# - Locate the ACE library
+# This module defines
+# ACE_FOUND -- true if ACE was found
+# ACE_LIBRARY -- the library to link against
+# ACE_INCLUDE_DIR -- path to ace/ACE.h
+MACRO(FIND_ACE LIBNAME)
+ GET_FILENAME_COMPONENT(parent_dir_ "${PROJECT_SOURCE_DIR}/.." ABSOLUTE)
+ FIND_PATH(
+ ACE_INCLUDE_DIR ace/ACE.h
+ PATHS /usr/include /usr/local/include
+ "${CMAKE_INSTALL_PREFIX}/include" "${parent_dir_}/ACE_wrappers"
+ DOC "Path to ace/ACE.h"
+ )
+
+ # This prevents it being taken from cache.
+ SET(ACE_LIBRARY ACE_LIBRARY-NOTFOUND)
+
+ FIND_LIBRARY(
+ ACE_LIBRARY "${LIBNAME}"
+ PATHS /usr/lib /usr/local/lib
+ "${CMAKE_INSTALL_PREFIX}/lib" "${parent_dir_}/ACE_wrappers/ace"
+ DOC "Path to ACE library file"
+ )
+ IF(ACE_INCLUDE_DIR AND ACE_LIBRARY)
+ SET(ACE_FOUND TRUE)
+ ELSE(ACE_INCLUDE_DIR AND ACE_LIBRARY)
+ SET(ACE_FOUND FALSE)
+ ENDIF(ACE_INCLUDE_DIR AND ACE_LIBRARY)
+ENDMACRO(FIND_ACE)
+
diff --git a/cmake/FindMySql.cmake b/cmake/FindMySql.cmake
new file mode 100644
index 00000000000..e149cd4eaf0
--- /dev/null
+++ b/cmake/FindMySql.cmake
@@ -0,0 +1,102 @@
+# - Find MySQL
+# Find the MySQL includes and client library
+# This module defines
+# MYSQL_INCLUDE_DIR, where to find mysql.h
+# MYSQL_LIBRARIES, the libraries needed to use MySQL.
+# MYSQL_FOUND, If false, do not try to use MySQL.
+#
+# Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl>
+# Lot of adustmens by Michal Cihar <michal@cihar.com>
+#
+# vim: expandtab sw=4 ts=4 sts=4:
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+MACRO(FIND_MYSQL)
+if(UNIX)
+ set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH
+ "preferred path to MySQL (mysql_config)")
+ find_program(MYSQL_CONFIG mysql_config
+ ${MYSQL_CONFIG_PREFER_PATH}
+ /usr/local/mysql/bin/
+ /usr/local/bin/
+ /usr/bin/
+ )
+
+ if(MYSQL_CONFIG)
+ message(STATUS "Using mysql-config: ${MYSQL_CONFIG}")
+ # set INCLUDE_DIR
+ exec_program(${MYSQL_CONFIG}
+ ARGS --include
+ OUTPUT_VARIABLE MY_TMP)
+
+ string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}")
+
+ set(MYSQL_ADD_INCLUDE_DIR ${MY_TMP} CACHE FILEPATH INTERNAL)
+
+ # set LIBRARY_DIR
+ exec_program(${MYSQL_CONFIG}
+ ARGS --libs_r
+ OUTPUT_VARIABLE MY_TMP)
+
+ set(MYSQL_ADD_LIBRARIES "")
+
+ string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}")
+ foreach(LIB ${MYSQL_LIB_LIST})
+ string(REGEX REPLACE "[ ]*-l([^ ]*)" "\\1" LIB "${LIB}")
+ list(APPEND MYSQL_ADD_LIBRARIES "${LIB}")
+ endforeach(LIB ${MYSQL_LIBS})
+
+ set(MYSQL_ADD_LIBRARY_PATH "")
+
+ string(REGEX MATCHALL "-L[^ ]*" MYSQL_LIBDIR_LIST "${MY_TMP}")
+ foreach(LIB ${MYSQL_LIBDIR_LIST})
+ string(REGEX REPLACE "[ ]*-L([^ ]*)" "\\1" LIB "${LIB}")
+ list(APPEND MYSQL_ADD_LIBRARY_PATH "${LIB}")
+ endforeach(LIB ${MYSQL_LIBS})
+
+ else(MYSQL_CONFIG)
+ set(MYSQL_ADD_LIBRARIES "")
+ list(APPEND MYSQL_ADD_LIBRARIES "mysqlclient")
+ endif(MYSQL_CONFIG)
+else(UNIX)
+ set(MYSQL_ADD_INCLUDE_DIR "c:/msys/local/include" CACHE FILEPATH INTERNAL)
+ set(MYSQL_ADD_LIBRARY_PATH "c:/msys/local/lib" CACHE FILEPATH INTERNAL)
+ENDIF(UNIX)
+
+find_path(MYSQL_INCLUDE_DIR mysql.h
+ /usr/local/include
+ /usr/local/include/mysql
+ /usr/local/mysql/include
+ /usr/local/mysql/include/mysql
+ /usr/include
+ /usr/include/mysql
+ ${MYSQL_ADD_INCLUDE_DIR}
+)
+
+set(TMP_MYSQL_LIBRARIES "")
+
+foreach(LIB ${MYSQL_ADD_LIBRARIES})
+ find_library("MYSQL_LIBRARIES_${LIB}" NAMES ${LIB}
+ PATHS
+ ${MYSQL_ADD_LIBRARY_PATH}
+ /usr/lib/mysql
+ /usr/local/lib
+ /usr/local/lib/mysql
+ /usr/local/mysql/lib
+ )
+ list(APPEND TMP_MYSQL_LIBRARIES "${MYSQL_LIBRARIES_${LIB}}")
+endforeach(LIB ${MYSQL_ADD_LIBRARIES})
+
+set(MYSQL_LIBRARIES ${TMP_MYSQL_LIBRARIES} CACHE FILEPATH INTERNAL)
+
+if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+ set(MYSQL_FOUND TRUE CACHE INTERNAL "MySQL found")
+ message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}")
+else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+ set(MYSQL_FOUND FALSE CACHE INTERNAL "MySQL found")
+ message(STATUS "MySQL not found.")
+endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+
+mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES)
+ENDMACRO(FIND_MYSQL) \ No newline at end of file
diff --git a/cmake/cmake_uninstall.cmake.in b/cmake/cmake_uninstall.cmake.in
new file mode 100644
index 00000000000..06f9c8263a8
--- /dev/null
+++ b/cmake/cmake_uninstall.cmake.in
@@ -0,0 +1,23 @@
+# from cmake wiki
+IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+ MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
+ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+
+FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+STRING(REGEX REPLACE "\n" ";" files "${files}")
+FOREACH(file ${files})
+ MESSAGE(STATUS "Uninstalling \"${file}\"")
+ IF(EXISTS "${file}")
+ EXEC_PROGRAM(
+ "@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
+ OUTPUT_VARIABLE rm_out
+ RETURN_VALUE rm_retval
+ )
+ IF("${rm_retval}" STREQUAL 0)
+ ELSE("${rm_retval}" STREQUAL 0)
+ MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
+ ENDIF("${rm_retval}" STREQUAL 0)
+ ELSE(EXISTS "${file}")
+ MESSAGE(STATUS "File \"${file}\" does not exist.")
+ ENDIF(EXISTS "${file}")
+ENDFOREACH(file)
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 00000000000..bfc116642de
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,277 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if the `closedir' function returns void instead of `int'. */
+#undef CLOSEDIR_VOID
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the `atexit' function. */
+#undef HAVE_ATEXIT
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+#undef HAVE_DOPRNT
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `ftime' function. */
+#undef HAVE_FTIME
+
+/* Define to 1 if you have the `gethostbyaddr' function. */
+#undef HAVE_GETHOSTBYADDR
+
+/* Define to 1 if you have the `gethostbyname' function. */
+#undef HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <libpq-fe.h> header file. */
+#undef HAVE_LIBPQ_FE_H
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+#undef HAVE_LIBPTHREAD
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#undef HAVE_MALLOC
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#undef HAVE_MEMSET
+
+/* Define to 1 if you have the <mysql.h> header file. */
+#undef HAVE_MYSQL_H
+
+/* Define to 1 if you have the <mysql/mysql.h> header file. */
+#undef HAVE_MYSQL_MYSQL_H
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <openssl/bn.h> header file. */
+#undef HAVE_OPENSSL_BN_H
+
+/* Define to 1 if you have the <openssl/md5.h> header file. */
+#undef HAVE_OPENSSL_MD5_H
+
+/* Define to 1 if you have the <openssl/rand.h> header file. */
+#undef HAVE_OPENSSL_RAND_H
+
+/* Define to 1 if you have the <openssl/sha.h> header file. */
+#undef HAVE_OPENSSL_SHA_H
+
+/* Define to 1 if you have the <openssl/ssl.h> header file. */
+#undef HAVE_OPENSSL_SSL_H
+
+/* Define to 1 if you have the `pow' function. */
+#undef HAVE_POW
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#undef HAVE_PTHREAD_H
+
+/* Define to 1 if the system has the type `ptrdiff_t'. */
+#undef HAVE_PTRDIFF_T
+
+/* Define to 1 if your system has a GNU libc compatible `realloc' function,
+ and to 0 otherwise. */
+#undef HAVE_REALLOC
+
+/* Define to 1 if you have the `realpath' function. */
+#undef HAVE_REALPATH
+
+/* Define to 1 if you have the `select' function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the `sqrt' function. */
+#undef HAVE_SQRT
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/timeb.h> header file. */
+#undef HAVE_SYS_TIMEB_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
+
+/* Define to 1 if you have the <zlib.h> header file. */
+#undef HAVE_ZLIB_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to the type of arg 1 for `select'. */
+#undef SELECT_TYPE_ARG1
+
+/* Define to the type of args 2, 3 and 4 for `select'. */
+#undef SELECT_TYPE_ARG234
+
+/* Define to the type of arg 5 for `select'. */
+#undef SELECT_TYPE_ARG5
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
+ #define below would cause a syntax error. */
+#undef _UINT64_T
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#undef malloc
+
+/* Define to rpl_realloc if the replacement function should be used. */
+#undef realloc
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define to the type of an unsigned integer type of width exactly 64 bits if
+ such a type exists and the standard includes do not define it. */
+#undef uint64_t
+
+/* Define to empty if the keyword `volatile' does not work. Warning: valid
+ code using `volatile' can become incorrect without. Disable with care. */
+#undef volatile
diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt
new file mode 100644
index 00000000000..a813710db34
--- /dev/null
+++ b/dep/CMakeLists.txt
@@ -0,0 +1,6 @@
+#if(BUILD_ACE)
+#add_subdirectory(ACE_wrappers)
+#endif(BUILD_ACE)
+add_subdirectory(include)
+add_subdirectory(lib)
+add_subdirectory(src)
diff --git a/dep/lib/CMakeLists.txt b/dep/lib/CMakeLists.txt
new file mode 100644
index 00000000000..3575d71a65a
--- /dev/null
+++ b/dep/lib/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+# Nothing here as of yet.
diff --git a/dep/src/CMakeLists.txt b/dep/src/CMakeLists.txt
new file mode 100644
index 00000000000..7d6aa26f5fe
--- /dev/null
+++ b/dep/src/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory(g3dlite)
+add_subdirectory(sockets)
+add_subdirectory(zlib)
+add_subdirectory(zthread)
+
+
+########### install files ############### \ No newline at end of file
diff --git a/dep/src/g3dlite/CMakeLists.txt b/dep/src/g3dlite/CMakeLists.txt
new file mode 100644
index 00000000000..89bea742272
--- /dev/null
+++ b/dep/src/g3dlite/CMakeLists.txt
@@ -0,0 +1,20 @@
+
+########### next target ###############
+
+SET(g3dlite_STAT_SRCS
+ AABox.cpp
+ Box.cpp
+ Crypto.cpp
+ format.cpp
+ Matrix3.cpp
+ Plane.cpp
+ System.cpp
+ Triangle.cpp
+ Vector3.cpp
+ Vector4.cpp
+)
+
+add_library(g3dlite STATIC ${g3dlite_STAT_SRCS})
+
+
+########### install files ###############
diff --git a/dep/src/sockets/CMakeLists.txt b/dep/src/sockets/CMakeLists.txt
new file mode 100644
index 00000000000..40ac135a9ae
--- /dev/null
+++ b/dep/src/sockets/CMakeLists.txt
@@ -0,0 +1,22 @@
+SET(trinitysockets_STAT_SRCS
+ Base64.cpp
+ Exception.cpp
+ Ipv4Address.cpp
+ Ipv6Address.cpp
+ Lock.cpp
+ Mutex.cpp
+ Parse.cpp
+ ResolvServer.cpp
+ ResolvSocket.cpp
+ Socket.cpp
+ SocketHandler.cpp
+ StdoutLog.cpp
+ StreamSocket.cpp
+ TcpSocket.cpp
+ Thread.cpp
+ UdpSocket.cpp
+ Utility.cpp
+ socket_include.cpp
+)
+
+add_library(trinitysockets STATIC ${trinitysockets_STAT_SRCS})
diff --git a/dep/src/zlib/CMakeLists.txt b/dep/src/zlib/CMakeLists.txt
new file mode 100644
index 00000000000..b8803e81c11
--- /dev/null
+++ b/dep/src/zlib/CMakeLists.txt
@@ -0,0 +1,20 @@
+
+########### next target ###############
+
+SET(zlib_STAT_SRCS
+ adler32.c
+ compress.c
+ crc32.c
+ deflate.c
+ example.c
+ gzio.c
+ infback.c
+ inffast.c
+ inflate.c
+ inftrees.c
+ trees.c
+ uncompr.c
+ zutil.c
+)
+
+add_library(zlib STATIC ${zlib_STAT_SRCS})
diff --git a/dep/src/zthread/CMakeLists.txt b/dep/src/zthread/CMakeLists.txt
new file mode 100644
index 00000000000..61fb1310588
--- /dev/null
+++ b/dep/src/zthread/CMakeLists.txt
@@ -0,0 +1,38 @@
+########### next target ###############
+
+SET(ZThread_LIB_SRCS
+ AtomicCount.cxx
+ Condition.cxx
+ ConcurrentExecutor.cxx
+ CountingSemaphore.cxx
+ FastMutex.cxx
+ FastRecursiveMutex.cxx
+ Mutex.cxx
+ RecursiveMutexImpl.cxx
+ RecursiveMutex.cxx
+ Monitor.cxx
+ PoolExecutor.cxx
+ PriorityCondition.cxx
+ PriorityInheritanceMutex.cxx
+ PriorityMutex.cxx
+ PrioritySemaphore.cxx
+ Semaphore.cxx
+ SynchronousExecutor.cxx
+ Thread.cxx
+ ThreadedExecutor.cxx
+ ThreadImpl.cxx
+ ThreadLocalImpl.cxx
+ ThreadQueue.cxx
+ Time.cxx
+ ThreadOps.cxx
+ )
+
+ADD_LIBRARY(ZThread STATIC ${ZThread_LIB_SRCS})
+
+TARGET_LINK_LIBRARIES(ZThread )
+
+SET_TARGET_PROPERTIES(ZThread PROPERTIES VERSION 4.2.0 SOVERSION 4 )
+INSTALL(TARGETS ZThread DESTINATION lib )
+
+
+########### install files ###############
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
new file mode 100644
index 00000000000..dfdbfd0cf20
--- /dev/null
+++ b/sql/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory(updates)
+add_subdirectory(tools)
+
+
+########### install files ###############
+
+install(FILES world.sql realmd.sql characters.sql create_mysql.sql world_scripts_full.sql world_scripts_structure.sql drop_mysql.sql DESTINATION share/trinity/sql)
diff --git a/sql/tools/CMakeLists.txt b/sql/tools/CMakeLists.txt
new file mode 100644
index 00000000000..bcf0c7a8343
--- /dev/null
+++ b/sql/tools/CMakeLists.txt
@@ -0,0 +1,4 @@
+
+########### install files ###############
+
+install(FILES characters_item_duplicates_remove.sql characters_pet_data_cleanup.sql README DESTINATION share/trinity/sql/tools)
diff --git a/sql/updates/CMakeLists.txt b/sql/updates/CMakeLists.txt
new file mode 100644
index 00000000000..53490e0a15e
--- /dev/null
+++ b/sql/updates/CMakeLists.txt
@@ -0,0 +1,40 @@
+install(FILES
+11_characters.sql
+45_characters.sql
+54_world.sql
+57_world_scripts.sql
+66_world_scripts.sql
+68_world.sql
+70_world_scripts.sql
+78_world.sql
+79_characters.sql
+79_world.sql
+82_world_scripts.sql
+83_realmd.sql
+84_world.sql
+86_world_scripts.sql
+90_world.sql
+102_world.sql
+112_world_scripts.sql
+116_world.sql
+117_world_scripts.sql
+120_world.sql
+123_world_scripts.sql
+125_world_scripts.sql
+133_world_scripts.sql
+140_world.sql
+145_world_scripts.sql
+146_world.sql
+147_world.sql
+152_world.sql
+153_world.sql
+171_world.sql
+172_world_scripts.sql
+175_world_scripts.sql
+176_world.sql
+182_world.sql
+194_world_blacktemple.sql
+195_world_serpent_shrine.sql
+
+#Yes, i sorted them manually, so please be as kind as to add incoming .sql updates in order.
+DESTINATION share/trinity/sql/updates) \ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 00000000000..8c8b9e0126f
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,6 @@
+add_subdirectory(framework)
+add_subdirectory(shared)
+add_subdirectory(trinityrealm)
+add_subdirectory(game)
+add_subdirectory(bindings)
+add_subdirectory(trinitycore)
diff --git a/src/bindings/CMakeLists.txt b/src/bindings/CMakeLists.txt
new file mode 100644
index 00000000000..6933b29fe2d
--- /dev/null
+++ b/src/bindings/CMakeLists.txt
@@ -0,0 +1,5 @@
+if(DO_SCRIPTS)
+add_subdirectory(scripts)
+else (DO_SCRIPTS)
+add_subdirectory(interface)
+endif(DO_SCRIPTS)
diff --git a/src/bindings/interface/CMakeLists.txt b/src/bindings/interface/CMakeLists.txt
new file mode 100644
index 00000000000..4a8f0872422
--- /dev/null
+++ b/src/bindings/interface/CMakeLists.txt
@@ -0,0 +1,19 @@
+
+########### next target ###############
+
+SET(trinityinterface_LIB_SRCS
+ ScriptMgr.cpp
+ ScriptMgr.h
+ config.h
+ system.cpp
+ Scripts/sc_default.cpp
+ Scripts/sc_defines.cpp
+ Scripts/sc_defines.h
+)
+
+add_library(trinityinterface STATIC ${trinityinterface_LIB_SRCS})
+
+target_link_libraries(trinityinterface)
+
+set_target_properties(trinityinterface PROPERTIES VERSION 4.2.0 SOVERSION 4)
+install(TARGETS trinityinterface DESTINATION lib)
diff --git a/src/bindings/interface/ScriptMgr.cpp b/src/bindings/interface/ScriptMgr.cpp
index 027b5b1fe57..8e6f2e421b6 100644
--- a/src/bindings/interface/ScriptMgr.cpp
+++ b/src/bindings/interface/ScriptMgr.cpp
@@ -276,7 +276,7 @@ InstanceData* CreateInstanceData(Map *map)
return tmpscript->GetInstanceData(map);
}
-*/
+
void ScriptedAI::UpdateAI(const uint32)
{
//Check if we have a current target
@@ -319,3 +319,4 @@ void ScriptedAI::DoGoHome()
if( !m_creature->getVictim() && m_creature->isAlive() )
m_creature->GetMotionMaster()->MoveTargetedHome();
}
+*/
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt
new file mode 100644
index 00000000000..636530b9527
--- /dev/null
+++ b/src/bindings/scripts/CMakeLists.txt
@@ -0,0 +1,389 @@
+
+########### next target ###############
+
+SET(trinityscript_LIB_SRCS
+ ScriptMgr.cpp
+ ScriptMgr.h
+ include/precompiled.cpp
+ include/precompiled.h
+ include/sc_creature.cpp
+ include/sc_creature.h
+ include/sc_gossip.h
+ include/sc_instance.h
+ scripts/areatrigger/areatrigger_scripts.cpp
+ scripts/boss/boss_emeriss.cpp
+ scripts/boss/boss_lethon.cpp
+ scripts/boss/boss_taerar.cpp
+ scripts/boss/boss_ysondre.cpp
+ scripts/creature/mob_event_ai.cpp
+ scripts/creature/mob_event_ai.h
+ scripts/creature/mob_generic_creature.cpp
+ scripts/creature/simple_ai.cpp
+ scripts/creature/simple_ai.h
+ scripts/custom/custom_example.cpp
+ scripts/custom/custom_gossip_codebox.cpp
+ scripts/custom/test.cpp
+ scripts/go/go_scripts.cpp
+ scripts/guard/guard_ai.cpp
+ scripts/guard/guard_ai.h
+ scripts/guard/guards.cpp
+ scripts/item/item_scripts.cpp
+ scripts/item/item_test.cpp
+ scripts/npc/npc_escortAI.cpp
+ scripts/npc/npc_escortAI.h
+ scripts/npc/npc_innkeeper.cpp
+ scripts/npc/npc_professions.cpp
+ scripts/npc/npcs_special.cpp
+ scripts/zone/arathi_highlands/arathi_highlands.cpp
+ scripts/zone/alterac_mountains/alterac_mountains.cpp
+ scripts/zone/ashenvale_forest/ashenvale.cpp
+ scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
+ scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
+ scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
+ scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp
+ scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp
+ scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
+ scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h
+ scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h
+ scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
+ scripts/zone/azshara/azshara.cpp
+ scripts/zone/azshara/boss_azuregos.cpp
+ scripts/zone/azuremyst_isle/azuremyst_isle.cpp
+ scripts/zone/barrens/the_barrens.cpp
+ scripts/zone/black_temple/black_temple.cpp
+ scripts/zone/black_temple/boss_bloodboil.cpp
+ scripts/zone/black_temple/boss_illidan.cpp
+ scripts/zone/black_temple/boss_mother_shahraz.cpp
+ scripts/zone/black_temple/boss_reliquary_of_souls.cpp
+ scripts/zone/black_temple/boss_shade_of_akama.cpp
+ scripts/zone/black_temple/boss_supremus.cpp
+ scripts/zone/black_temple/boss_teron_gorefiend.cpp
+ scripts/zone/black_temple/boss_warlord_najentus.cpp
+ scripts/zone/black_temple/def_black_temple.h
+ scripts/zone/black_temple/illidari_council.cpp
+ scripts/zone/black_temple/instance_black_temple.cpp
+ scripts/zone/blackrock_depths/blackrock_depths.cpp
+ scripts/zone/blackrock_depths/instance_blackrock_depths.cpp
+ scripts/zone/blackrock_depths/def_blackrock_depths.h
+ scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp
+ scripts/zone/blackrock_depths/boss_angerrel.cpp
+ scripts/zone/blackrock_depths/boss_anubshiah.cpp
+ scripts/zone/blackrock_depths/boss_doomrel.cpp
+ scripts/zone/blackrock_depths/boss_doperel.cpp
+ scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp
+ scripts/zone/blackrock_depths/boss_general_angerforge.cpp
+ scripts/zone/blackrock_depths/boss_gloomrel.cpp
+ scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp
+ scripts/zone/blackrock_depths/boss_grizzle.cpp
+ scripts/zone/blackrock_depths/boss_haterel.cpp
+ scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp
+ scripts/zone/blackrock_depths/boss_magmus.cpp
+ scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp
+ scripts/zone/blackrock_depths/boss_seethrel.cpp
+ scripts/zone/blackrock_depths/boss_vilerel.cpp
+ scripts/zone/blackrock_spire/boss_drakkisath.cpp
+ scripts/zone/blackrock_spire/boss_gyth.cpp
+ scripts/zone/blackrock_spire/boss_halycon.cpp
+ scripts/zone/blackrock_spire/boss_highlord_omokk.cpp
+ scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp
+ scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp
+ scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp
+ scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp
+ scripts/zone/blackrock_spire/boss_rend_blackhand.cpp
+ scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp
+ scripts/zone/blackrock_spire/boss_the_beast.cpp
+ scripts/zone/blackrock_spire/boss_warmaster_voone.cpp
+ scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp
+ scripts/zone/blackwing_lair/boss_chromaggus.cpp
+ scripts/zone/blackwing_lair/boss_ebonroc.cpp
+ scripts/zone/blackwing_lair/boss_firemaw.cpp
+ scripts/zone/blackwing_lair/boss_flamegor.cpp
+ scripts/zone/blackwing_lair/boss_nefarian.cpp
+ scripts/zone/blackwing_lair/boss_razorgore.cpp
+ scripts/zone/blackwing_lair/boss_vaelastrasz.cpp
+ scripts/zone/blackwing_lair/boss_victor_nefarius.cpp
+ scripts/zone/blackwing_lair/instance_blackwing_lair.cpp
+ scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp
+ scripts/zone/blasted_lands/blasted_lands.cpp
+ scripts/zone/blasted_lands/boss_kruul.cpp
+ scripts/zone/bloodmyst_isle/bloodmyst_isle.cpp
+ scripts/zone/burning_steppes/burning_steppes.cpp
+ scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h
+ scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp
+ scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp
+ scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp
+ scripts/zone/caverns_of_time/hyjal/def_hyjal.h
+ scripts/zone/caverns_of_time/hyjal/hyjal.cpp
+ scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
+ scripts/zone/caverns_of_time/hyjal/hyjalAI.h
+ scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h
+ scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h
+ scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h
+ scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
+ scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp
+ scripts/zone/darkshore/darkshore.cpp
+ scripts/zone/deadmines/def_deadmines.h
+ scripts/zone/deadmines/deadmines.cpp
+ scripts/zone/dun_morogh/dun_morogh.cpp
+ scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp
+ scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp
+ scripts/zone/elwynn_forest/elwynn_forest.cpp
+ scripts/zone/eversong_woods/eversong_woods.cpp
+ scripts/zone/felwood/felwood.cpp
+ scripts/zone/feralas/feralas.cpp
+ scripts/zone/ghostlands/ghostlands.cpp
+ scripts/zone/gruuls_lair/boss_gruul.cpp
+ scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
+ scripts/zone/gruuls_lair/def_gruuls_lair.h
+ scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp
+ scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
+ scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
+ scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
+ scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h
+ scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h
+ scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
+ scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp
+ scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp
+ scripts/zone/ironforge/ironforge.cpp
+ scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp
+ scripts/zone/karazhan/boss_curator.cpp
+ scripts/zone/karazhan/boss_maiden_of_virtue.cpp
+ scripts/zone/karazhan/boss_midnight.cpp
+ scripts/zone/karazhan/boss_moroes.cpp
+ scripts/zone/karazhan/boss_netherspite.cpp
+ scripts/zone/karazhan/boss_nightbane.cpp
+ scripts/zone/karazhan/boss_prince_malchezaar.cpp
+ scripts/zone/karazhan/boss_shade_of_aran.cpp
+ scripts/zone/karazhan/boss_terestian_illhoof.cpp
+ scripts/zone/karazhan/bosses_opera.cpp
+ scripts/zone/karazhan/def_karazhan.h
+ scripts/zone/karazhan/instance_karazhan.cpp
+ scripts/zone/karazhan/karazhan.cpp
+ scripts/zone/loch_modan/loch_modan.cpp
+ scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp
+ scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
+ scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
+ scripts/zone/magisters_terrace/boss_vexallus.cpp
+ scripts/zone/magisters_terrace/def_magisters_terrace.h
+ scripts/zone/magisters_terrace/instance_magisters_terrace.cpp
+ scripts/zone/maraudon/boss_celebras_the_cursed.cpp
+ scripts/zone/maraudon/boss_landslide.cpp
+ scripts/zone/maraudon/boss_noxxion.cpp
+ scripts/zone/maraudon/boss_princess_theradras.cpp
+ scripts/zone/molten_core/boss_baron_geddon.cpp
+ scripts/zone/molten_core/boss_garr.cpp
+ scripts/zone/molten_core/boss_gehennas.cpp
+ scripts/zone/molten_core/boss_golemagg.cpp
+ scripts/zone/molten_core/boss_lucifron.cpp
+ scripts/zone/molten_core/boss_magmadar.cpp
+ scripts/zone/molten_core/boss_majordomo_executus.cpp
+ scripts/zone/molten_core/boss_ragnaros.cpp
+ scripts/zone/molten_core/boss_shazzrah.cpp
+ scripts/zone/molten_core/boss_sulfuron_harbinger.cpp
+ scripts/zone/molten_core/def_molten_core.h
+ scripts/zone/molten_core/instance_molten_core.cpp
+ scripts/zone/molten_core/molten_core.cpp
+ scripts/zone/moonglade/moonglade.cpp
+ scripts/zone/mulgore/mulgore.cpp
+ scripts/zone/nagrand/nagrand.cpp
+ scripts/zone/naxxramas/boss_anubrekhan.cpp
+ scripts/zone/naxxramas/boss_faerlina.cpp
+ scripts/zone/naxxramas/boss_gluth.cpp
+ scripts/zone/naxxramas/boss_gothik.cpp
+ scripts/zone/naxxramas/boss_grobbulus.cpp
+ scripts/zone/naxxramas/boss_heigan.cpp
+ scripts/zone/naxxramas/boss_highlord_mograine.cpp
+ scripts/zone/naxxramas/boss_kelthuzad.cpp
+ scripts/zone/naxxramas/boss_four_horsemen.cpp
+ scripts/zone/naxxramas/boss_loatheb.cpp
+ scripts/zone/naxxramas/boss_maexxna.cpp
+ scripts/zone/naxxramas/boss_noth.cpp
+ scripts/zone/naxxramas/boss_patchwerk.cpp
+ scripts/zone/naxxramas/boss_razuvious.cpp
+ scripts/zone/naxxramas/boss_sapphiron.cpp
+ scripts/zone/naxxramas/boss_thaddius.cpp
+ scripts/zone/naxxramas/instance_naxxramas.cpp
+ scripts/zone/netherstorm/netherstorm.cpp
+ scripts/zone/onyxias_lair/boss_onyxia.cpp
+ scripts/zone/orgrimmar/orgrimmar.cpp
+ scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp
+ scripts/zone/razorfen_kraul/razorfen_kraul.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp
+ scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
+ scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp
+ scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp
+ scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp
+ scripts/zone/scarlet_monastery/boss_herod.cpp
+ scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
+ scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp
+ scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp
+ scripts/zone/scarlet_monastery/boss_scorn.cpp
+ scripts/zone/scarlet_monastery/boss_headless_horseman.cpp
+ scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp
+ scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp
+ scripts/zone/scarlet_monastery/def_scarlet_monastery.h
+ scripts/zone/scholomance/boss_darkmaster_gandling.cpp
+ scripts/zone/scholomance/boss_death_knight_darkreaver.cpp
+ scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp
+ scripts/zone/scholomance/boss_illucia_barov.cpp
+ scripts/zone/scholomance/boss_instructor_malicia.cpp
+ scripts/zone/scholomance/boss_jandice_barov.cpp
+ scripts/zone/scholomance/boss_kormok.cpp
+ scripts/zone/scholomance/boss_lord_alexei_barov.cpp
+ scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp
+ scripts/zone/scholomance/boss_ras_frostwhisper.cpp
+ scripts/zone/scholomance/boss_the_ravenian.cpp
+ scripts/zone/scholomance/boss_vectus.cpp
+ scripts/zone/scholomance/def_scholomance.h
+ scripts/zone/scholomance/instance_scholomance.cpp
+ scripts/zone/searing_gorge/searing_gorge.cpp
+ scripts/zone/shadowfang_keep/def_shadowfang_keep.h
+ scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp
+ scripts/zone/shadowfang_keep/shadowfang_keep.cpp
+ scripts/zone/shadowmoon_valley/boss_doomwalker.cpp
+ scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
+ scripts/zone/shattrath/shattrath_city.cpp
+ scripts/zone/silithus/silithus.cpp
+ scripts/zone/silvermoon/silvermoon_city.cpp
+ scripts/zone/silverpine_forest/silverpine_forest.cpp
+ scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp
+ scripts/zone/stormwind/stormwind_city.cpp
+ scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
+ scripts/zone/stratholme/boss_baron_rivendare.cpp
+ scripts/zone/stratholme/boss_baroness_anastari.cpp
+ scripts/zone/stratholme/boss_cannon_master_willey.cpp
+ scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp
+ scripts/zone/stratholme/boss_magistrate_barthilas.cpp
+ scripts/zone/stratholme/boss_maleki_the_pallid.cpp
+ scripts/zone/stratholme/boss_nerubenkan.cpp
+ scripts/zone/stratholme/boss_order_of_silver_hand.cpp
+ scripts/zone/stratholme/boss_postmaster_malown.cpp
+ scripts/zone/stratholme/boss_ramstein_the_gorger.cpp
+ scripts/zone/stratholme/boss_timmy_the_cruel.cpp
+ scripts/zone/stratholme/def_stratholme.h
+ scripts/zone/stratholme/instance_stratholme.cpp
+ scripts/zone/stratholme/stratholme.cpp
+ scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
+ scripts/zone/sunwell_plateau/boss_felmyst.cpp
+ scripts/zone/sunwell_plateau/boss_brutallus.cpp
+ scripts/zone/sunwell_plateau/boss_kalecgos.cpp
+ scripts/zone/sunwell_plateau/def_sunwell_plateau.h
+ scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp
+ scripts/zone/tanaris/tanaris.cpp
+ scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
+ scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
+ scripts/zone/tempest_keep/arcatraz/def_arcatraz.h
+ scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
+ scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp
+ scripts/zone/tempest_keep/botanica/boss_laj.cpp
+ scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp
+ scripts/zone/tempest_keep/the_eye/boss_alar.cpp
+ scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
+ scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
+ scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp
+ scripts/zone/tempest_keep/the_eye/def_the_eye.h
+ scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
+ scripts/zone/tempest_keep/the_eye/the_eye.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
+ scripts/zone/tempest_keep/the_mechanar/def_mechanar.h
+ scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp
+ scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h
+ scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp
+ scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp
+ scripts/zone/terokkar_forest/terokkar_forest.cpp
+ scripts/zone/thunder_bluff/thunder_bluff.cpp
+ scripts/zone/tirisfal_glades/tirisfal_glades.cpp
+ scripts/zone/thousand_needles/thousand_needles.cpp
+ scripts/zone/uldaman/boss_archaedas.cpp
+ scripts/zone/uldaman/instance_uldaman.cpp
+ scripts/zone/uldaman/boss_ironaya.cpp
+ scripts/zone/uldaman/uldaman.cpp
+ scripts/zone/undercity/undercity.cpp
+ scripts/zone/wailing_caverns/instance_wailing_caverns.cpp
+ scripts/zone/western_plaguelands/western_plaguelands.cpp
+ scripts/zone/westfall/westfall.cpp
+ scripts/zone/winterspring/winterspring.cpp
+ scripts/zone/zangarmarsh/zangarmarsh.cpp
+ scripts/zone/zulaman/boss_akilzon.cpp
+ scripts/zone/zulaman/boss_halazzi.cpp
+ scripts/zone/zulaman/boss_hexlord.cpp
+ scripts/zone/zulaman/boss_janalai.cpp
+ scripts/zone/zulaman/boss_nalorakk.cpp
+ scripts/zone/zulaman/boss_zuljin.cpp
+ scripts/zone/zulaman/def_zulaman.h
+ scripts/zone/zulaman/instance_zulaman.cpp
+ scripts/zone/zulaman/zulaman.cpp
+ scripts/zone/zulfarrak/zulfarrak.cpp
+ scripts/zone/zulgurub/boss_arlokk.cpp
+ scripts/zone/zulgurub/boss_gahzranka.cpp
+ scripts/zone/zulgurub/boss_grilek.cpp
+ scripts/zone/zulgurub/boss_hakkar.cpp
+ scripts/zone/zulgurub/boss_hazzarah.cpp
+ scripts/zone/zulgurub/boss_jeklik.cpp
+ scripts/zone/zulgurub/boss_jindo.cpp
+ scripts/zone/zulgurub/boss_mandokir.cpp
+ scripts/zone/zulgurub/boss_marli.cpp
+ scripts/zone/zulgurub/boss_renataki.cpp
+ scripts/zone/zulgurub/boss_thekal.cpp
+ scripts/zone/zulgurub/boss_venoxis.cpp
+ scripts/zone/zulgurub/boss_wushoolay.cpp
+ scripts/zone/zulgurub/def_zulgurub.h
+ scripts/zone/zulgurub/instance_zulgurub.cpp
+ system.cpp
+)
+
+add_library(trinityscript STATIC ${trinityscript_LIB_SRCS})
+
+target_link_libraries(trinityscript)
+
+set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4)
+install(TARGETS trinityscript DESTINATION lib)
+
diff --git a/src/framework/CMakeLists.txt b/src/framework/CMakeLists.txt
new file mode 100644
index 00000000000..41ca661de98
--- /dev/null
+++ b/src/framework/CMakeLists.txt
@@ -0,0 +1,8 @@
+SET(trinityframework_STAT_SRCS
+ Policies/ObjectLifeTime.cpp
+ Utilities/EventProcessor.cpp
+)
+include_directories(
+${CMAKE_CURRENT_SRC_DIR}
+)
+add_library(trinityframework STATIC ${trinityframework_STAT_SRCS})
diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt
new file mode 100644
index 00000000000..db1e31f2414
--- /dev/null
+++ b/src/game/CMakeLists.txt
@@ -0,0 +1,266 @@
+
+########### next target ###############
+
+SET(game_STAT_SRCS
+ AccountMgr.cpp
+ AccountMgr.h
+ AddonHandler.cpp
+ AddonHandler.h
+ AggressorAI.cpp
+ AggressorAI.h
+ AnimalRandomMovementGenerator.h
+ ArenaTeam.cpp
+ ArenaTeam.h
+ ArenaTeamHandler.cpp
+ AuctionHouse.cpp
+ AuctionHouseObject.h
+ Bag.cpp
+ Bag.h
+ BattleGround.cpp
+ BattleGroundAA.cpp
+ BattleGroundAB.cpp
+ BattleGroundAV.cpp
+ BattleGroundBE.cpp
+ BattleGroundEY.cpp
+ BattleGroundNA.cpp
+ BattleGroundRL.cpp
+ BattleGroundWS.cpp
+ BattleGround.h
+ BattleGroundAA.h
+ BattleGroundAB.h
+ BattleGroundAV.h
+ BattleGroundBE.h
+ BattleGroundEY.h
+ BattleGroundNA.h
+ BattleGroundRL.h
+ BattleGroundWS.h
+ BattleGroundHandler.cpp
+ BattleGroundMgr.cpp
+ BattleGroundMgr.h
+ Cell.h
+ CellImpl.h
+ Channel.cpp
+ Channel.h
+ ChannelHandler.cpp
+ ChannelMgr.h
+ CharacterHandler.cpp
+ Chat.cpp
+ Chat.h
+ ChatHandler.cpp
+ CombatHandler.cpp
+ ConfusedMovementGenerator.cpp
+ ConfusedMovementGenerator.h
+ Corpse.cpp
+ Corpse.h
+ CreatureAI.cpp
+ CreatureAI.h
+ CreatureAIImpl.h
+ CreatureAIRegistry.cpp
+ CreatureAIRegistry.h
+ CreatureAISelector.cpp
+ CreatureAISelector.h
+ Creature.cpp
+ Creature.h
+ CreatureGroups.cpp
+ CreatureGroups.h
+ debugcmds.cpp
+ DestinationHolder.cpp
+ DestinationHolder.h
+ DestinationHolderImp.h
+ DuelHandler.cpp
+ DynamicObject.cpp
+ DynamicObject.h
+ FleeingMovementGenerator.cpp
+ FleeingMovementGenerator.h
+ Formulas.h
+ GameEvent.cpp
+ GameEvent.h
+ GameObject.cpp
+ GameObject.h
+ GlobalEvents.cpp
+ GlobalEvents.h
+ GossipDef.cpp
+ GossipDef.h
+ GridDefines.h
+ GridNotifiers.cpp
+ GridNotifiers.h
+ GridNotifiersImpl.h
+ GridStates.cpp
+ GridStates.h
+ Group.cpp
+ Group.h
+ GroupHandler.cpp
+ GuardAI.cpp
+ GuardAI.h
+ Guild.cpp
+ Guild.h
+ GuildHandler.cpp
+ HomeMovementGenerator.cpp
+ HomeMovementGenerator.h
+ HostilRefManager.cpp
+ HostilRefManager.h
+ IdleMovementGenerator.cpp
+ IdleMovementGenerator.h
+ InstanceData.cpp
+ InstanceData.h
+ InstanceSaveMgr.cpp
+ InstanceSaveMgr.h
+ Item.cpp
+ Item.h
+ ItemEnchantmentMgr.cpp
+ ItemEnchantmentMgr.h
+ ItemHandler.cpp
+ ItemPrototype.h
+ Language.h
+ Level0.cpp
+ Level1.cpp
+ Level2.cpp
+ Level3.cpp
+ LFGHandler.cpp
+ LootHandler.cpp
+ LootMgr.cpp
+ LootMgr.h
+ Mail.cpp
+ Mail.h
+ Map.cpp
+ Map.h
+ MapInstanced.cpp
+ MapInstanced.h
+ MapManager.cpp
+ MapManager.h
+ MiscHandler.cpp
+ MotionMaster.cpp
+ MotionMaster.h
+ MovementGenerator.cpp
+ MovementGenerator.h
+ MovementGeneratorImpl.h
+ MovementHandler.cpp
+ NPCHandler.cpp
+ NPCHandler.h
+ NullCreatureAI.cpp
+ NullCreatureAI.h
+ ObjectAccessor.cpp
+ ObjectAccessor.h
+ Object.cpp
+ ObjectDefines.h
+ ObjectGridLoader.cpp
+ ObjectGridLoader.h
+ Object.h
+ ObjectMgr.cpp
+ ObjectMgr.h
+ Opcodes.cpp
+ Opcodes.h
+ OutdoorPvP.cpp
+ OutdoorPvP.h
+ OutdoorPvPEP.cpp
+ OutdoorPvPEP.h
+ OutdoorPvPHP.cpp
+ OutdoorPvPHP.h
+ OutdoorPvPMgr.cpp
+ OutdoorPvPMgr.h
+ OutdoorPvPNA.cpp
+ OutdoorPvPNA.h
+ OutdoorPvPObjectiveAI.cpp
+ OutdoorPvPObjectiveAI.h
+ OutdoorPvPSI.cpp
+ OutdoorPvPSI.h
+ OutdoorPvPTF.cpp
+ OutdoorPvPTF.h
+ OutdoorPvPZM.cpp
+ OutdoorPvPZM.h
+ Path.h
+ PetAI.cpp
+ PetAI.h
+ Pet.cpp
+ Pet.h
+ PetHandler.cpp
+ PetitionsHandler.cpp
+ Player.cpp
+ Player.h
+ PlayerDump.cpp
+ PlayerDump.h
+ PointMovementGenerator.cpp
+ PointMovementGenerator.h
+ PossessedAI.cpp
+ PossessedAI.h
+ QueryHandler.cpp
+ QuestDef.cpp
+ QuestDef.h
+ QuestHandler.cpp
+ RandomMovementGenerator.cpp
+ RandomMovementGenerator.h
+ ReactorAI.cpp
+ ReactorAI.h
+ ScriptCalls.cpp
+ ScriptCalls.h
+ SharedDefines.h
+ SkillHandler.cpp
+ SpellAuraDefines.h
+ SpellAuras.cpp
+ SpellAuras.h
+ Spell.cpp
+ SpellEffects.cpp
+ Spell.h
+ SkillDiscovery.cpp
+ SkillDiscovery.h
+ SkillExtraItems.cpp
+ SkillExtraItems.h
+ SpellHandler.cpp
+ SocialMgr.cpp
+ SocialMgr.h
+ SpellMgr.cpp
+ SpellMgr.h
+ StatSystem.cpp
+ TargetedMovementGenerator.cpp
+ TargetedMovementGenerator.h
+ TaxiHandler.cpp
+ TemporarySummon.cpp
+ TemporarySummon.h
+ TicketHandler.cpp
+ TicketMgr.cpp
+ TicketMgr.h
+ tools.cpp
+ Tools.h
+ TotemAI.cpp
+ TotemAI.h
+ Totem.cpp
+ Totem.h
+ TradeHandler.cpp
+ Transports.cpp
+ Transports.h
+ ThreatManager.cpp
+ ThreatManager.h
+ Traveller.h
+ Unit.cpp
+ Unit.h
+ UnitEvents.h
+ UpdateData.cpp
+ UpdateData.h
+ UpdateFields.h
+ UpdateMask.h
+ VoiceChatHandler.cpp
+ WaypointManager.cpp
+ WaypointManager.h
+ WaypointMovementGenerator.cpp
+ WaypointMovementGenerator.h
+ Weather.cpp
+ Weather.h
+ World.cpp
+ World.h
+ WorldLog.cpp
+ WorldLog.h
+ WorldSession.cpp
+ WorldSession.h
+ WorldSocket.cpp
+ WorldSocket.h
+ WorldSocketMgr.cpp
+ WorldSocketMgr.h
+ FollowerReference.cpp
+ FollowerReference.h
+ FollowerRefManager.h
+ GroupReference.cpp
+ GroupReference.h
+ GroupRefManager.h
+)
+
+add_library(game STATIC ${game_STAT_SRCS})
diff --git a/src/shared/Auth/CMakeLists.txt b/src/shared/Auth/CMakeLists.txt
new file mode 100644
index 00000000000..f0714509e1d
--- /dev/null
+++ b/src/shared/Auth/CMakeLists.txt
@@ -0,0 +1,17 @@
+
+########### next target ###############
+
+SET(trinityauth_STAT_SRCS
+ AuthCrypt.cpp
+ AuthCrypt.h
+ BigNumber.cpp
+ BigNumber.h
+ Hmac.cpp
+ Hmac.h
+ Sha1.cpp
+ Sha1.h
+ md5.c
+ md5.h
+)
+
+add_library(trinityauth STATIC ${trinityauth_STAT_SRCS})
diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt
new file mode 100644
index 00000000000..006fa284c5d
--- /dev/null
+++ b/src/shared/CMakeLists.txt
@@ -0,0 +1,29 @@
+
+add_subdirectory(vmap)
+add_subdirectory(Auth)
+add_subdirectory(Config)
+add_subdirectory(Database)
+
+########### next target ###############
+
+SET(shared_STAT_SRCS
+ Base.cpp
+ Base.h
+ ByteBuffer.h
+ Common.cpp
+ Common.h
+ Errors.h
+ Log.cpp
+ Log.h
+ Mthread.cpp
+ Mthread.h
+ ProgressBar.cpp
+ ProgressBar.h
+ Timer.h
+ Util.cpp
+ Util.h
+ WorldPacket.h
+ SystemConfig.h
+)
+
+add_library(shared STATIC ${shared_STAT_SRCS})
diff --git a/src/shared/Config/CMakeLists.txt b/src/shared/Config/CMakeLists.txt
new file mode 100644
index 00000000000..54c3d80b869
--- /dev/null
+++ b/src/shared/Config/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+########### next target ###############
+
+SET(trinityconfig_STAT_SRCS
+ dotconfpp/dotconfpp.cpp
+ dotconfpp/dotconfpp.h
+ dotconfpp/mempool.cpp
+ dotconfpp/mempool.h
+ Config.cpp
+ Config.h
+ ConfigEnv.h
+)
+
+add_library(trinityconfig STATIC ${trinityconfig_STAT_SRCS})
+
diff --git a/src/shared/Database/CMakeLists.txt b/src/shared/Database/CMakeLists.txt
new file mode 100644
index 00000000000..a819a66dec7
--- /dev/null
+++ b/src/shared/Database/CMakeLists.txt
@@ -0,0 +1,38 @@
+SET(trinitydatabase_STAT_SRCS
+ DBCStores.cpp
+ DBCStores.h
+ DBCStructure.h
+ DBCfmt.cpp
+ Database.cpp
+ Database.h
+ DatabaseEnv.h
+ DatabaseImpl.h
+ DatabaseMysql.cpp
+ DatabasePostgre.cpp
+ DatabaseMysql.h
+ DatabasePostgre.h
+ DatabaseSqlite.cpp
+ DatabaseSqlite.h
+#Brian likes men
+ Field.cpp
+ Field.h
+ MySQLDelayThread.h
+ PGSQLDelayThread.h
+ QueryResult.h
+ QueryResultMysql.cpp
+ QueryResultMysql.h
+ QueryResultPostgre.cpp
+ QueryResultPostgre.h
+ QueryResultSqlite.cpp
+ QueryResultSqlite.h
+ SQLStorage.cpp
+ SQLStorage.h
+ SqlDelayThread.cpp
+ SqlDelayThread.h
+ SqlOperations.cpp
+ SqlOperations.h
+ dbcfile.cpp
+ dbcfile.h
+)
+
+add_library(trinitydatabase STATIC ${trinitydatabase_STAT_SRCS})
diff --git a/src/shared/vmap/CMakeLists.txt b/src/shared/vmap/CMakeLists.txt
new file mode 100644
index 00000000000..9ed30c0b44f
--- /dev/null
+++ b/src/shared/vmap/CMakeLists.txt
@@ -0,0 +1,35 @@
+
+########### next target ###############
+
+SET(vmaps_STAT_SRCS
+ AABSPTree.h
+ BaseModel.cpp
+ BaseModel.h
+ CoordModelMapping.cpp
+ CoordModelMapping.h
+ DebugCmdLogger.cpp
+ DebugCmdLogger.h
+ IVMapManager.h
+ ManagedModelContainer.cpp
+ ManagedModelContainer.h
+ ModelContainer.cpp
+ ModelContainer.h
+ NodeValueAccess.h
+ ShortBox.h
+ ShortVector.h
+ SubModel.cpp
+ SubModel.h
+ TileAssembler.cpp
+ TileAssembler.h
+ TreeNode.cpp
+ TreeNode.h
+ VMapDefinitions.h
+ VMapFactory.cpp
+ VMapFactory.h
+ VMapManager.cpp
+ VMapManager.h
+ VMapTools.h
+)
+
+add_library(vmaps STATIC ${vmaps_STAT_SRCS})
+
diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt
new file mode 100644
index 00000000000..72ceca8dd33
--- /dev/null
+++ b/src/trinitycore/CMakeLists.txt
@@ -0,0 +1,53 @@
+
+########### next target ###############
+
+SET(trinity-core_SRCS
+CliRunnable.cpp
+CliRunnable.h
+Main.cpp
+Master.cpp
+Master.h
+RASocket.cpp
+RASocket.h
+WorldRunnable.cpp
+WorldRunnable.h
+)
+
+add_executable(trinity-core ${trinity-core_SRCS})
+add_definitions(
+-D_TRINITY_CORE_CONFIG='"${CONF_DIR}/trinitycore.conf"'
+)
+IF (DO_MYSQL)
+ SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "-pthread")
+ENDIF(DO_MYSQL)
+
+
+
+target_link_libraries(
+trinity-core
+game
+shared
+zlib
+trinityframework
+trinitysockets
+trinitydatabase
+trinityauth
+trinityconfig
+vmaps
+ZThread
+g3dlite
+${SCRIPT_LIB}
+${MYSQL_LIBRARIES}
+${POSTGRE_LIBS}
+${SSLLIB}
+${ACE_LIBRARY}
+${ZLIB}
+)
+
+install(TARGETS trinity-core DESTINATION bin)
+
+
+########### install files ###############
+
+install(FILES trinitycore.conf.dist DESTINATION etc)
+
diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt
new file mode 100644
index 00000000000..cddea04ea47
--- /dev/null
+++ b/src/trinityrealm/CMakeLists.txt
@@ -0,0 +1,45 @@
+########### next target ###############
+
+SET(trinity-realm_SRCS
+AuthCodes.h
+AuthSocket.cpp
+AuthSocket.h
+Main.cpp
+RealmList.cpp
+RealmList.h
+)
+
+add_executable(trinity-realm ${trinity-realm_SRCS})
+add_definitions(
+-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/trinityrealm.conf"'
+)
+IF (DO_MYSQL)
+ #SET_TARGET_PROPERTIES(mangos-realmd PROPERTIES LINK_FLAGS ${MYSQL_LIBS})
+ SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "-pthread")
+ENDIF(DO_MYSQL)
+IF (DO_POSTGRE)
+ SET_TARGET_PROPERTIES(trinity-realmd PROPERTIES LINK_FLAGS ${POSTGRE_LIBS})
+ENDIF(DO_POSTGRE)
+
+
+target_link_libraries(
+trinity-realm
+shared
+trinityframework
+trinitysockets
+trinitydatabase
+trinityauth
+trinityconfig
+ZThread
+zlib
+${SSLLIB}
+${MYSQL_LIBRARIES}
+)
+
+install(TARGETS trinity-realm DESTINATION bin)
+
+
+########### install files ###############
+
+install(FILES trinityrealm.conf.dist DESTINATION etc)
+