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

Julius Michaelis 2011-01-30 21:44:54 +01:00
parent 1285b5fcb3
commit 8cbfa00a4e
5 changed files with 65 additions and 3 deletions

View File

@ -447,6 +447,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
@ -668,6 +669,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
@ -745,6 +751,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)
############################################################################
@ -874,6 +886,12 @@ if(HAVE_PTHREAD)
pthread
)
endif()
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

@ -203,7 +203,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) { }