[Orxonox-commit 1031] r5752 - in code/trunk: cmake src src/external/tolua/lua src/libraries src/modules src/orxonox

rgrieder at orxonox.net rgrieder at orxonox.net
Sun Sep 20 14:58:51 CEST 2009


Author: rgrieder
Date: 2009-09-20 14:58:51 +0200 (Sun, 20 Sep 2009)
New Revision: 5752

Modified:
   code/trunk/cmake/GenerateToluaBindings.cmake
   code/trunk/src/CMakeLists.txt
   code/trunk/src/Orxonox.cc
   code/trunk/src/external/tolua/lua/package.lua
   code/trunk/src/libraries/CMakeLists.txt
   code/trunk/src/modules/CMakeLists.txt
   code/trunk/src/orxonox/CMakeLists.txt
Log:
Small changes for the include directories:
- Our own directories get specified in src/libraries, src/orxonox and src/modules. This way you cannot include for example "CameraManager.h" in the core library.
- All tolua bind header files now go to src/toluabind to avoid declaring every folder with such header files in src separately (for each module/library).

Modified: code/trunk/cmake/GenerateToluaBindings.cmake
===================================================================
--- code/trunk/cmake/GenerateToluaBindings.cmake	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/cmake/GenerateToluaBindings.cmake	2009-09-20 12:58:51 UTC (rev 5752)
@@ -38,7 +38,7 @@
 
   SET(_tolua_pkgfile "${CMAKE_CURRENT_BINARY_DIR}/tolua.pkg")
   SET(_tolua_cxxfile "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ToluaBind${_tolua_package}.cc")
-  SET(_tolua_hfile   "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ToluaBind${_tolua_package}.h")
+  SET(_tolua_hfile   "${CMAKE_BINARY_DIR}/src/toluabind/${CMAKE_CFG_INTDIR}/ToluaBind${_tolua_package}.h")
 
   SET(${_target_source_files}
     ${${_target_source_files}}

Modified: code/trunk/src/CMakeLists.txt
===================================================================
--- code/trunk/src/CMakeLists.txt	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/src/CMakeLists.txt	2009-09-20 12:58:51 UTC (rev 5752)
@@ -68,39 +68,43 @@
   ${ZLIB_INCLUDE_DIR}
   ${VLD_INCLUDE_DIR}
 
-  # All library includes are prefixed with the path to avoid conflicts
-  ${CMAKE_CURRENT_SOURCE_DIR}
-  # Bullet headers really need the include directory
+  # All includes in "externals" should be prefixed with the path
+  # relative to "external" to avoid conflicts
+  ${CMAKE_CURRENT_SOURCE_DIR}/external
+  # Include directories needed even if only included by Orxonox
   ${CMAKE_CURRENT_SOURCE_DIR}/external/bullet
-  # OIS headers need the root dir as well
-  ${CMAKE_CURRENT_SOURCE_DIR}/external/ois
+
   # OrxonoxConfig.h
   ${CMAKE_CURRENT_BINARY_DIR}
-  # Tolua bind files for Core
-  ${CMAKE_CURRENT_BINARY_DIR}/libraries/core/${CMAKE_CFG_INTDIR}
-  # Tolua bind files for Orxonox
-  ${CMAKE_CURRENT_BINARY_DIR}/orxonox/${CMAKE_CFG_INTDIR}
-
-  # Add the base directories for convenience
-  ${CMAKE_CURRENT_SOURCE_DIR}/external
-  ${CMAKE_CURRENT_SOURCE_DIR}/libraries
-  ${CMAKE_CURRENT_SOURCE_DIR}/modules
-  ${CMAKE_CURRENT_SOURCE_DIR}/orxonox
 )
 
 IF(CEGUILUA_USE_INTERNAL_LIBRARY)
   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/external/ceguilua/ceguilua-${CEGUI_VERSION})
 ENDIF()
 
+################### Tolua Bind ##################
+
+# Create directory because the tolua application doesn't work otherwise
+IF(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/toluabind/${CMAKE_CFG_INTDIR})
+  FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/toluabind/${CMAKE_CFG_INTDIR})
+ENDIF()
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/toluabind/${CMAKE_CFG_INTDIR})
+
 ################ Sub Directories ################
 
 ADD_SUBDIRECTORY(external)
 ADD_SUBDIRECTORY(libraries)
+ADD_SUBDIRECTORY(orxonox)
 ADD_SUBDIRECTORY(modules)
-ADD_SUBDIRECTORY(orxonox)
 
 ################ Executable ################
 
+INCLUDE_DIRECTORIES(
+  ${CMAKE_CURRENT_SOURCE_DIR}/libraries
+  ${CMAKE_CURRENT_SOURCE_DIR}/orxonox
+)
+
 # Translate argument
 IF(ORXONOX_USE_WINMAIN)
   SET(ORXONOX_WIN32 WIN32)
@@ -116,6 +120,7 @@
   OUTPUT_NAME orxonox
 )
 
+# Get name to configure the run scripts
 GET_TARGET_PROPERTY(_exec_loc orxonox-main LOCATION)
 GET_FILENAME_COMPONENT(_exec_name ${_exec_loc} NAME)
 SET(ORXONOX_EXECUTABLE_NAME ${_exec_name} CACHE INTERNAL "")

Modified: code/trunk/src/Orxonox.cc
===================================================================
--- code/trunk/src/Orxonox.cc	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/src/Orxonox.cc	2009-09-20 12:58:51 UTC (rev 5752)
@@ -33,7 +33,6 @@
     Entry point of the program.
 */
 
-#include "OrxonoxPrereqs.h"
 #include "SpecialConfig.h"
 
 #ifdef ORXONOX_USE_WINMAIN

Modified: code/trunk/src/external/tolua/lua/package.lua
===================================================================
--- code/trunk/src/external/tolua/lua/package.lua	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/src/external/tolua/lua/package.lua	2009-09-20 12:58:51 UTC (rev 5752)
@@ -126,9 +126,7 @@
     output('#include <tolua/tolua++.h>\n\n')
 
     if flags.H then
-        local header = gsub(flags.H, '^.-([%w_]*%.[%w_]*)$', '%1')
-        local package_lower = string.lower(self.name)
-        output('#include "'..header..'"\n')
+        output('#include "'..flags.H..'"\n')
     end
 
     local i=1
@@ -203,8 +201,7 @@
     output('*/\n\n')
 
     if flags.H then
-        local package_lower = string.lower(self.name)
-        output('#include "'..package_lower..'/'..self.name..'Prereqs.h"\n')
+        output('#include "'..flags.w..'/'..self.name..'Prereqs.h"\n')
         output('/* Exported function */')
         output('_'..self.name..'Export')
         output('int  tolua_'..self.name..'_open (lua_State* tolua_S);')
@@ -221,7 +218,7 @@
 -- Parse C header file with tolua directives
 -- *** Thanks to Ariel Manzur for fixing bugs in nested directives ***
 function extract_code(fn,s)
-    local code = '\n$#include "'..string.lower(flags.n)..'/'..fn..'"\n'
+    local code = '\n$#include "'..flags.w..'/'..fn..'"\n'
     s= "\n" .. s .. "\n" -- add blank lines as sentinels
 
     -- eliminate export macro problems in class declarations

Modified: code/trunk/src/libraries/CMakeLists.txt
===================================================================
--- code/trunk/src/libraries/CMakeLists.txt	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/src/libraries/CMakeLists.txt	2009-09-20 12:58:51 UTC (rev 5752)
@@ -17,6 +17,11 @@
  #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  #
 
+INCLUDE_DIRECTORIES(
+  ${CMAKE_SOURCE_DIR}/src/external
+  ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
 ################ Sub Directories ################
 
 ADD_SUBDIRECTORY(core)

Modified: code/trunk/src/modules/CMakeLists.txt
===================================================================
--- code/trunk/src/modules/CMakeLists.txt	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/src/modules/CMakeLists.txt	2009-09-20 12:58:51 UTC (rev 5752)
@@ -17,6 +17,13 @@
  #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  #
 
+INCLUDE_DIRECTORIES(
+  ${CMAKE_SOURCE_DIR}/src/external
+  ${CMAKE_SOURCE_DIR}/src/libraries
+  ${CMAKE_SOURCE_DIR}/src/orxonox
+  ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
 ################ Sub Directories ################
 
 ADD_SUBDIRECTORY(gamestates)

Modified: code/trunk/src/orxonox/CMakeLists.txt
===================================================================
--- code/trunk/src/orxonox/CMakeLists.txt	2009-09-20 10:52:14 UTC (rev 5751)
+++ code/trunk/src/orxonox/CMakeLists.txt	2009-09-20 12:58:51 UTC (rev 5752)
@@ -17,6 +17,12 @@
  #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  #
 
+INCLUDE_DIRECTORIES(
+  ${CMAKE_SOURCE_DIR}/src/external
+  ${CMAKE_SOURCE_DIR}/src/libraries
+  ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
 SET_SOURCE_FILES(ORXONOX_SRC_FILES
   Main.cc
 




More information about the Orxonox-commit mailing list