dedicated: fix CMake and object loading (thanks ck and Guenther)

Conflicts:

	CMakeLists.txt
Julius Michaelis 2011-01-30 21:44:54 +01:00
parent d3d5e77f69
commit 1e3dc0fe4d
5 changed files with 65 additions and 3 deletions

View File

@ -434,6 +434,7 @@ set(OC_CLONK_SOURCES
src/platform/C4SoundSystem.h
src/platform/C4SoundLoaders.h
src/platform/C4SoundLoaders.cpp
src/platform/StdTApp.cpp
src/platform/C4Video.cpp
src/platform/C4Video.h
src/platform/C4VideoPlayback.cpp
@ -647,6 +648,11 @@ CHECK_INCLUDE_FILE_CXX(langinfo.h HAVE_LANGINFO_H)
CHECK_INCLUDE_FILE_CXX(poll.h HAVE_POLL_H)
CHECK_INCLUDE_FILE_CXX(sys/inotify.h HAVE_SYS_INOTIFY_H)
CHECK_INCLUDE_FILE_CXX(sys/socket.h HAVE_SYS_SOCKET_H)
if(USE_CONSOLE)
CHECK_INCLUDE_FILE_CXX(readline.h HAVE_READLINE_H)
CHECK_INCLUDE_FILE_CXX(readline/readline.h HAVE_READLINE_READLINE_H)
endif()
# ck 09-09-20: The following headers require Xlib.h for things such as
# 'Bool' and 'Window' to be defined. Unfortunately, this doesn't exist
@ -724,6 +730,12 @@ FINDLIB(OPENSSL_LIBRARIES NAMES crypto libeay32)
FIND_PATH(OPENSSL_INCLUDE_DIR NAMES openssl/sha.h)
include_directories(${OPENSSL_INCLUDE_DIR})
if(USE_CONSOLE)
include(./FindReadline.cmake)
include_directories(${READLINE_INCLUDE_DIRS})
SET(HAVE_LIBREADLINE ${READLINE_FOUND} CACHE INTERNAL "libreadline available")
endif()
############################################################################
# Precompiled header support, part 1 (pre-target)
############################################################################
@ -810,6 +822,12 @@ target_link_libraries(c4group
${ZLIB_LIBRARIES}
${OPENSSL_LIBRARIES}
)
if(USE_CONSOLE)
target_link_libraries(clonk
pthread
${READLINE_LIBRARIES}
)
endif()
set_property(TARGET clonk APPEND PROPERTY COMPILE_DEFINITIONS GLEW_STATIC)
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG _DEBUG)

31
FindReadline.cmake 100644
View File

@ -0,0 +1,31 @@
# - Find READLINE
# Find the native READLINE includes and library
#
# READLINE_INCLUDE_DIR - where to find READLINE.h, etc.
# READLINE_LIBRARIES - List of libraries when using READLINE.
# READLINE_FOUND - True if READLINE found.
IF (READLINE_INCLUDE_DIR)
# Already in cache, be silent
SET(READLINE_FIND_QUIETLY TRUE)
ENDIF (READLINE_INCLUDE_DIR)
FIND_PATH(READLINE_INCLUDE_DIR readline.h)
SET(READLINE_NAMES readline libreadline)
FIND_LIBRARY(READLINE_LIBRARY NAMES ${READLINE_NAMES} )
# handle the QUIETLY and REQUIRED arguments and set READLINE_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(READLINE DEFAULT_MSG READLINE_LIBRARY READLINE_INCLUDE_DIR)
IF(READLINE_FOUND)
SET( READLINE_LIBRARIES ${READLINE_LIBRARY} )
ELSE(READLINE_FOUND)
SET( READLINE_LIBRARIES )
ENDIF(READLINE_FOUND)
MARK_AS_ADVANCED( READLINE_LIBRARY READLINE_INCLUDE_DIR )

View File

@ -205,7 +205,13 @@ void C4Application::ClearCommandLine()
void C4Application::ParseCommandLine(int argc, char * argv[])
{
//Log("Command line: "); Log(szCmdLine);
StdStrBuf CmdLine("Command line:");
for(int i = 0; i < argc; ++i) {
CmdLine.Append(" ");
CmdLine.Append(argv[i]);
}
Log(CmdLine.getData());
ClearCommandLine();
Game.NetworkActive = false;

View File

@ -18,6 +18,7 @@
*/
#include "C4Include.h"
#include <StdNoGfx.h>
#include <StdMeshMaterial.h>
CStdNoGfx::CStdNoGfx()
{
@ -34,6 +35,12 @@ bool CStdNoGfx::CreatePrimarySurfaces(bool Fullscreen, unsigned int iXRes, unsig
Log("Graphics disabled.");
// Save back color depth
byByteCnt = iColorDepth / 8;
MaxTexSize = 64;
MaxTexSize = 2147483647;
return true;
}
bool CStdNoGfx::PrepareMaterial(StdMeshMaterial& mesh)
{
mesh.BestTechniqueIndex=0; return true;
}

View File

@ -36,7 +36,7 @@ public:
virtual void TaskIn() { }
virtual bool UpdateClipper() { return true; }
virtual bool OnResolutionChanged(unsigned int, unsigned int) { return true; }
virtual bool PrepareMaterial(StdMeshMaterial& mesh) { return true; }
virtual bool PrepareMaterial(StdMeshMaterial& mesh);
virtual bool PrepareRendering(SURFACE) { return true; }
virtual void FillBG(DWORD dwClr=0) { }
virtual void PerformBlt(CBltData &, CTexRef *, DWORD, bool, bool) { }