diff options
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 000000000..a557b7dac --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,63 @@ + +cmake_minimum_required (VERSION 2.6) +project (MCServer) + +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03") +endif() + +include_directories (SYSTEM "${PROJECT_SOURCE_DIR}/../lib/") +include_directories (SYSTEM "${PROJECT_SOURCE_DIR}/../lib/jsoncpp/include") + +set(FOLDERS OSSupport HTTPServer Bindings Items Blocks Protocol Generating) +set(FOLDERS ${FOLDERS} WorldStorage Mobs Entities Simulator UI BlockEntities) + +if(NOT WIN32) + +foreach(folder ${FOLDERS}) + add_subdirectory(${folder}) +endforeach(folder) + +file(GLOB SOURCE + "*.cpp" +) +else() + +function(includefolder PATH) + FILE(GLOB FOLDER_FILES + "${PATH}/*.cpp" + "${PATH}/*.h" + ) + source_group("${PATH}" FILES ${FOLDER_FILES}) + +endfunction(includefolder) + +foreach(folder ${FOLDERS}) + includefolder(${folder}) +endforeach(folder) + +file(GLOB_RECURSE SOURCE + "*.cpp" + "*.h" +) + +include_directories("${PROJECT_SOURCE_DIR}") + +source_group("" FILES ${SOURCE}) + +endif() + +list(REMOVE_ITEM SOURCE "${PROJECT_SOURCE_DIR}/StackWalker.cpp" "${PROJECT_SOURCE_DIR}/LeakFinder.cpp") + +if(UNIX) + set(EXECUTABLE ../MCServer/MCServer) +else() + set(EXECUTABLE MCServer) +endif() + +add_executable(${EXECUTABLE} ${SOURCE}) + +target_link_libraries(${EXECUTABLE} OSSupport HTTPServer iniFile Bindings Items Blocks) +target_link_libraries(${EXECUTABLE} Protocol Generating WorldStorage jsoncpp cryptopp) +target_link_libraries(${EXECUTABLE} Mobs Entities Simulator UI zlib lua BlockEntities) +target_link_libraries(${EXECUTABLE} md5 luaexpat) |