]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/CMakeLists.txt
Fix formspec field labels
[dragonfireclient.git] / src / CMakeLists.txt
index 34146186e38f3d7b1a83c935d9f4f164245e0260..90f5867856b6029b2fe2d76c75491e65cfbfe36f 100644 (file)
@@ -3,7 +3,6 @@ cmake_minimum_required( VERSION 2.6 )
 
 # Set some random things default to not being visible in the GUI
 mark_as_advanced(EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH)
-mark_as_advanced(JTHREAD_INCLUDE_DIR JTHREAD_LIBRARY)
 mark_as_advanced(SQLITE3_INCLUDE_DIR SQLITE3_LIBRARY)
 mark_as_advanced(JSON_INCLUDE_DIR JSON_LIBRARY)
 
@@ -169,14 +168,10 @@ else()
        set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
 endif()
 
-find_package(Jthread REQUIRED)
 find_package(Sqlite3 REQUIRED)
 find_package(Json REQUIRED)
 find_package(OpenGLES2)
 
-SET(LEVELDB_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/leveldb/include)
-SET(LEVELDB_LIBRARY leveldb)
-
 if(USE_FREETYPE)
        find_package(Freetype REQUIRED)
        set(CGUITTFONT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cguittfont")
@@ -192,8 +187,10 @@ find_path(LUA_INCLUDE_DIR luajit.h
 message (STATUS "LuaJIT library: ${LUA_LIBRARY}")
 message (STATUS "LuaJIT headers: ${LUA_INCLUDE_DIR}")
 
-if(LUA_LIBRARY AND LUA_INCLUDE_DIR) 
+set(USE_LUAJIT 0)
+if(LUA_LIBRARY AND LUA_INCLUDE_DIR)
        message (STATUS "LuaJIT found.")
+       set(USE_LUAJIT 1)
 else(LUA_LIBRARY AND LUA_INCLUDE_DIR)
        message (STATUS "LuaJIT not found, using bundled Lua.")
        set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src")
@@ -209,9 +206,18 @@ set(USE_LEVELDB 0)
 OPTION(ENABLE_LEVELDB "Enable LevelDB backend")
 
 if(ENABLE_LEVELDB)
-       set(USE_LEVELDB 1)
-       message(STATUS "LevelDB backend enabled")
-       include_directories(${LEVELDB_INCLUDE_DIR})
+       find_library(LEVELDB_LIBRARY leveldb)
+       find_path(LEVELDB_INCLUDE_DIR db.h PATH_SUFFIXES leveldb)
+       message (STATUS "LevelDB library: ${LEVELDB_LIBRARY}")
+       message (STATUS "LevelDB headers: ${LEVELDB_INCLUDE_DIR}")
+       if(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR)
+               set(USE_LEVELDB 1)
+               message(STATUS "LevelDB backend enabled")
+               include_directories(${LEVELDB_INCLUDE_DIR})
+       else(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR)
+               set(USE_LEVELDB 0)
+               message(STATUS "LevelDB not found!")
+       endif(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR)
 endif(ENABLE_LEVELDB)
 
 configure_file(
@@ -219,10 +225,22 @@ configure_file(
        "${PROJECT_BINARY_DIR}/cmake_config.h"
 )
 
+# Add a target that always rebuilds cmake_config_githash.h
+add_custom_target(GenerateVersion
+       COMMAND ${CMAKE_COMMAND}
+       -D "GENERATE_VERSION_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
+       -D "GENERATE_VERSION_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}"
+       -D "VERSION_STRING=${VERSION_STRING}"
+       -D "VERSION_EXTRA=${VERSION_EXTRA}"
+       -P "${CMAKE_SOURCE_DIR}/cmake/Modules/GenerateVersion.cmake"
+       WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+
+add_subdirectory(jthread)
 add_subdirectory(script)
 add_subdirectory(util)
 
 set(common_SRCS
+       version.cpp
        rollback_interface.cpp
        rollback.cpp
        genericobject.cpp
@@ -288,6 +306,9 @@ set(common_SRCS
        serverlist.cpp
        pathfinder.cpp
        convert_json.cpp
+       gettext.cpp
+       httpfetch.cpp
+       ${JTHREAD_SRCS}
        ${common_SCRIPT_SRCS}
        ${UTIL_SRCS}
 )
@@ -339,6 +360,7 @@ set(minetest_SRCS
        guiDeathScreen.cpp
        guiChatConsole.cpp
        client.cpp
+       clientmedia.cpp
        filecache.cpp
        tile.cpp
        shader.cpp
@@ -375,7 +397,6 @@ include_directories(
        ${PNG_INCLUDE_DIR}
        ${GETTEXT_INCLUDE_DIR}
        ${SOUND_INCLUDE_DIRS}
-       ${JTHREAD_INCLUDE_DIR}
        ${SQLITE3_INCLUDE_DIR}
        ${LUA_INCLUDE_DIR}
        ${JSON_INCLUDE_DIR}
@@ -399,6 +420,7 @@ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin")
 
 if(BUILD_CLIENT)
        add_executable(${PROJECT_NAME} ${minetest_SRCS})
+       add_dependencies(${PROJECT_NAME} GenerateVersion)
        target_link_libraries(
                ${PROJECT_NAME}
                ${ZLIB_LIBRARIES}
@@ -410,7 +432,6 @@ if(BUILD_CLIENT)
                ${X11_LIBRARIES}
                ${GETTEXT_LIBRARY}
                ${SOUND_LIBRARIES}
-               ${JTHREAD_LIBRARY}
                ${SQLITE3_LIBRARY}
                ${LUA_LIBRARY}
                ${JSON_LIBRARY}
@@ -438,10 +459,10 @@ endif(BUILD_CLIENT)
 
 if(BUILD_SERVER)
        add_executable(${PROJECT_NAME}server ${minetestserver_SRCS})
+       add_dependencies(${PROJECT_NAME}server GenerateVersion)
        target_link_libraries(
                ${PROJECT_NAME}server
                ${ZLIB_LIBRARIES}
-               ${JTHREAD_LIBRARY}
                ${SQLITE3_LIBRARY}
                ${JSON_LIBRARY}
                ${GETTEXT_LIBRARY}
@@ -481,7 +502,7 @@ if(MSVC)
        # Flags for C files (sqlite)
        # /MT = Link statically with standard library stuff
        set(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /MT")
-       
+
        if(BUILD_SERVER)
                set_target_properties(${PROJECT_NAME}server PROPERTIES
                                COMPILE_DEFINITIONS "SERVER")
@@ -489,13 +510,13 @@ if(MSVC)
 
 else()
        # Probably GCC
-       
+
        if(WARN_ALL)
                set(RELEASE_WARNING_FLAGS "-Wall")
        else()
                set(RELEASE_WARNING_FLAGS "")
        endif()
-       
+
        if(NOT APPLE AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
                CHECK_CXX_COMPILER_FLAG("-Wno-unused-but-set-variable" HAS_UNUSED_BUT_SET_VARIABLE_WARNING)
                if(HAS_UNUSED_BUT_SET_VARIABLE_WARNING)
@@ -518,7 +539,7 @@ else()
        if(USE_GPROF)
                set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -pg")
        endif()
-       
+
        if(BUILD_SERVER)
                set_target_properties(${PROJECT_NAME}server PROPERTIES
                                COMPILE_DEFINITIONS "SERVER")
@@ -616,11 +637,6 @@ endif(USE_GETTEXT)
 
 # Subdirectories
 
-if (JTHREAD_FOUND)
-else (JTHREAD_FOUND)
-       add_subdirectory(jthread)
-endif (JTHREAD_FOUND)
-
 if (SQLITE3_FOUND)
 else (SQLITE3_FOUND)
        add_subdirectory(sqlite)
@@ -635,7 +651,4 @@ else (JSON_FOUND)
        add_subdirectory(json)
 endif (JSON_FOUND)
 
-if (USE_LEVELDB)
-       add_subdirectory(leveldb)
-endif (USE_LEVELDB)
 #end