endif()
-option(ENABLE_GETTEXT "Use GetText for internationalization" FALSE)
+option(ENABLE_GETTEXT "Use GetText for internationalization" TRUE)
set(USE_GETTEXT FALSE)
if(ENABLE_GETTEXT)
endif()
endif()
-if(USE_SOUND)
- set(sound_SRCS sound_openal.cpp)
- set(SOUND_INCLUDE_DIRS
- ${OPENAL_INCLUDE_DIR}
- ${VORBIS_INCLUDE_DIR}
- ${OGG_INCLUDE_DIR}
- )
- set(SOUND_LIBRARIES
- ${OPENAL_LIBRARY}
- ${VORBIS_LIBRARIES}
- )
-endif()
-
option(ENABLE_GLES "Enable OpenGL ES support" FALSE)
mark_as_advanced(ENABLE_GLES)
if(NOT HAIKU)
find_package(X11 REQUIRED)
endif(NOT HAIKU)
+
+ set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
+ "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
+ set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
+
find_package(OpenGL REQUIRED)
find_package(JPEG REQUIRED)
find_package(BZip2 REQUIRED)
endif(HAVE_LIBRT)
endif(APPLE)
- if(NOT HAIKU)
+ if(NOT HAIKU AND NOT APPLE)
# This way Xxf86vm is found on OpenBSD too
find_library(XXF86VM_LIBRARY Xxf86vm)
mark_as_advanced(XXF86VM_LIBRARY)
set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY})
- endif(NOT HAIKU)
+ endif(NOT HAIKU AND NOT APPLE)
# Prefer local iconv if installed
find_library(ICONV_LIBRARY iconv)
add_subdirectory(threading)
+add_subdirectory(content)
add_subdirectory(database)
add_subdirectory(gui)
add_subdirectory(mapgen)
add_subdirectory(unittest)
add_subdirectory(util)
add_subdirectory(irrlicht_changes)
+add_subdirectory(server)
set(common_SRCS
${database_SRCS}
${mapgen_SRCS}
+ ${server_SRCS}
+ ${content_SRCS}
ban.cpp
chat.cpp
clientiface.cpp
genericobject.cpp
gettext.cpp
httpfetch.cpp
+ hud.cpp
inventory.cpp
inventorymanager.cpp
itemdef.cpp
itemstackmetadata.cpp
light.cpp
log.cpp
+ main.cpp
map.cpp
map_settings_manager.cpp
mapblock.cpp
mapsector.cpp
metadata.cpp
modchannels.cpp
- mods.cpp
nameidmapping.cpp
nodedef.cpp
nodemetadata.cpp
serverlist.cpp
serverobject.cpp
settings.cpp
- sound.cpp
staticobject.cpp
- subgame.cpp
terminal_chat_console.cpp
tileanimation.cpp
tool.cpp
${client_SRCS}
${common_SRCS}
${gui_SRCS}
- ${sound_SRCS}
${client_network_SRCS}
${client_irrlicht_changes_SRCS}
- camera.cpp
- client.cpp
- clientenvironment.cpp
- clientmap.cpp
- clientmedia.cpp
- clientobject.cpp
- clouds.cpp
- content_cao.cpp
- content_cso.cpp
- content_mapblock.cpp
- convert_json.cpp
- filecache.cpp
- fontengine.cpp
- game.cpp
- guiscalingfilter.cpp
- hud.cpp
- imagefilters.cpp
- keycode.cpp
- localplayer.cpp
- main.cpp
- mapblock_mesh.cpp
- mesh.cpp
- mesh_generator_thread.cpp
- minimap.cpp
- particles.cpp
- shader.cpp
- sky.cpp
- wieldmesh.cpp
${client_SCRIPT_SRCS}
${UNITTEST_CLIENT_SRCS}
)
# Server sources
set(server_SRCS
${common_SRCS}
- main.cpp
)
list(SORT server_SRCS)
# Visual Studio
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D WIN32_LEAN_AND_MEAN /MP")
# EHa enables SEH exceptions (used for catching segfaults)
- set(CMAKE_CXX_FLAGS_RELEASE "/EHa /Ox /GL /FD /MT /GS- /Zi /fp:fast /D NDEBUG /D _HAS_ITERATOR_DEBUGGING=0 /TP")
+ set(CMAKE_CXX_FLAGS_RELEASE "/EHa /Ox /GL /FD /MD /GS- /Zi /fp:fast /D NDEBUG /D _HAS_ITERATOR_DEBUGGING=0 /TP")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /arch:SSE")
endif()
set(CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Ob0 /Od /RTC1")
# Flags for C files (sqlite)
- # /MT = Link statically with standard library stuff
- set(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /MT")
+ # /MD = dynamically link to MSVCRxxx.dll
+ set(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /MD")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# Probably GCC
endforeach()
endif()
+ if(USE_FREETYPE)
+ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../fonts" DESTINATION "${SHAREDIR}"
+ FILES_MATCHING PATTERN "*.ttf" PATTERN "*.txt")
+ else()
+ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../fonts" DESTINATION "${SHAREDIR}"
+ FILES_MATCHING PATTERN "*.png" PATTERN "*.xml")
+ endif()
+
if(WIN32)
if(DEFINED IRRLICHT_DLL)
install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR})