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

Reply via email to