Revision: 1710
http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=1710&view=rev
Author: rorthomas
Date: 2011-02-28 23:26:56 +0000 (Mon, 28 Feb 2011)
Log Message:
-----------
further steps towards embedded RoR
Modified Paths:
--------------
trunk/source/main/CMakeLists.txt
trunk/source/main/gameplay/RoRFrameListener.cpp
trunk/source/main/main_viewer/CMakeLists.txt
Added Paths:
-----------
trunk/source/main/main_sim/CMakeLists.txt
trunk/source/main/main_viewer/CMakeLists2.txt
Modified: trunk/source/main/CMakeLists.txt
===================================================================
--- trunk/source/main/CMakeLists.txt 2011-02-28 12:19:59 UTC (rev 1709)
+++ trunk/source/main/CMakeLists.txt 2011-02-28 23:26:56 UTC (rev 1710)
@@ -1,121 +1,5 @@
project(RoR_Main)
-#setup libraries
-macro(setup_lib name)
- if(ROR_USE_${name})
- include_directories(${${name}_INCLUDE_DIRS})
- link_directories (${${name}_LIBRARY_DIRS})
- add_definitions("-DUSE_${name}")
- set(optional_libs ${optional_libs} ${${name}_LIBRARIES})
- message(STATUS "${name} Enabled: \tYES")
- message(STATUS "${name}_INCLUDE_DIRS: \t${${name}_INCLUDE_DIRS}")
- if(${${name}_LIBRARY_DIRS})
- message(STATUS "${name}_LIBRARY_DIRS: \t${${name}_LIBRARY_DIRS}")
- endif(${${name}_LIBRARY_DIRS})
- message(STATUS "${name}_LIBRARIES: \t${${name}_LIBRARIES}")
- else()
- message(STATUS "${name} Enabled: \tNO")
- endif(ROR_USE_${name})
-endmacro(setup_lib)
+add_subdirectory(main_sim)
+add_subdirectory(main_viewer)
-macro(add_sub_dir name)
- FILE(GLOB_RECURSE ${name}_source ${name}/*.cpp)
- FILE(GLOB_RECURSE ${name}_header ${name}/*.h)
- SOURCE_GROUP("${name}" FILES ${${name}_source} ${${name}_header})
- include_directories(${name})
- set(sources ${sources} ${${name}_source})
- set(headers ${headers} ${${name}_header})
-endmacro(add_sub_dir)
-
-# config below
-IF(WIN32)
- include_directories(${BOOST_INCLUDE_DIRS})
- link_directories (${BOOST_LIBRARY_DIRS})
- include_directories(${PThread_INCLUDE_DIRS})
- link_directories (${PThread_LIBRARY_DIRS})
- set(OS_LIBS "${PThread_LIBRARIES};dinput8.lib;dxguid.lib")
-
- # disable some annoying VS warnings:
- # warning C4244: 'initializing' : conversion from 'const float' to 'int',
possible loss of data
- # warning C4305: 'initializing' : truncation from 'double' to 'const float'
- add_definitions("/wd4305 /wd4244 -DNOMINMAX")
-ELSEIF(UNIX)
- include_directories(${GTK_INCLUDE_DIRS})
- set(OS_LIBS "X11")
-ENDIF(WIN32)
-
-include_directories(${RoR_SOURCE_DIR}/source/protocol)
-
-# required components
-include_directories(${Ogre_INCLUDE_DIRS})
-link_directories (${Ogre_LIBRARY_DIRS})
-include_directories(${Ogre_Terrain_INCLUDE_DIRS})
-link_directories (${Ogre_Terrain_LIBRARY_DIRS})
-include_directories(${Ogre_Paging_INCLUDE_DIRS})
-link_directories (${Ogre_Paging_LIBRARY_DIRS})
-include_directories(${Ogre_RTShader_INCLUDE_DIRS})
-link_directories (${Ogre_RTShader_LIBRARY_DIRS})
-include_directories(${Ois_INCLUDE_DIRS})
-link_directories (${Ois_LIBRARY_DIRS})
-
-# optional components
-setup_lib(MYGUI)
-setup_lib(OPENAL)
-setup_lib(LUA)
-setup_lib(CURL)
-setup_lib(SOCKETW)
-setup_lib(MOFILEREADER)
-setup_lib(PAGED)
-setup_lib(CAELUM)
-setup_lib(ANGELSCRIPT)
-setup_lib(HYDRAX)
-setup_lib(CRASHRPT)
-
-if(ROR_USE_ANGELSCRIPT)
- add_definitions("-DAS_USE_NAMESPACE")
- set(optional_libs ${optional_libs} angelscript_addons)
-endif()
-
-if(ROR_USE_OIS_G27)
- add_definitions("-DUSE_OIS_G27")
-endif(ROR_USE_OIS_G27)
-
-if(ROR_FEAT_TIMING)
- add_definitions("-DFEAT_TIMING")
-endif(ROR_FEAT_TIMING)
-
-
-add_definitions("-DBOOST_ALL_NO_LIB")
-add_definitions("-DUSE_RTSHADER_SYSTEM")
-
-include_directories(.)
-add_sub_dir(audio)
-add_sub_dir(gameplay)
-add_sub_dir(gfx)
-add_sub_dir(gfx/dof)
-add_sub_dir(gui)
-add_sub_dir(gui/mygui)
-add_sub_dir(physics)
-add_sub_dir(physics/air)
-add_sub_dir(physics/collision)
-add_sub_dir(physics/flex)
-add_sub_dir(physics/input_output)
-add_sub_dir(physics/mplatform)
-add_sub_dir(physics/utils)
-add_sub_dir(physics/water)
-add_sub_dir(scripting)
-add_sub_dir(utils)
-add_sub_dir(main_sim)
-add_sub_dir(network)
-add_sub_dir(network/protocol)
-add_sub_dir(sqlite)
-add_sub_dir(framework)
-
-IF(WIN32)
- add_executable(RoR WIN32 ${headers} ${sources} main_sim/icon.rc)
-ELSE(WIN32)
- add_executable(RoR ${headers} ${sources})
-ENDIF(WIN32)
-
-target_link_libraries(RoR ${Ogre_LIBRARIES} ${Ogre_Terrain_LIBRARIES}
${Ogre_Paging_LIBRARIES} ${Ogre_RTShader_LIBRARIES} ${Ois_LIBRARIES} ${OS_LIBS}
${optional_libs})
-
Modified: trunk/source/main/gameplay/RoRFrameListener.cpp
===================================================================
--- trunk/source/main/gameplay/RoRFrameListener.cpp 2011-02-28 12:19:59 UTC
(rev 1709)
+++ trunk/source/main/gameplay/RoRFrameListener.cpp 2011-02-28 23:26:56 UTC
(rev 1710)
@@ -158,8 +158,6 @@
using namespace std;
-bool disableRendering=false;
-
Camera *gCamera;
/// This class just pretends to provide prcedural page content to avoid page
loading
@@ -173,24 +171,6 @@
};
DummyPageProvider mDummyPageProvider;
-class disableRenderingListener : public RenderTargetListener
-{
-private:
-
-public:
- void preRenderTargetUpdate(const RenderTargetEvent& evt)
- {
- if (disableRendering) mScene->setFindVisibleObjects(false);
- }
- void postRenderTargetUpdate(const RenderTargetEvent& evt)
- {
- mScene->setFindVisibleObjects(true);
- }
-
-};
-
-disableRenderingListener disableListener;
-
Material *terrainmaterial = 0;
char terrainoriginalmaterial[100];
@@ -782,7 +762,6 @@
if(!isEmbedded)
ow = new OverlayWrapper(win);
- benchmarking = !(SETTINGS.getSetting("Benchmark").empty());
enablePosStor = (SETTINGS.getSetting("Position Storage")=="Yes");
objectCounter=0;
hdrListener=0;
@@ -832,7 +811,6 @@
person=0;
netChat=0;
reload_pos=Vector3::ZERO;
- win->addListener(&disableListener);
free_truck=0;
//dirt=0;
editorfd=0;
@@ -905,7 +883,7 @@
size_t hWnd = 0;
win->getCustomAttribute("WINDOW", &hWnd);
- if(!benchmarking && !isEmbedded)
+ if(!isEmbedded)
INPUTENGINE.setup(hWnd, true, true, inputGrabMode);
} else
{
@@ -1232,10 +1210,6 @@
new BeamFactory(this, trucks, mSceneMgr, mSceneMgr->getRootSceneNode(),
mWindow, net, &mapsizex, &mapsizez, collisions, hfinder, w, mCamera);
- // setup a benchmark if required
- if(setupBenchmark())
- return;
-
// now continue to load everything...
if(preselected_map != "")
{
@@ -1327,7 +1301,6 @@
RoRFrameListener::~RoRFrameListener()
{
- mWindow->removeListener(&disableListener);
#ifdef USE_MYGUI
LoadingWindow::FreeInstance();
SelectorWindow::FreeInstance();
@@ -1411,122 +1384,6 @@
}
-int RoRFrameListener::setupBenchmark()
-{
- String benchmark = SETTINGS.getSetting("Benchmark");
- if(benchmark.empty()) return 0;
-
- if(benchmark == "simple")
- {
- // very simple benchmark: a simple truck driving
- benchmarking=true;
-#ifdef USE_MYGUI
- LoadingWindow::get()->hide();
-#endif //MYGUI
-
- // load a simple terrain
- loadTerrain("simple.terrn");
-
- // get truck name to test
- int trucknums = 6;
- if(!SETTINGS.getSetting("BenchmarkTrucks").empty())
- trucknums =
StringConverter::parseInt(SETTINGS.getSetting("BenchmarkTrucks"));
- String truckname = SETTINGS.getSetting("Preselected Truck");
- if(truckname.empty())
- {
- showError(_L("please specify truck to benchmark"),
_L("Benchmark truck not specified"));
- exit(1);
- }
-
- // load trucks
- float radius = 10;
- for(int i=0;i<trucknums;i++)
- {
- Vector3 pos = Vector3(500,0,250+3.5f*i);
- Ogre::Quaternion dir = Ogre::Quaternion::ZERO;
- Beam *truck =
BeamFactory::getSingleton().createLocal(pos, dir, truckname);
- truck->reset();
- radius = truck->getMinimalCameraRadius() * 3.5f;
- setCurrentTruck(truck->trucknum);
- }
-
- // activate them all
- for(int i=0;i<trucknums;i++)
- trucks[i]->activate();
-
- // setup the camera
- cameramode=CAMERA_EXT;
- camRotX = Degree(-120);
- camDist = radius;
-
- // start the simulation
- loading_state=ALL_LOADED;
-
- // modify the gui
- if(ow)
- {
- ow->truckhud->show(false);
- ow->showDashboardOverlays(false,0);
- ow->showDebugOverlay(1);
- }
- startTimer();
-
- // return 1 to skip the normal loading
- return 1;
- } else
- {
- // unkown benchmark
- showError(_L("Benchmark loading error"), _L("Benchmark not
known: ") + benchmark);
- exit(1);
- }
- return 0;
-}
-
-String RoRFrameListener::saveTerrainMesh()
-{
- LogManager::getSingleton().logMessage("saving Terrain Mesh to file...");
- ManualObject* mMan = mSceneMgr->createManualObject("Terrain");
- mMan->estimateIndexCount(mapsizex*mapsizez*3);
- mMan->estimateVertexCount(mapsizex*mapsizez*7);
- //mMan->setDynamic(false);
- mMan->begin("TerrainMaterial",RenderOperation::OT_TRIANGLE_LIST);
- int i = 0;
- int step = (mapsizex / 256);
- if(step == 0) step = 1;
- step *= 3;
- LogManager::getSingleton().logMessage("saving with steps: " +
StringConverter::toString(step));
- for(int x = 1;x<mapsizex;x+=step)
- {
- for(int z = 1;z<mapsizez;z+=step)
- {
- mMan->index(i);
- mMan->position(Vector3(x-step,
hfinder->getHeightAt(x-step, z-step), z-step));
- mMan->position(Vector3(x , hfinder->getHeightAt(x, z)
, z));
- mMan->position(Vector3(x-step,
hfinder->getHeightAt(x-step, z) , z));
- i++;
-
- mMan->index(i);
- mMan->position(Vector3(x-step,
hfinder->getHeightAt(x-step, z-step), z-step));
- mMan->position(Vector3(x , hfinder->getHeightAt(x,
z-step) , z-step));
- mMan->position(Vector3(x , hfinder->getHeightAt(x, z)
, z));
- i++;
- }
- LogManager::getSingleton().logMessage("x: " +
StringConverter::toString(x));
- }
- mMan->end();
- Ogre::MeshPtr mMeshPtr = mMan->convertToMesh("TerrainMesh");
- Ogre::Mesh* mMesh = mMeshPtr.getPointer();
- Ogre::MeshSerializer* mMeshSeri = new Ogre::MeshSerializer();
- //String mfilename = mFolder + "/" + mFolder + ".mesh";
- String mfilename = loadedTerrain + ".mesh";
- LogManager::getSingleton().logMessage("saved Terrain Mesh to file:" +
mfilename);
- mMeshSeri->exportMesh(mMesh, mfilename);
- mSceneMgr->destroyManualObject(mMan);
- delete mMesh;
- delete mMeshSeri;
- return mfilename;
-}
-
void RoRFrameListener::unloadObject(const char* instancename)
{
if(loadedObjects.find(std::string(instancename)) == loadedObjects.end())
@@ -2023,80 +1880,12 @@
}
-bool RoRFrameListener::benchmarkStep(float dt)
-{
- // accelerate the truck a bit
- //if(current_truck != -1 && trucks[current_truck] &&
trucks[current_truck]->engine)
- for (int i=0; i<free_truck; i++)
- {
- if(!trucks[i]) continue;
- trucks[i]->engine->autoSetAcc(0.5f);
- }
-#if 0
- if(rtime > 10.0f && rtime < 15.0f)
- trucks[current_truck]->brake = 1;
-
- // toggle parking brake around 20 and 25 sec
- if(fabs(20.0f - rtime) < 0.1f)
- trucks[current_truck]->parkingbrake=1;
-
- if(fabs(22.0f - rtime) < 0.1f)
- trucks[current_truck]->parkingbrake=0;
-#endif //0
-
- // end the benchmark after some time
- if(rtime > 30.0f)
- {
- Vector3 pos = trucks[current_truck]->nodes[0].AbsPosition;
- LogManager::getSingleton().logMessage("Benchmark final
Position: " + StringConverter::toString(pos));
-
- String finalpos_str =
SETTINGS.getSetting("BenchmarkFinalPosition");
- String finalpos_error_str =
SETTINGS.getSetting("BenchmarkFinalPositionError");
- if(!finalpos_str.empty() && !finalpos_error_str.empty())
- {
- // check if we are at the wished position
- Real finalpos_error =
StringConverter::parseReal(finalpos_error_str);
- Vector3 finalPos =
StringConverter::parseVector3(finalpos_str);
- LogManager::getSingleton().logMessage("Benchmark target
Position: " + StringConverter::toString(finalPos));
- Real targetDistance = fabs(pos.distance(finalPos));
- LogManager::getSingleton().logMessage("Benchmark target
distance: " + StringConverter::toString(targetDistance));
- LogManager::getSingleton().logMessage("Benchmark error
allowance: " + StringConverter::toString(finalpos_error));
-
- if(targetDistance < finalpos_error)
- {
-
LogManager::getSingleton().logMessage("Benchmark succeeding, inside of error
radius");
- exit(0);
- } else
- {
-
LogManager::getSingleton().logMessage("Benchmark failing, out of allowance
error radius");
- exit(1);
- }
- } else
- {
- // exit gracefully
- exit(0);
- }
- }
-
- // rotate camera slowly
- //camRotX += Degree(-0.03f);
-
- // update timer
- updateRacingGUI();
-
- return true;
-}
-
bool RoRFrameListener::updateEvents(float dt)
{
if (dt==0.0f) return true;
- // when in benchmark mode, do not process user events, rather execute
some hardcoded actions
- if(benchmarking)
- return benchmarkStep(dt);
-
INPUTENGINE.updateKeyBounces(dt);
if(!INPUTENGINE.getInputsChanged()) return true;
@@ -2358,13 +2147,6 @@
}
}
- if (INPUTENGINE.getEventBoolValueBounce(EV_COMMON_SAVE_TERRAIN, 0.5f))
- {
- if(ow) ow->flashMessage("saving terrain, please wait...");
- mWindow->update();
- String fn = saveTerrainMesh();
- if(ow) ow->flashMessage("terrain saved to file: " + fn);
- }
// position storage
if(enablePosStor && current_truck != -1)
Added: trunk/source/main/main_sim/CMakeLists.txt
===================================================================
--- trunk/source/main/main_sim/CMakeLists.txt (rev 0)
+++ trunk/source/main/main_sim/CMakeLists.txt 2011-02-28 23:26:56 UTC (rev
1710)
@@ -0,0 +1,121 @@
+project(RoR_Main)
+
+#setup libraries
+macro(setup_lib name)
+ if(ROR_USE_${name})
+ include_directories(${${name}_INCLUDE_DIRS})
+ link_directories (${${name}_LIBRARY_DIRS})
+ add_definitions("-DUSE_${name}")
+ set(optional_libs ${optional_libs} ${${name}_LIBRARIES})
+ message(STATUS "${name} Enabled: \tYES")
+ message(STATUS "${name}_INCLUDE_DIRS: \t${${name}_INCLUDE_DIRS}")
+ if(${${name}_LIBRARY_DIRS})
+ message(STATUS "${name}_LIBRARY_DIRS: \t${${name}_LIBRARY_DIRS}")
+ endif(${${name}_LIBRARY_DIRS})
+ message(STATUS "${name}_LIBRARIES: \t${${name}_LIBRARIES}")
+ else()
+ message(STATUS "${name} Enabled: \tNO")
+ endif(ROR_USE_${name})
+endmacro(setup_lib)
+
+macro(add_sub_dir name)
+ FILE(GLOB_RECURSE ${name}_source ${RoR_Main_SOURCE_DIR}/${name}/*.cpp)
+ FILE(GLOB_RECURSE ${name}_header ${RoR_Main_SOURCE_DIR}/${name}/*.h)
+ SOURCE_GROUP("${name}" FILES ${${name}_source} ${${name}_header})
+ include_directories(${RoR_Main_SOURCE_DIR}/${name})
+ set(sources ${sources} ${${name}_source})
+ set(headers ${headers} ${${name}_header})
+endmacro(add_sub_dir)
+
+# config below
+IF(WIN32)
+ include_directories(${BOOST_INCLUDE_DIRS})
+ link_directories (${BOOST_LIBRARY_DIRS})
+ include_directories(${PThread_INCLUDE_DIRS})
+ link_directories (${PThread_LIBRARY_DIRS})
+ set(OS_LIBS "${PThread_LIBRARIES};dinput8.lib;dxguid.lib")
+
+ # disable some annoying VS warnings:
+ # warning C4244: 'initializing' : conversion from 'const float' to 'int',
possible loss of data
+ # warning C4305: 'initializing' : truncation from 'double' to 'const float'
+ add_definitions("/wd4305 /wd4244 -DNOMINMAX")
+ELSEIF(UNIX)
+ include_directories(${GTK_INCLUDE_DIRS})
+ set(OS_LIBS "X11")
+ENDIF(WIN32)
+
+include_directories(${RoR_SOURCE_DIR}/source/protocol)
+
+# required components
+include_directories(${Ogre_INCLUDE_DIRS})
+link_directories (${Ogre_LIBRARY_DIRS})
+include_directories(${Ogre_Terrain_INCLUDE_DIRS})
+link_directories (${Ogre_Terrain_LIBRARY_DIRS})
+include_directories(${Ogre_Paging_INCLUDE_DIRS})
+link_directories (${Ogre_Paging_LIBRARY_DIRS})
+include_directories(${Ogre_RTShader_INCLUDE_DIRS})
+link_directories (${Ogre_RTShader_LIBRARY_DIRS})
+include_directories(${Ois_INCLUDE_DIRS})
+link_directories (${Ois_LIBRARY_DIRS})
+
+# optional components
+setup_lib(MYGUI)
+setup_lib(OPENAL)
+setup_lib(LUA)
+setup_lib(CURL)
+setup_lib(SOCKETW)
+setup_lib(MOFILEREADER)
+setup_lib(PAGED)
+setup_lib(CAELUM)
+setup_lib(ANGELSCRIPT)
+setup_lib(HYDRAX)
+setup_lib(CRASHRPT)
+
+if(ROR_USE_ANGELSCRIPT)
+ add_definitions("-DAS_USE_NAMESPACE")
+ set(optional_libs ${optional_libs} angelscript_addons)
+endif()
+
+if(ROR_USE_OIS_G27)
+ add_definitions("-DUSE_OIS_G27")
+endif(ROR_USE_OIS_G27)
+
+if(ROR_FEAT_TIMING)
+ add_definitions("-DFEAT_TIMING")
+endif(ROR_FEAT_TIMING)
+
+
+add_definitions("-DBOOST_ALL_NO_LIB")
+add_definitions("-DUSE_RTSHADER_SYSTEM")
+
+include_directories(.)
+add_sub_dir(audio)
+add_sub_dir(gameplay)
+add_sub_dir(gfx)
+add_sub_dir(gfx/dof)
+add_sub_dir(gui)
+add_sub_dir(gui/mygui)
+add_sub_dir(physics)
+add_sub_dir(physics/air)
+add_sub_dir(physics/collision)
+add_sub_dir(physics/flex)
+add_sub_dir(physics/input_output)
+add_sub_dir(physics/mplatform)
+add_sub_dir(physics/utils)
+add_sub_dir(physics/water)
+add_sub_dir(scripting)
+add_sub_dir(utils)
+add_sub_dir(network)
+add_sub_dir(network/protocol)
+add_sub_dir(sqlite)
+add_sub_dir(framework)
+add_sub_dir(main_sim)
+
+IF(WIN32)
+ add_executable(RoR WIN32 ${headers} ${sources} icon.rc)
+ELSE(WIN32)
+ add_executable(RoR ${headers} ${sources})
+ENDIF(WIN32)
+
+target_link_libraries(RoR ${Ogre_LIBRARIES} ${Ogre_Terrain_LIBRARIES}
${Ogre_Paging_LIBRARIES} ${Ogre_RTShader_LIBRARIES} ${Ois_LIBRARIES} ${OS_LIBS}
${optional_libs})
+
Modified: trunk/source/main/main_viewer/CMakeLists.txt
===================================================================
--- trunk/source/main/main_viewer/CMakeLists.txt 2011-02-28 12:19:59 UTC
(rev 1709)
+++ trunk/source/main/main_viewer/CMakeLists.txt 2011-02-28 23:26:56 UTC
(rev 1710)
@@ -1,78 +1,36 @@
-project(RoR_Viewer)
+project(RoREditor)
-# find wxWidgets
-SET(wxWidgets_USE_UNICODE ON)
-FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS base core html net adv propgrid aui)
-include_directories(${wxWidgets_INCLUDE_DIRS})
-add_definitions("-D${wxWidgets_DEFINITIONS}" ${wxWidgets_CXX_FLAGS})
-link_directories (${wxWidgets_LIB_DIR})
-
-IF(WIN32)
- include_directories(${BOOST_INCLUDE_DIRS})
- link_directories (${BOOST_LIBRARY_DIRS})
- include_directories(${PThread_INCLUDE_DIRS})
- link_directories (${PThread_LIBRARY_DIRS})
- include_directories(${PThread_INCLUDE_DIRS})
- link_directories (${PThread_LIBRARY_DIRS})
-
- #set(OS_LIBS "${PThread_LIBRARIES}")
- set(OS_SOURCE "icon.rc")
-
- # disable some annoying VS warnings:
- # warning C4244: 'initializing' : conversion from 'const float' to 'int',
possible loss of data
- # warning C4305: 'initializing' : truncation from 'double' to 'const float'
- add_definitions("/wd4305 /wd4244")
-
-ELSEIF(UNIX)
- find_package(PkgConfig)
- PKG_CHECK_MODULES (GTK gtk+-2.0 REQUIRED)
- INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIRS})
-
- PKG_CHECK_MODULES (Ogre OGRE REQUIRED)
- PKG_CHECK_MODULES (Ois OIS REQUIRED)
-
- set(OS_SOURCE "")
-ENDIF(WIN32)
-
-include_directories(${Ogre_INCLUDE_DIRS})
-link_directories (${Ogre_LIBRARY_DIRS})
-include_directories(${Ogre_Terrain_INCLUDE_DIRS})
-link_directories (${Ogre_Terrain_LIBRARY_DIRS})
-include_directories(${Ogre_Paging_INCLUDE_DIRS})
-link_directories (${Ogre_Paging_LIBRARY_DIRS})
-include_directories(${Ogre_RTShader_INCLUDE_DIRS})
-link_directories (${Ogre_RTShader_LIBRARY_DIRS})
-include_directories(${Ois_INCLUDE_DIRS})
-link_directories (${Ois_LIBRARY_DIRS})
-
-add_definitions("-D_UNICODE -DNOLANG")
-include_directories(../main)
-
-if(WIN32)
- # we have to extend the cflags to add USE_CONSOLE definition for non release
modes
- set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /D
USE_CONSOLE")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /D
USE_CONSOLE")
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D
USE_CONSOLE")
-endif(WIN32)
-
#setup libraries
macro(setup_lib name)
if(ROR_USE_${name})
- message(STATUS "Enabled: ${name}")
include_directories(${${name}_INCLUDE_DIRS})
link_directories (${${name}_LIBRARY_DIRS})
add_definitions("-DUSE_${name}")
set(optional_libs ${optional_libs} ${${name}_LIBRARIES})
- message(STATUS "${name}_INCLUDE_DIRS: ${${name}_INCLUDE_DIRS}")
- message(STATUS "${name}_LIBRARY_DIRS: ${${name}_LIBRARY_DIRS}")
- message(STATUS "${name}_LIBRARIES: ${${name}_LIBRARIES}")
+ message(STATUS "${name} Enabled: \tYES")
+ message(STATUS "${name}_INCLUDE_DIRS: \t${${name}_INCLUDE_DIRS}")
+ if(${${name}_LIBRARY_DIRS})
+ message(STATUS "${name}_LIBRARY_DIRS: \t${${name}_LIBRARY_DIRS}")
+ endif(${${name}_LIBRARY_DIRS})
+ message(STATUS "${name}_LIBRARIES: \t${${name}_LIBRARIES}")
else()
- message(STATUS "Not enabled: ${name}")
+ message(STATUS "${name} Enabled: \tNO")
endif(ROR_USE_${name})
endmacro(setup_lib)
+macro(add_sub_dir name)
+ FILE(GLOB_RECURSE ${name}_source ${RoR_Main_SOURCE_DIR}/${name}/*.cpp)
+ FILE(GLOB_RECURSE ${name}_header ${RoR_Main_SOURCE_DIR}/${name}/*.h)
+ SOURCE_GROUP("${name}" FILES ${${name}_source} ${${name}_header})
+ include_directories(${RoR_Main_SOURCE_DIR}/${name})
+ set(sources ${sources} ${${name}_source})
+ set(headers ${headers} ${${name}_header})
+endmacro(add_sub_dir)
+
# config below
IF(WIN32)
+ include_directories(${BOOST_INCLUDE_DIRS})
+ link_directories (${BOOST_LIBRARY_DIRS})
include_directories(${PThread_INCLUDE_DIRS})
link_directories (${PThread_LIBRARY_DIRS})
set(OS_LIBS "${PThread_LIBRARIES};dinput8.lib;dxguid.lib")
@@ -83,41 +41,82 @@
add_definitions("/wd4305 /wd4244 -DNOMINMAX")
ELSEIF(UNIX)
include_directories(${GTK_INCLUDE_DIRS})
- set(OS_LIBS "${OS_LIBS};X11")
+ set(OS_LIBS "X11")
ENDIF(WIN32)
+include_directories(${RoR_SOURCE_DIR}/source/protocol)
+
# required components
include_directories(${Ogre_INCLUDE_DIRS})
link_directories (${Ogre_LIBRARY_DIRS})
+include_directories(${Ogre_Terrain_INCLUDE_DIRS})
+link_directories (${Ogre_Terrain_LIBRARY_DIRS})
+include_directories(${Ogre_Paging_INCLUDE_DIRS})
+link_directories (${Ogre_Paging_LIBRARY_DIRS})
+include_directories(${Ogre_RTShader_INCLUDE_DIRS})
+link_directories (${Ogre_RTShader_LIBRARY_DIRS})
include_directories(${Ois_INCLUDE_DIRS})
link_directories (${Ois_LIBRARY_DIRS})
-link_directories (${Ois_LIBRARY_DIRS})
-include_directories(${RoR_SOURCE_DIR}/source/protocol)
+# optional components
+setup_lib(MYGUI)
+setup_lib(OPENAL)
+setup_lib(LUA)
+setup_lib(CURL)
+setup_lib(SOCKETW)
+setup_lib(MOFILEREADER)
+setup_lib(PAGED)
+setup_lib(CAELUM)
+setup_lib(ANGELSCRIPT)
+setup_lib(HYDRAX)
+setup_lib(CRASHRPT)
-# things to be used but not yet supported:
-#setup_lib(OPENAL)
-#setup_lib(LUA)
-#setup_lib(PAGED)
-#setup_lib(CAELUM)
-#setup_lib(ANGELSCRIPT)
-#setup_lib(HYDRAX)
-#setup_lib(CRASHRPT)
+if(ROR_USE_ANGELSCRIPT)
+ add_definitions("-DAS_USE_NAMESPACE")
+ set(optional_libs ${optional_libs} angelscript_addons)
+endif()
+if(ROR_USE_OIS_G27)
+ add_definitions("-DUSE_OIS_G27")
+endif(ROR_USE_OIS_G27)
+if(ROR_FEAT_TIMING)
+ add_definitions("-DFEAT_TIMING")
+endif(ROR_FEAT_TIMING)
-FILE(GLOB viewer_sources "*.cpp")
-FILE(GLOB viewer_headers "*.h")
+add_definitions("-DBOOST_ALL_NO_LIB")
+add_definitions("-DUSE_RTSHADER_SYSTEM")
+
include_directories(.)
-include_directories(../main)
+add_sub_dir(audio)
+add_sub_dir(gameplay)
+add_sub_dir(gfx)
+add_sub_dir(gfx/dof)
+add_sub_dir(gui)
+add_sub_dir(gui/mygui)
+add_sub_dir(physics)
+add_sub_dir(physics/air)
+add_sub_dir(physics/collision)
+add_sub_dir(physics/flex)
+add_sub_dir(physics/input_output)
+add_sub_dir(physics/mplatform)
+add_sub_dir(physics/utils)
+add_sub_dir(physics/water)
+add_sub_dir(scripting)
+add_sub_dir(utils)
+add_sub_dir(network)
+add_sub_dir(network/protocol)
+add_sub_dir(sqlite)
+add_sub_dir(framework)
+add_sub_dir(main_sim)
+
IF(WIN32)
- add_executable(RoRViewer WIN32 ${viewer_sources} ${viewer_headers}
${OS_SOURCE} ${additional_sources} ${HEADER_FILES} ${SOURCE_FILES}
../main/Settings.cpp ../main/errorutils.cpp)
-ELSEIF(UNIX)
- add_executable(RoRViewer ${viewer_sources} ${viewer_headers}
${OS_SOURCE} ${additional_sources} ${HEADER_FILES} ${SOURCE_FILES}
../main/Settings.cpp ../main/errorutils.cpp)
+ add_executable(RoREditor WIN32 ${headers} ${sources} icon.rc)
+ELSE(WIN32)
+ add_executable(RoREditor ${headers} ${sources})
ENDIF(WIN32)
-TARGET_LINK_LIBRARIES(RoRViewer ${wxWidgets_LIBRARIES} ${Ogre_LIBRARIES}
${Ois_LIBRARIES} ${OS_LIBS} ${optional_libs})
+target_link_libraries(RoREditor ${Ogre_LIBRARIES} ${Ogre_Terrain_LIBRARIES}
${Ogre_Paging_LIBRARIES} ${Ogre_RTShader_LIBRARIES} ${Ois_LIBRARIES} ${OS_LIBS}
${optional_libs})
-
Added: trunk/source/main/main_viewer/CMakeLists2.txt
===================================================================
--- trunk/source/main/main_viewer/CMakeLists2.txt
(rev 0)
+++ trunk/source/main/main_viewer/CMakeLists2.txt 2011-02-28 23:26:56 UTC
(rev 1710)
@@ -0,0 +1,123 @@
+project(RoR_Viewer)
+
+# find wxWidgets
+SET(wxWidgets_USE_UNICODE ON)
+FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS base core html net adv propgrid aui)
+include_directories(${wxWidgets_INCLUDE_DIRS})
+add_definitions("-D${wxWidgets_DEFINITIONS}" ${wxWidgets_CXX_FLAGS})
+link_directories (${wxWidgets_LIB_DIR})
+
+IF(WIN32)
+ include_directories(${BOOST_INCLUDE_DIRS})
+ link_directories (${BOOST_LIBRARY_DIRS})
+ include_directories(${PThread_INCLUDE_DIRS})
+ link_directories (${PThread_LIBRARY_DIRS})
+ include_directories(${PThread_INCLUDE_DIRS})
+ link_directories (${PThread_LIBRARY_DIRS})
+
+ #set(OS_LIBS "${PThread_LIBRARIES}")
+ set(OS_SOURCE "icon.rc")
+
+ # disable some annoying VS warnings:
+ # warning C4244: 'initializing' : conversion from 'const float' to 'int',
possible loss of data
+ # warning C4305: 'initializing' : truncation from 'double' to 'const float'
+ add_definitions("/wd4305 /wd4244")
+
+ELSEIF(UNIX)
+ find_package(PkgConfig)
+ PKG_CHECK_MODULES (GTK gtk+-2.0 REQUIRED)
+ INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIRS})
+
+ PKG_CHECK_MODULES (Ogre OGRE REQUIRED)
+ PKG_CHECK_MODULES (Ois OIS REQUIRED)
+
+ set(OS_SOURCE "")
+ENDIF(WIN32)
+
+include_directories(${Ogre_INCLUDE_DIRS})
+link_directories (${Ogre_LIBRARY_DIRS})
+include_directories(${Ogre_Terrain_INCLUDE_DIRS})
+link_directories (${Ogre_Terrain_LIBRARY_DIRS})
+include_directories(${Ogre_Paging_INCLUDE_DIRS})
+link_directories (${Ogre_Paging_LIBRARY_DIRS})
+include_directories(${Ogre_RTShader_INCLUDE_DIRS})
+link_directories (${Ogre_RTShader_LIBRARY_DIRS})
+include_directories(${Ois_INCLUDE_DIRS})
+link_directories (${Ois_LIBRARY_DIRS})
+
+add_definitions("-D_UNICODE -DNOLANG")
+include_directories(../main)
+
+if(WIN32)
+ # we have to extend the cflags to add USE_CONSOLE definition for non release
modes
+ set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /D
USE_CONSOLE")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /D
USE_CONSOLE")
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /D
USE_CONSOLE")
+endif(WIN32)
+
+#setup libraries
+macro(setup_lib name)
+ if(ROR_USE_${name})
+ message(STATUS "Enabled: ${name}")
+ include_directories(${${name}_INCLUDE_DIRS})
+ link_directories (${${name}_LIBRARY_DIRS})
+ add_definitions("-DUSE_${name}")
+ set(optional_libs ${optional_libs} ${${name}_LIBRARIES})
+ message(STATUS "${name}_INCLUDE_DIRS: ${${name}_INCLUDE_DIRS}")
+ message(STATUS "${name}_LIBRARY_DIRS: ${${name}_LIBRARY_DIRS}")
+ message(STATUS "${name}_LIBRARIES: ${${name}_LIBRARIES}")
+ else()
+ message(STATUS "Not enabled: ${name}")
+ endif(ROR_USE_${name})
+endmacro(setup_lib)
+
+# config below
+IF(WIN32)
+ include_directories(${PThread_INCLUDE_DIRS})
+ link_directories (${PThread_LIBRARY_DIRS})
+ set(OS_LIBS "${PThread_LIBRARIES};dinput8.lib;dxguid.lib")
+
+ # disable some annoying VS warnings:
+ # warning C4244: 'initializing' : conversion from 'const float' to 'int',
possible loss of data
+ # warning C4305: 'initializing' : truncation from 'double' to 'const float'
+ add_definitions("/wd4305 /wd4244 -DNOMINMAX")
+ELSEIF(UNIX)
+ include_directories(${GTK_INCLUDE_DIRS})
+ set(OS_LIBS "${OS_LIBS};X11")
+ENDIF(WIN32)
+
+# required components
+include_directories(${Ogre_INCLUDE_DIRS})
+link_directories (${Ogre_LIBRARY_DIRS})
+include_directories(${Ois_INCLUDE_DIRS})
+link_directories (${Ois_LIBRARY_DIRS})
+link_directories (${Ois_LIBRARY_DIRS})
+include_directories(${RoR_SOURCE_DIR}/source/protocol)
+
+
+# things to be used but not yet supported:
+#setup_lib(OPENAL)
+#setup_lib(LUA)
+#setup_lib(PAGED)
+#setup_lib(CAELUM)
+#setup_lib(ANGELSCRIPT)
+#setup_lib(HYDRAX)
+#setup_lib(CRASHRPT)
+
+
+
+FILE(GLOB viewer_sources "*.cpp")
+FILE(GLOB viewer_headers "*.h")
+
+include_directories(.)
+include_directories(${RoR_Main_SOURCE_DIR}/main)
+
+IF(WIN32)
+ add_executable(RoRViewer WIN32 ${viewer_sources} ${viewer_headers}
${OS_SOURCE} ${additional_sources} ${HEADER_FILES} ${SOURCE_FILES}
../main/Settings.cpp ../main/errorutils.cpp)
+ELSEIF(UNIX)
+ add_executable(RoRViewer ${viewer_sources} ${viewer_headers}
${OS_SOURCE} ${additional_sources} ${HEADER_FILES} ${SOURCE_FILES}
../main/Settings.cpp ../main/errorutils.cpp)
+ENDIF(WIN32)
+
+TARGET_LINK_LIBRARIES(RoRViewer ${wxWidgets_LIBRARIES} ${Ogre_LIBRARIES}
${Ois_LIBRARIES} ${OS_LIBS} ${optional_libs})
+
+
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
Rigsofrods-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel