]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/CMakeLists.txt
+ clay and associated items
[dragonfireclient.git] / src / CMakeLists.txt
index f44b0930f910982f38ae6deef5c3ede10f8ed439..49982d310e62565989a56b628e022c0ed849a013 100644 (file)
@@ -5,6 +5,10 @@ if(RUN_IN_PLACE)
        add_definitions ( -DRUN_IN_PLACE )
 endif(RUN_IN_PLACE)
 
+if(NOT MSVC)
+       set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
+endif()
+
 # Use cmake_config.h
 add_definitions ( -DUSE_CMAKE_CONFIG_H )
 
@@ -20,9 +24,9 @@ if(WIN32)
        set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
                        CACHE PATH "Zlib include directory")
        set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib"
-                       CACHE PATH "Path to zlibwapi.lib")
+                       CACHE FILEPATH "Path to zlibwapi.lib")
        set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll"
-                       CACHE PATH "Path to zlibwapi.dll (for installation)")
+                       CACHE FILEPATH "Path to zlibwapi.dll (for installation)")
 else()
        # Unix probably
        if(BUILD_CLIENT)
@@ -35,7 +39,8 @@ else()
        find_package(ZLIB REQUIRED)
        set(PLATFORM_LIBS -lpthread)
        #set(CLIENT_PLATFORM_LIBS -lXxf86vm)
-       find_library(XXF86VM_LIBRARY, Xxf86vm)
+       # This way Xxf86vm is found on OpenBSD too
+       find_library(XXF86VM_LIBRARY Xxf86vm)
        set(CLIENT_PLATFORM_LIBS ${XXF86VM_LIBRARY})
 endif()
 
@@ -45,6 +50,9 @@ configure_file(
 )
 
 set(common_SRCS
+       collision.cpp
+       nodemetadata.cpp
+       serverobject.cpp
        noise.cpp
        mineral.cpp
        porting.cpp
@@ -61,6 +69,7 @@ set(common_SRCS
        connection.cpp
        environment.cpp
        server.cpp
+       servercommand.cpp
        socket.cpp
        mapblock.cpp
        mapsector.cpp
@@ -68,21 +77,30 @@ set(common_SRCS
        player.cpp
        utility.cpp
        test.cpp
+       sha1.cpp
+       base64.cpp
 )
 
+# Client sources
 set(minetest_SRCS
        ${common_SRCS}
+       keycode.cpp
+       clouds.cpp
+       clientobject.cpp
+       guiFurnaceMenu.cpp
        guiMainMenu.cpp
        guiMessageMenu.cpp
        guiTextInputMenu.cpp
        guiInventoryMenu.cpp
        guiPauseMenu.cpp
-       irrlichtwrapper.cpp
+       guiPasswordChange.cpp
        client.cpp
        tile.cpp
+       game.cpp
        main.cpp
 )
 
+# Server sources
 set(minetestserver_SRCS
        ${common_SRCS}
        servermain.cpp
@@ -93,17 +111,14 @@ include_directories(
        ${IRRLICHT_INCLUDE_DIR}
        ${ZLIB_INCLUDE_DIR}
        ${CMAKE_BUILD_TYPE}
-       "${PROJECT_SOURCE_DIR}/jthread"
        ${PNG_INCLUDE_DIR}
+       "${PROJECT_SOURCE_DIR}/jthread"
 )
 
 set(EXECUTABLE_OUTPUT_PATH ../bin)
 
-set(JTHREAD_LIBRARIES "jthread")
-set(JTHREAD_SRCS "")
-
 if(BUILD_CLIENT)
-       add_executable(minetest ${minetest_SRCS} ${JTHREAD_SRCS})
+       add_executable(minetest ${minetest_SRCS})
        target_link_libraries(
                minetest
                ${ZLIB_LIBRARIES}
@@ -113,19 +128,19 @@ if(BUILD_CLIENT)
                ${BZIP2_LIBRARIES}
                ${PNG_LIBRARIES}
                ${X11_LIBRARIES}
-               ${JTHREAD_LIBRARIES}
                ${PLATFORM_LIBS}
                ${CLIENT_PLATFORM_LIBS}
+               jthread
        )
 endif(BUILD_CLIENT)
 
 if(BUILD_SERVER)
-       add_executable(minetestserver ${minetestserver_SRCS} ${JTHREAD_SRCS})
+       add_executable(minetestserver ${minetestserver_SRCS})
        target_link_libraries(
                minetestserver
                ${ZLIB_LIBRARIES}
-               ${JTHREAD_LIBRARIES}
                ${PLATFORM_LIBS}
+               jthread
        )
 endif(BUILD_SERVER)
 
@@ -138,7 +153,8 @@ if(MSVC)
 
        # EHa enables SEH exceptions (used for catching segfaults)
        set(CMAKE_CXX_FLAGS_RELEASE "/EHa /MD /O2 /Ob2 /Oi /Ot /Oy /GL /FD /MT /GS- /arch:SSE /fp:fast /D NDEBUG /D _HAS_ITERATOR_DEBUGGING=0 /TP")
-       set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /NODEFAULTLIB:\"libcmtd.lib\"")
+       #set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /NODEFAULTLIB:\"libcmtd.lib\" /NODEFAULTLIB:\"libcmt.lib\"")
+       set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG")
 
        # Debug build doesn't catch exceptions by itself
        # Add some optimizations because otherwise it's VERY slow
@@ -146,7 +162,7 @@ if(MSVC)
        
        if(BUILD_SERVER)
                set_target_properties(minetestserver PROPERTIES
-                               COMPILE_FLAGS "/D SERVER")
+                               COMPILE_DEFINITIONS "SERVER")
        endif(BUILD_SERVER)
 
 else()
@@ -158,12 +174,18 @@ else()
                set(WARNING_FLAGS "")
        endif()
 
+       set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-unused-but-set-variable")
+
        set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops")
        set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall")
+
+       if(USE_GPROF)
+               set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -pg")
+       endif()
        
        if(BUILD_SERVER)
                set_target_properties(minetestserver PROPERTIES
-                               COMPILE_FLAGS "-DSERVER")
+                               COMPILE_DEFINITIONS "SERVER")
        endif(BUILD_SERVER)
 
 endif()
@@ -175,6 +197,9 @@ endif()
 # Installation
 #
 
+# Example configuration file
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../minetest.conf.example" DESTINATION ${EXAMPLE_CONF_DIR})
+
 if(BUILD_CLIENT)
        install(TARGETS minetest DESTINATION ${BINDIR})