CMAKE for ogrebullet?

noobs

26-01-2011 11:31:30

I pulled the version form svn and noticed that it din't work att all an mac first of all the CHECK_PKG thing doesn't work, and then you have to fixe some paths. (witch i still haven't figured out how you tell the compiler where to look for header files)

Have I just missed something or is there only the auto make for ogrebullet?
The magic whit automake is a bit frightening to me, especially when it doesn't work as it should.

Im sure whit some collaboration a cmake "version" could be made, I have no idea how the ogrebullet is setup, if some of you have the brain to do this i'm sure many would appreciate it.

There are some converters from .vcprojekt to get the cmake file started that might help i suppose.
I read some of the stuff on the ogre wiki about cmake and how it works but i'm not good enough to apply i there :P

dermont

05-02-2011 00:17:32

The autotools build probably needs some updates but should build OK on Linux at least, maybe you could post the problems you encountering.

As for a CMake it should be pretty easy to create at least a simple build.

Fish

05-02-2011 18:01:31

And if someone will post a patch to the tracker I'll be sure to merge it.

- Fish

noobs

05-02-2011 18:54:19

The autotools build probably needs some updates but should build OK on Linux at least, maybe you could post the problems you encountering.

As for a CMake it should be pretty easy to create at least a simple build.


Should be yes, but it still needs someone whit more knowledge then me.
I'm trying to compile on a mac and i got some link error if I remember correctly.

CallForSanity

03-03-2011 21:38:38

Hi,

A very Basic CMake build script for libogrebullet-dev.
FindOgreBullet.cmake script contained in cmake subfolder.

The build excludes the demos.
Also Debian package generation fails. Dunno why.
sudo make install works. Tested on Ubuntu 10.10.

I hope somebody can use this.
Feel free to extend. Please post new patches.

Index: cmake/FindOgreBullet.cmake
===================================================================
--- cmake/FindOgreBullet.cmake (revision 0)
+++ cmake/FindOgreBullet.cmake (revision 0)
@@ -0,0 +1,29 @@
+# - Find OgreBullet
+# Find the native OgreBullet includes and library
+#
+# OGREBULLET_FOUND - True if OgreBullet found.
+# OGREBULLET_INCLUDE_DIR - where to find includes
+# OGREBULLET_LIBRARIES - List of libraries when using OgreBullet.
+#
+
+IF( OGREBULLET_INCLUDE_DIR )
+ # Already in cache, be silent
+ SET( OgreBullet_FIND_QUIETLY TRUE )
+ENDIF( OGREBULLET_INCLUDE_DIR )
+
+FIND_PATH( OGREBULLET_INCLUDE_DIR "Dynamics/OgreBulletDynamicsRigidBody.h"
+ PATH_SUFFIXES "OgreBullet" )
+
+FIND_LIBRARY( OGREBULLET_COL_LIB "OgreBulletCol")
+FIND_LIBRARY( OGREBULLET_DYN_LIB "OgreBulletDyn")
+
+SET(OGREBULLET_INCLUDE_DIRS "${OGREBULLET_INCLUDE_DIR}/Collisions" "${OGREBULLET_INCLUDE_DIR}/Dynamics")
+#SET(OGREBULLET_LIBRARIES ${OGREBULLET_COL_LIB} ${OGREBULLET_DYN_LIB})
+SET(OGREBULLET_LIBRARIES OgreBulletDyn OgreBulletCol)
+
+# handle the QUIETLY and REQUIRED arguments and set OGREBULLET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( "FindPackageHandleStandardArgs" )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( "OgreBullet" DEFAULT_MSG OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
+
+MARK_AS_ADVANCED( OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
\ No newline at end of file

Property changes on: cmake/FindOgreBullet.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOGRE.cmake
===================================================================
--- cmake/FindOGRE.cmake (revision 0)
+++ cmake/FindOGRE.cmake (revision 0)
@@ -0,0 +1,59 @@
+# Find OGRE includes and library
+#
+# This module defines
+# OGRE_INCLUDE_DIR
+# OGRE_LIBRARIES, the libraries to link against to use OGRE.
+# OGRE_LIB_DIR, the location of the libraries
+# OGRE_FOUND, If false, do not try to use OGRE
+#
+# Copyright © 2007, Matt Williams
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+IF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+ SET(OGRE_FIND_QUIETLY TRUE) # Already in cache, be silent
+ENDIF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+
+IF (WIN32) #Windows
+ MESSAGE(STATUS "Looking for OGRE")
+ SET(OGRESDK $ENV{OGRE_HOME})
+ #STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}" )
+ SET(OGRE_INCLUDE_DIR ${OGRESDK}/include)
+ SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+ SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
+ELSE (WIN32) #Unix
+ FIND_PACKAGE(PkgConfig)
+ PKG_SEARCH_MODULE(OGRE OGRE)
+ SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIRS})
+ SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
+ SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "")
+ENDIF (WIN32)
+
+#Do some preparation
+#SEPARATE_ARGUMENTS(OGRE_INCLUDE_DIR)
+SEPARATE_ARGUMENTS(OGRE_LIBRARIES)
+
+SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIB_DIR ${OGRE_LIB_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "" FORCE)
+
+MARK_AS_ADVANCED(OGRE_INCLUDE_DIR)
+MARK_AS_ADVANCED(OGRE_LIB_DIR)
+MARK_AS_ADVANCED(OGRE_LIBRARIES)
+
+IF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+ SET(OGRE_FOUND TRUE)
+ENDIF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIRS})
+
+IF (OGRE_FOUND)
+ IF (NOT OGRE_FIND_QUIETLY)
+ MESSAGE(STATUS " libraries : ${OGRE_LIBRARIES} from ${OGRE_LIB_DIR}")
+ MESSAGE(STATUS " includes : ${OGRE_INCLUDE_DIR}")
+ ENDIF (NOT OGRE_FIND_QUIETLY)
+ELSE (OGRE_FOUND)
+ IF (OGRE_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find OGRE")
+ ENDIF (OGRE_FIND_REQUIRED)
+ENDIF (OGRE_FOUND)

Property changes on: cmake/FindOGRE.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOgreBullet.cmake
===================================================================
--- cmake/FindOgreBullet.cmake (revision 0)
+++ cmake/FindOgreBullet.cmake (revision 0)
@@ -0,0 +1,29 @@
+# - Find OgreBullet
+# Find the native OgreBullet includes and library
+#
+# OGREBULLET_FOUND - True if OgreBullet found.
+# OGREBULLET_INCLUDE_DIR - where to find includes
+# OGREBULLET_LIBRARIES - List of libraries when using OgreBullet.
+#
+
+IF( OGREBULLET_INCLUDE_DIR )
+ # Already in cache, be silent
+ SET( OgreBullet_FIND_QUIETLY TRUE )
+ENDIF( OGREBULLET_INCLUDE_DIR )
+
+FIND_PATH( OGREBULLET_INCLUDE_DIR "Dynamics/OgreBulletDynamicsRigidBody.h"
+ PATH_SUFFIXES "OgreBullet" )
+
+FIND_LIBRARY( OGREBULLET_COL_LIB "OgreBulletCol")
+FIND_LIBRARY( OGREBULLET_DYN_LIB "OgreBulletDyn")
+
+SET(OGREBULLET_INCLUDE_DIRS "${OGREBULLET_INCLUDE_DIR}/Collisions" "${OGREBULLET_INCLUDE_DIR}/Dynamics")
+#SET(OGREBULLET_LIBRARIES ${OGREBULLET_COL_LIB} ${OGREBULLET_DYN_LIB})
+SET(OGREBULLET_LIBRARIES OgreBulletDyn OgreBulletCol)
+
+# handle the QUIETLY and REQUIRED arguments and set OGREBULLET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( "FindPackageHandleStandardArgs" )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( "OgreBullet" DEFAULT_MSG OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
+
+MARK_AS_ADVANCED( OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
\ No newline at end of file

Property changes on: cmake/FindOgreBullet.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOGRE.cmake
===================================================================
--- cmake/FindOGRE.cmake (revision 0)
+++ cmake/FindOGRE.cmake (revision 0)
@@ -0,0 +1,59 @@
+# Find OGRE includes and library
+#
+# This module defines
+# OGRE_INCLUDE_DIR
+# OGRE_LIBRARIES, the libraries to link against to use OGRE.
+# OGRE_LIB_DIR, the location of the libraries
+# OGRE_FOUND, If false, do not try to use OGRE
+#
+# Copyright © 2007, Matt Williams
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+IF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+ SET(OGRE_FIND_QUIETLY TRUE) # Already in cache, be silent
+ENDIF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+
+IF (WIN32) #Windows
+ MESSAGE(STATUS "Looking for OGRE")
+ SET(OGRESDK $ENV{OGRE_HOME})
+ #STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}" )
+ SET(OGRE_INCLUDE_DIR ${OGRESDK}/include)
+ SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+ SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
+ELSE (WIN32) #Unix
+ FIND_PACKAGE(PkgConfig)
+ PKG_SEARCH_MODULE(OGRE OGRE)
+ SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIRS})
+ SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
+ SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "")
+ENDIF (WIN32)
+
+#Do some preparation
+#SEPARATE_ARGUMENTS(OGRE_INCLUDE_DIR)
+SEPARATE_ARGUMENTS(OGRE_LIBRARIES)
+
+SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIB_DIR ${OGRE_LIB_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "" FORCE)
+
+MARK_AS_ADVANCED(OGRE_INCLUDE_DIR)
+MARK_AS_ADVANCED(OGRE_LIB_DIR)
+MARK_AS_ADVANCED(OGRE_LIBRARIES)
+
+IF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+ SET(OGRE_FOUND TRUE)
+ENDIF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIRS})
+
+IF (OGRE_FOUND)
+ IF (NOT OGRE_FIND_QUIETLY)
+ MESSAGE(STATUS " libraries : ${OGRE_LIBRARIES} from ${OGRE_LIB_DIR}")
+ MESSAGE(STATUS " includes : ${OGRE_INCLUDE_DIR}")
+ ENDIF (NOT OGRE_FIND_QUIETLY)
+ELSE (OGRE_FOUND)
+ IF (OGRE_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find OGRE")
+ ENDIF (OGRE_FIND_REQUIRED)
+ENDIF (OGRE_FOUND)

Property changes on: cmake/FindOGRE.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: Dynamics/src/CMakeLists.txt
===================================================================
--- Dynamics/src/CMakeLists.txt (revision 0)
+++ Dynamics/src/CMakeLists.txt (revision 0)
@@ -0,0 +1,6 @@
+AUX_SOURCE_DIRECTORY(. src0)
+AUX_SOURCE_DIRECTORY(Constraints src1)
+AUX_SOURCE_DIRECTORY(Prefab src2)
+ADD_LIBRARY(OgreBulletDyn ${src0} ${src1} ${src2})
+
+INSTALL(TARGETS OgreBulletDyn ARCHIVE DESTINATION lib)

Property changes on: Dynamics/src/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Dynamics/CMakeLists.txt
===================================================================
--- Dynamics/CMakeLists.txt (revision 0)
+++ Dynamics/CMakeLists.txt (revision 0)
@@ -0,0 +1,3 @@
+ADD_SUBDIRECTORY(src)
+
+INSTALL(DIRECTORY "include/." DESTINATION "include/OgreBullet/Dynamics" PATTERN "*.svn" EXCLUDE PATTERN "Makefile*" EXCLUDE)

Property changes on: Dynamics/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Collisions/src/CMakeLists.txt
===================================================================
--- Collisions/src/CMakeLists.txt (revision 0)
+++ Collisions/src/CMakeLists.txt (revision 0)
@@ -0,0 +1,7 @@
+AUX_SOURCE_DIRECTORY(. src0)
+AUX_SOURCE_DIRECTORY(Debug src1)
+AUX_SOURCE_DIRECTORY(Shapes src2)
+AUX_SOURCE_DIRECTORY(Utils src3)
+ADD_LIBRARY(OgreBulletCol ${src0} ${src1} ${src2} ${src3})
+
+INSTALL(TARGETS OgreBulletCol ARCHIVE DESTINATION lib)

Property changes on: Collisions/src/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Collisions/CMakeLists.txt
===================================================================
--- Collisions/CMakeLists.txt (revision 0)
+++ Collisions/CMakeLists.txt (revision 0)
@@ -0,0 +1,3 @@
+ADD_SUBDIRECTORY(src)
+
+INSTALL(DIRECTORY "include/." DESTINATION "include/OgreBullet/Collisions" PATTERN "*.svn" EXCLUDE PATTERN "Makefile*" EXCLUDE)

Property changes on: Collisions/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 0)
+++ CMakeLists.txt (revision 0)
@@ -0,0 +1,36 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+PROJECT(libogrebullet-dev)
+
+SET(CPACK_PACKAGE_CONTACT "Patrick Charrier <patrick.charrier@gmail.com>")
+INCLUDE(CPack)
+
+# options
+OPTION(BUILD_WITH_OPENMP "Build with OpenMP support." OFF)
+
+# use packages
+SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+FIND_PACKAGE(OGRE REQUIRED)
+FIND_PACKAGE(Bullet REQUIRED)
+
+# settings
+SET(CMAKE_BUILD_TYPE Release)
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIR} ${BULLET_INCLUDE_DIRS}
+"${BULLET_INCLUDE_DIRS}/ConvexDecomposition"
+"${CMAKE_CURRENT_SOURCE_DIR}/Collisions/include" "${CMAKE_CURRENT_SOURCE_DIR}/Dynamics/include")
+LINK_DIRECTORIES(${OGRE_LIB_DIR})
+
+# build subdirectories
+ADD_SUBDIRECTORY(Collisions)
+ADD_SUBDIRECTORY(Dynamics)
+
+# OpenMP settings
+if(BUILD_WITH_OPENMP)
+ FIND_PACKAGE(OpenMP REQUIRED)
+ if(OPENMP_FOUND)
+ set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS})
+ endif(OPENMP_FOUND)
+ if(UNIX)
+ #TARGET_LINK_LIBRARIES(BeeGame gomp)
+ #ADD_DEFINITIONS(-D_GLIBCXX_PARALLEL) # CAUSING LINKER ERROR
+ endif(UNIX)
+endif(BUILD_WITH_OPENMP)

Property changes on: CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *


Cheers,
Patrick

CallForSanity

04-03-2011 10:41:18

Another patch. Now with support for the Demos.
Tested on Ubuntu 10.10.

Index: cmake/FindPkgMacros.cmake
===================================================================
--- cmake/FindPkgMacros.cmake (revision 0)
+++ cmake/FindPkgMacros.cmake (revision 0)
@@ -0,0 +1,144 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+##################################################################
+# Provides some common functionality for the FindPackage modules
+##################################################################
+
+# Begin processing of package
+macro(findpkg_begin PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Looking for ${PREFIX}...")
+ endif ()
+endmacro(findpkg_begin)
+
+# Display a status message unless FIND_QUIETLY is set
+macro(pkg_message PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS ${ARGN})
+ endif ()
+endmacro(pkg_message)
+
+# Get environment variable, define it as ENV_$var and make sure backslashes are converted to forward slashes
+macro(getenv_path VAR)
+ set(ENV_${VAR} $ENV{${VAR}})
+ # replace won't work if var is blank
+ if (ENV_${VAR})
+ string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
+ endif ()
+endmacro(getenv_path)
+
+# Construct search paths for includes and libraries from a PREFIX_PATH
+macro(create_search_paths PREFIX)
+ foreach(dir ${${PREFIX}_PREFIX_PATH})
+ set(${PREFIX}_INC_SEARCH_PATH ${${PREFIX}_INC_SEARCH_PATH}
+ ${dir}/include ${dir}/include/${PREFIX} ${dir}/Headers)
+ set(${PREFIX}_LIB_SEARCH_PATH ${${PREFIX}_LIB_SEARCH_PATH}
+ ${dir}/lib ${dir}/lib/${PREFIX} ${dir}/Libs)
+ set(${PREFIX}_BIN_SEARCH_PATH ${${PREFIX}_BIN_SEARCH_PATH}
+ ${dir}/bin)
+ endforeach(dir)
+ set(${PREFIX}_FRAMEWORK_SEARCH_PATH ${${PREFIX}_PREFIX_PATH})
+endmacro(create_search_paths)
+
+# clear cache variables if a certain variable changed
+macro(clear_if_changed TESTVAR)
+ # test against internal check variable
+ if (NOT "${${TESTVAR}}" STREQUAL "${${TESTVAR}_INT_CHECK}")
+ message(STATUS "${TESTVAR} changed.")
+ foreach(var ${ARGN})
+ set(${var} "NOTFOUND" CACHE STRING "x" FORCE)
+ endforeach(var)
+ endif ()
+ set(${TESTVAR}_INT_CHECK ${${TESTVAR}} CACHE INTERNAL "x" FORCE)
+endmacro(clear_if_changed)
+
+# Try to get some hints from pkg-config, if available
+macro(use_pkgconfig PREFIX PKGNAME)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(${PREFIX} ${PKGNAME})
+ endif ()
+endmacro (use_pkgconfig)
+
+# Couple a set of release AND debug libraries (or frameworks)
+macro(make_library_set PREFIX)
+ if (${PREFIX}_FWK)
+ set(${PREFIX} ${${PREFIX}_FWK})
+ elseif (${PREFIX}_REL AND ${PREFIX}_DBG)
+ set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG})
+ elseif (${PREFIX}_REL)
+ set(${PREFIX} ${${PREFIX}_REL})
+ elseif (${PREFIX}_DBG)
+ set(${PREFIX} ${${PREFIX}_DBG})
+ endif ()
+endmacro(make_library_set)
+
+# Generate debug names from given release names
+macro(get_debug_names PREFIX)
+ foreach(i ${${PREFIX}})
+ set(${PREFIX}_DBG ${${PREFIX}_DBG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
+ endforeach(i)
+endmacro(get_debug_names)
+
+# Add the parent dir from DIR to VAR
+macro(add_parent_dir VAR DIR)
+ get_filename_component(${DIR}_TEMP "${${DIR}}/.." ABSOLUTE)
+ set(${VAR} ${${VAR}} ${${DIR}_TEMP})
+endmacro(add_parent_dir)
+
+# Do the final processing for the package find.
+macro(findpkg_finish PREFIX)
+ # skip if already processed during this run
+ if (NOT ${PREFIX}_FOUND)
+ if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
+ set(${PREFIX}_FOUND TRUE)
+ set(${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
+ set(${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Found ${PREFIX}: ${${PREFIX}_LIBRARIES}")
+ endif ()
+ else ()
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Could not locate ${PREFIX}")
+ endif ()
+ if (${PREFIX}_FIND_REQUIRED)
+ message(FATAL_ERROR "Required library ${PREFIX} not found! Install the library (including dev packages) and try again. If the library is already installed, set the missing variables manually in cmake.")
+ endif ()
+ endif ()
+
+ mark_as_advanced(${PREFIX}_INCLUDE_DIR ${PREFIX}_LIBRARY ${PREFIX}_LIBRARY_REL ${PREFIX}_LIBRARY_DBG ${PREFIX}_LIBRARY_FWK)
+ endif ()
+endmacro(findpkg_finish)
+
+
+# Slightly customised framework finder
+MACRO(findpkg_framework fwk)
+ IF(APPLE)
+ SET(${fwk}_FRAMEWORK_PATH
+ ${${fwk}_FRAMEWORK_SEARCH_PATH}
+ ${CMAKE_FRAMEWORK_PATH}
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /System/Library/Frameworks
+ /Network/Library/Frameworks
+ /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks/
+ )
+ FOREACH(dir ${${fwk}_FRAMEWORK_PATH})
+ SET(fwkpath ${dir}/${fwk}.framework)
+ IF(EXISTS ${fwkpath})
+ SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
+ ${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
+ if (NOT ${fwk}_LIBRARY_FWK)
+ SET(${fwk}_LIBRARY_FWK "-framework ${fwk}")
+ endif ()
+ ENDIF(EXISTS ${fwkpath})
+ ENDFOREACH(dir)
+ ENDIF(APPLE)
+ENDMACRO(findpkg_framework)

Property changes on: cmake/FindPkgMacros.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOgreBullet.cmake
===================================================================
--- cmake/FindOgreBullet.cmake (revision 0)
+++ cmake/FindOgreBullet.cmake (revision 0)
@@ -0,0 +1,29 @@
+# - Find OgreBullet
+# Find the native OgreBullet includes and library
+#
+# OGREBULLET_FOUND - True if OgreBullet found.
+# OGREBULLET_INCLUDE_DIR - where to find includes
+# OGREBULLET_LIBRARIES - List of libraries when using OgreBullet.
+#
+
+IF( OGREBULLET_INCLUDE_DIR )
+ # Already in cache, be silent
+ SET( OgreBullet_FIND_QUIETLY TRUE )
+ENDIF( OGREBULLET_INCLUDE_DIR )
+
+FIND_PATH( OGREBULLET_INCLUDE_DIR "Dynamics/OgreBulletDynamicsRigidBody.h"
+ PATH_SUFFIXES "OgreBullet" )
+
+FIND_LIBRARY( OGREBULLET_COL_LIB "OgreBulletCol")
+FIND_LIBRARY( OGREBULLET_DYN_LIB "OgreBulletDyn")
+
+SET(OGREBULLET_INCLUDE_DIRS "${OGREBULLET_INCLUDE_DIR}/Collisions" "${OGREBULLET_INCLUDE_DIR}/Dynamics")
+#SET(OGREBULLET_LIBRARIES ${OGREBULLET_COL_LIB} ${OGREBULLET_DYN_LIB})
+SET(OGREBULLET_LIBRARIES OgreBulletDyn OgreBulletCol)
+
+# handle the QUIETLY and REQUIRED arguments and set OGREBULLET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( "FindPackageHandleStandardArgs" )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( "OgreBullet" DEFAULT_MSG OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
+
+MARK_AS_ADVANCED( OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
\ No newline at end of file

Property changes on: cmake/FindOgreBullet.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOIS.cmake
===================================================================
--- cmake/FindOIS.cmake (revision 0)
+++ cmake/FindOIS.cmake (revision 0)
@@ -0,0 +1,49 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find OIS
+# Once done, this will define
+#
+# OIS_FOUND - system has OIS
+# OIS_INCLUDE_DIRS - the OIS include directories
+# OIS_LIBRARIES - link these to use OIS
+
+include(FindPkgMacros)
+findpkg_begin(OIS)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(OIS_HOME)
+getenv_path(OGRE_CTHUGHA)
+
+# construct search paths
+set(OIS_PREFIX_PATH ${OIS_HOME} ${ENV_OIS_HOME}
+ ${OGRE_CTHUGHA}/Dependencies ${ENV_OGRE_CTHUGHA}/Dependencies)
+create_search_paths(OIS)
+# redo search if prefix path changed
+clear_if_changed(OIS_PREFIX_PATH
+ OIS_LIBRARY_FWK
+ OIS_LIBRARY_REL
+ OIS_LIBRARY_DBG
+ OIS_INCLUDE_DIR
+)
+
+set(OIS_LIBRARY_NAMES OIS)
+get_debug_names(OIS_LIBRARY_NAMES)
+
+use_pkgconfig(OIS_PKGC OIS)
+
+findpkg_framework(OIS)
+
+find_path(OIS_INCLUDE_DIR NAMES OIS.h HINTS ${OIS_INC_SEARCH_PATH} ${OIS_PKGC_INCLUDE_DIRS} PATH_SUFFIXES OIS)
+find_library(OIS_LIBRARY_REL NAMES ${OIS_LIBRARY_NAMES} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(OIS_LIBRARY_DBG NAMES ${OIS_LIBRARY_NAMES_DBG} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+make_library_set(OIS_LIBRARY)
+
+findpkg_finish(OIS)
+add_parent_dir(OIS_INCLUDE_DIRS OIS_INCLUDE_DIR)

Property changes on: cmake/FindOIS.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOGRE.cmake
===================================================================
--- cmake/FindOGRE.cmake (revision 0)
+++ cmake/FindOGRE.cmake (revision 0)
@@ -0,0 +1,59 @@
+# Find OGRE includes and library
+#
+# This module defines
+# OGRE_INCLUDE_DIR
+# OGRE_LIBRARIES, the libraries to link against to use OGRE.
+# OGRE_LIB_DIR, the location of the libraries
+# OGRE_FOUND, If false, do not try to use OGRE
+#
+# Copyright © 2007, Matt Williams
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+IF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+ SET(OGRE_FIND_QUIETLY TRUE) # Already in cache, be silent
+ENDIF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+
+IF (WIN32) #Windows
+ MESSAGE(STATUS "Looking for OGRE")
+ SET(OGRESDK $ENV{OGRE_HOME})
+ #STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}" )
+ SET(OGRE_INCLUDE_DIR ${OGRESDK}/include)
+ SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+ SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
+ELSE (WIN32) #Unix
+ FIND_PACKAGE(PkgConfig)
+ PKG_SEARCH_MODULE(OGRE OGRE)
+ SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIRS})
+ SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
+ SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "")
+ENDIF (WIN32)
+
+#Do some preparation
+#SEPARATE_ARGUMENTS(OGRE_INCLUDE_DIR)
+SEPARATE_ARGUMENTS(OGRE_LIBRARIES)
+
+SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIB_DIR ${OGRE_LIB_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "" FORCE)
+
+MARK_AS_ADVANCED(OGRE_INCLUDE_DIR)
+MARK_AS_ADVANCED(OGRE_LIB_DIR)
+MARK_AS_ADVANCED(OGRE_LIBRARIES)
+
+IF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+ SET(OGRE_FOUND TRUE)
+ENDIF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIRS})
+
+IF (OGRE_FOUND)
+ IF (NOT OGRE_FIND_QUIETLY)
+ MESSAGE(STATUS " libraries : ${OGRE_LIBRARIES} from ${OGRE_LIB_DIR}")
+ MESSAGE(STATUS " includes : ${OGRE_INCLUDE_DIR}")
+ ENDIF (NOT OGRE_FIND_QUIETLY)
+ELSE (OGRE_FOUND)
+ IF (OGRE_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find OGRE")
+ ENDIF (OGRE_FIND_REQUIRED)
+ENDIF (OGRE_FOUND)

Property changes on: cmake/FindOGRE.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/CopyFiles.cmake
===================================================================
--- cmake/CopyFiles.cmake (revision 0)
+++ cmake/CopyFiles.cmake (revision 0)
@@ -0,0 +1,31 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+macro(copy_files TARGET_NAME GLOBPAT DESTINATION)
+ file(GLOB COPY_FILES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${GLOBPAT})
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying files ${GLOBPAT}.")
+
+ foreach(FILENAME ${COPY_FILES})
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}/${FILENAME}")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
+ )
+ endforeach(FILENAME)
+endmacro(copy_files)
+
+macro(copy_directory TARGET_NAME SOURCE DESTINATION)
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}")
+
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying directory ${SOURCE} to ${DESTINATION}.")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC} ${DST})
+endmacro(copy_directory)

Property changes on: cmake/CopyFiles.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOgreBullet.cmake
===================================================================
--- cmake/FindOgreBullet.cmake (revision 0)
+++ cmake/FindOgreBullet.cmake (revision 0)
@@ -0,0 +1,29 @@
+# - Find OgreBullet
+# Find the native OgreBullet includes and library
+#
+# OGREBULLET_FOUND - True if OgreBullet found.
+# OGREBULLET_INCLUDE_DIR - where to find includes
+# OGREBULLET_LIBRARIES - List of libraries when using OgreBullet.
+#
+
+IF( OGREBULLET_INCLUDE_DIR )
+ # Already in cache, be silent
+ SET( OgreBullet_FIND_QUIETLY TRUE )
+ENDIF( OGREBULLET_INCLUDE_DIR )
+
+FIND_PATH( OGREBULLET_INCLUDE_DIR "Dynamics/OgreBulletDynamicsRigidBody.h"
+ PATH_SUFFIXES "OgreBullet" )
+
+FIND_LIBRARY( OGREBULLET_COL_LIB "OgreBulletCol")
+FIND_LIBRARY( OGREBULLET_DYN_LIB "OgreBulletDyn")
+
+SET(OGREBULLET_INCLUDE_DIRS "${OGREBULLET_INCLUDE_DIR}/Collisions" "${OGREBULLET_INCLUDE_DIR}/Dynamics")
+#SET(OGREBULLET_LIBRARIES ${OGREBULLET_COL_LIB} ${OGREBULLET_DYN_LIB})
+SET(OGREBULLET_LIBRARIES OgreBulletDyn OgreBulletCol)
+
+# handle the QUIETLY and REQUIRED arguments and set OGREBULLET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( "FindPackageHandleStandardArgs" )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( "OgreBullet" DEFAULT_MSG OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
+
+MARK_AS_ADVANCED( OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
\ No newline at end of file

Property changes on: cmake/FindOgreBullet.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindPkgMacros.cmake
===================================================================
--- cmake/FindPkgMacros.cmake (revision 0)
+++ cmake/FindPkgMacros.cmake (revision 0)
@@ -0,0 +1,144 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+##################################################################
+# Provides some common functionality for the FindPackage modules
+##################################################################
+
+# Begin processing of package
+macro(findpkg_begin PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Looking for ${PREFIX}...")
+ endif ()
+endmacro(findpkg_begin)
+
+# Display a status message unless FIND_QUIETLY is set
+macro(pkg_message PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS ${ARGN})
+ endif ()
+endmacro(pkg_message)
+
+# Get environment variable, define it as ENV_$var and make sure backslashes are converted to forward slashes
+macro(getenv_path VAR)
+ set(ENV_${VAR} $ENV{${VAR}})
+ # replace won't work if var is blank
+ if (ENV_${VAR})
+ string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
+ endif ()
+endmacro(getenv_path)
+
+# Construct search paths for includes and libraries from a PREFIX_PATH
+macro(create_search_paths PREFIX)
+ foreach(dir ${${PREFIX}_PREFIX_PATH})
+ set(${PREFIX}_INC_SEARCH_PATH ${${PREFIX}_INC_SEARCH_PATH}
+ ${dir}/include ${dir}/include/${PREFIX} ${dir}/Headers)
+ set(${PREFIX}_LIB_SEARCH_PATH ${${PREFIX}_LIB_SEARCH_PATH}
+ ${dir}/lib ${dir}/lib/${PREFIX} ${dir}/Libs)
+ set(${PREFIX}_BIN_SEARCH_PATH ${${PREFIX}_BIN_SEARCH_PATH}
+ ${dir}/bin)
+ endforeach(dir)
+ set(${PREFIX}_FRAMEWORK_SEARCH_PATH ${${PREFIX}_PREFIX_PATH})
+endmacro(create_search_paths)
+
+# clear cache variables if a certain variable changed
+macro(clear_if_changed TESTVAR)
+ # test against internal check variable
+ if (NOT "${${TESTVAR}}" STREQUAL "${${TESTVAR}_INT_CHECK}")
+ message(STATUS "${TESTVAR} changed.")
+ foreach(var ${ARGN})
+ set(${var} "NOTFOUND" CACHE STRING "x" FORCE)
+ endforeach(var)
+ endif ()
+ set(${TESTVAR}_INT_CHECK ${${TESTVAR}} CACHE INTERNAL "x" FORCE)
+endmacro(clear_if_changed)
+
+# Try to get some hints from pkg-config, if available
+macro(use_pkgconfig PREFIX PKGNAME)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(${PREFIX} ${PKGNAME})
+ endif ()
+endmacro (use_pkgconfig)
+
+# Couple a set of release AND debug libraries (or frameworks)
+macro(make_library_set PREFIX)
+ if (${PREFIX}_FWK)
+ set(${PREFIX} ${${PREFIX}_FWK})
+ elseif (${PREFIX}_REL AND ${PREFIX}_DBG)
+ set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG})
+ elseif (${PREFIX}_REL)
+ set(${PREFIX} ${${PREFIX}_REL})
+ elseif (${PREFIX}_DBG)
+ set(${PREFIX} ${${PREFIX}_DBG})
+ endif ()
+endmacro(make_library_set)
+
+# Generate debug names from given release names
+macro(get_debug_names PREFIX)
+ foreach(i ${${PREFIX}})
+ set(${PREFIX}_DBG ${${PREFIX}_DBG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
+ endforeach(i)
+endmacro(get_debug_names)
+
+# Add the parent dir from DIR to VAR
+macro(add_parent_dir VAR DIR)
+ get_filename_component(${DIR}_TEMP "${${DIR}}/.." ABSOLUTE)
+ set(${VAR} ${${VAR}} ${${DIR}_TEMP})
+endmacro(add_parent_dir)
+
+# Do the final processing for the package find.
+macro(findpkg_finish PREFIX)
+ # skip if already processed during this run
+ if (NOT ${PREFIX}_FOUND)
+ if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
+ set(${PREFIX}_FOUND TRUE)
+ set(${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
+ set(${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Found ${PREFIX}: ${${PREFIX}_LIBRARIES}")
+ endif ()
+ else ()
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Could not locate ${PREFIX}")
+ endif ()
+ if (${PREFIX}_FIND_REQUIRED)
+ message(FATAL_ERROR "Required library ${PREFIX} not found! Install the library (including dev packages) and try again. If the library is already installed, set the missing variables manually in cmake.")
+ endif ()
+ endif ()
+
+ mark_as_advanced(${PREFIX}_INCLUDE_DIR ${PREFIX}_LIBRARY ${PREFIX}_LIBRARY_REL ${PREFIX}_LIBRARY_DBG ${PREFIX}_LIBRARY_FWK)
+ endif ()
+endmacro(findpkg_finish)
+
+
+# Slightly customised framework finder
+MACRO(findpkg_framework fwk)
+ IF(APPLE)
+ SET(${fwk}_FRAMEWORK_PATH
+ ${${fwk}_FRAMEWORK_SEARCH_PATH}
+ ${CMAKE_FRAMEWORK_PATH}
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /System/Library/Frameworks
+ /Network/Library/Frameworks
+ /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks/
+ )
+ FOREACH(dir ${${fwk}_FRAMEWORK_PATH})
+ SET(fwkpath ${dir}/${fwk}.framework)
+ IF(EXISTS ${fwkpath})
+ SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
+ ${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
+ if (NOT ${fwk}_LIBRARY_FWK)
+ SET(${fwk}_LIBRARY_FWK "-framework ${fwk}")
+ endif ()
+ ENDIF(EXISTS ${fwkpath})
+ ENDFOREACH(dir)
+ ENDIF(APPLE)
+ENDMACRO(findpkg_framework)

Property changes on: cmake/FindPkgMacros.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOIS.cmake
===================================================================
--- cmake/FindOIS.cmake (revision 0)
+++ cmake/FindOIS.cmake (revision 0)
@@ -0,0 +1,49 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find OIS
+# Once done, this will define
+#
+# OIS_FOUND - system has OIS
+# OIS_INCLUDE_DIRS - the OIS include directories
+# OIS_LIBRARIES - link these to use OIS
+
+include(FindPkgMacros)
+findpkg_begin(OIS)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(OIS_HOME)
+getenv_path(OGRE_CTHUGHA)
+
+# construct search paths
+set(OIS_PREFIX_PATH ${OIS_HOME} ${ENV_OIS_HOME}
+ ${OGRE_CTHUGHA}/Dependencies ${ENV_OGRE_CTHUGHA}/Dependencies)
+create_search_paths(OIS)
+# redo search if prefix path changed
+clear_if_changed(OIS_PREFIX_PATH
+ OIS_LIBRARY_FWK
+ OIS_LIBRARY_REL
+ OIS_LIBRARY_DBG
+ OIS_INCLUDE_DIR
+)
+
+set(OIS_LIBRARY_NAMES OIS)
+get_debug_names(OIS_LIBRARY_NAMES)
+
+use_pkgconfig(OIS_PKGC OIS)
+
+findpkg_framework(OIS)
+
+find_path(OIS_INCLUDE_DIR NAMES OIS.h HINTS ${OIS_INC_SEARCH_PATH} ${OIS_PKGC_INCLUDE_DIRS} PATH_SUFFIXES OIS)
+find_library(OIS_LIBRARY_REL NAMES ${OIS_LIBRARY_NAMES} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(OIS_LIBRARY_DBG NAMES ${OIS_LIBRARY_NAMES_DBG} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+make_library_set(OIS_LIBRARY)
+
+findpkg_finish(OIS)
+add_parent_dir(OIS_INCLUDE_DIRS OIS_INCLUDE_DIR)

Property changes on: cmake/FindOIS.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOGRE.cmake
===================================================================
--- cmake/FindOGRE.cmake (revision 0)
+++ cmake/FindOGRE.cmake (revision 0)
@@ -0,0 +1,59 @@
+# Find OGRE includes and library
+#
+# This module defines
+# OGRE_INCLUDE_DIR
+# OGRE_LIBRARIES, the libraries to link against to use OGRE.
+# OGRE_LIB_DIR, the location of the libraries
+# OGRE_FOUND, If false, do not try to use OGRE
+#
+# Copyright © 2007, Matt Williams
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+IF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+ SET(OGRE_FIND_QUIETLY TRUE) # Already in cache, be silent
+ENDIF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+
+IF (WIN32) #Windows
+ MESSAGE(STATUS "Looking for OGRE")
+ SET(OGRESDK $ENV{OGRE_HOME})
+ #STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}" )
+ SET(OGRE_INCLUDE_DIR ${OGRESDK}/include)
+ SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+ SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
+ELSE (WIN32) #Unix
+ FIND_PACKAGE(PkgConfig)
+ PKG_SEARCH_MODULE(OGRE OGRE)
+ SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIRS})
+ SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
+ SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "")
+ENDIF (WIN32)
+
+#Do some preparation
+#SEPARATE_ARGUMENTS(OGRE_INCLUDE_DIR)
+SEPARATE_ARGUMENTS(OGRE_LIBRARIES)
+
+SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIB_DIR ${OGRE_LIB_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "" FORCE)
+
+MARK_AS_ADVANCED(OGRE_INCLUDE_DIR)
+MARK_AS_ADVANCED(OGRE_LIB_DIR)
+MARK_AS_ADVANCED(OGRE_LIBRARIES)
+
+IF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+ SET(OGRE_FOUND TRUE)
+ENDIF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIRS})
+
+IF (OGRE_FOUND)
+ IF (NOT OGRE_FIND_QUIETLY)
+ MESSAGE(STATUS " libraries : ${OGRE_LIBRARIES} from ${OGRE_LIB_DIR}")
+ MESSAGE(STATUS " includes : ${OGRE_INCLUDE_DIR}")
+ ENDIF (NOT OGRE_FIND_QUIETLY)
+ELSE (OGRE_FOUND)
+ IF (OGRE_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find OGRE")
+ ENDIF (OGRE_FIND_REQUIRED)
+ENDIF (OGRE_FOUND)

Property changes on: cmake/FindOGRE.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/CopyFiles.cmake
===================================================================
--- cmake/CopyFiles.cmake (revision 0)
+++ cmake/CopyFiles.cmake (revision 0)
@@ -0,0 +1,31 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+macro(copy_files TARGET_NAME GLOBPAT DESTINATION)
+ file(GLOB COPY_FILES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${GLOBPAT})
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying files ${GLOBPAT}.")
+
+ foreach(FILENAME ${COPY_FILES})
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}/${FILENAME}")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
+ )
+ endforeach(FILENAME)
+endmacro(copy_files)
+
+macro(copy_directory TARGET_NAME SOURCE DESTINATION)
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}")
+
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying directory ${SOURCE} to ${DESTINATION}.")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC} ${DST})
+endmacro(copy_directory)

Property changes on: cmake/CopyFiles.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: Dynamics/src/CMakeLists.txt
===================================================================
--- Dynamics/src/CMakeLists.txt (revision 0)
+++ Dynamics/src/CMakeLists.txt (revision 0)
@@ -0,0 +1,6 @@
+AUX_SOURCE_DIRECTORY(. src0)
+AUX_SOURCE_DIRECTORY(Constraints src1)
+AUX_SOURCE_DIRECTORY(Prefab src2)
+ADD_LIBRARY(OgreBulletDyn ${src0} ${src1} ${src2})
+
+INSTALL(TARGETS OgreBulletDyn ARCHIVE DESTINATION lib)

Property changes on: Dynamics/src/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Dynamics/CMakeLists.txt
===================================================================
--- Dynamics/CMakeLists.txt (revision 0)
+++ Dynamics/CMakeLists.txt (revision 0)
@@ -0,0 +1,3 @@
+ADD_SUBDIRECTORY(src)
+
+INSTALL(DIRECTORY "include/." DESTINATION "include/OgreBullet/Dynamics" PATTERN "*.svn" EXCLUDE PATTERN "Makefile*" EXCLUDE)

Property changes on: Dynamics/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Demos/resources.cfg
===================================================================
--- Demos/resources.cfg (revision 2979)
+++ Demos/resources.cfg (working copy)
@@ -1,22 +1,22 @@
# Resource locations to be added to the 'boostrap' path

# This also contains the minimum you need to use the Ogre example framework

[Bootstrap]

-Zip=Media\packs/OgreCore.zip

+Zip=Media/packs/OgreCore.zip



# Resource locations to be added to the default path

[General]

-FileSystem=Media\

-FileSystem=Media\fonts

-FileSystem=Media\materials/programs

-FileSystem=Media\materials/scripts

-FileSystem=Media\materials/textures

-FileSystem=Media\models

-FileSystem=Media\overlays

-FileSystem=Media\particle

-FileSystem=Media\gui

+FileSystem=Media/

+FileSystem=Media/fonts

+FileSystem=Media/materials/programs

+FileSystem=Media/materials/scripts

+FileSystem=Media/materials/textures

+FileSystem=Media/models

+FileSystem=Media/overlays

+FileSystem=Media/particle

+FileSystem=Media/gui



[Bullet]

-FileSystem=Media\OgreBullet

-FileSystem=Media\materials

-FileSystem=Media\textures

+FileSystem=Media/OgreBullet

+FileSystem=Media/materials

+FileSystem=Media/textures



Index: Demos/Plugins_d.cfg.in
===================================================================
--- Demos/Plugins_d.cfg.in (revision 0)
+++ Demos/Plugins_d.cfg.in (revision 0)
@@ -0,0 +1,13 @@
+# Defines plugins to load

+

+# Define plugin folder

+PluginFolder=${OGRE_LIB_DIR}/OGRE

+

+# Define plugins

+#Plugin=RenderSystem_Direct3D9_d

+Plugin=RenderSystem_GL_d

+

+Plugin=Plugin_ParticleFX_d

+Plugin=Plugin_BSPSceneManager_d

+Plugin=Plugin_OctreeSceneManager_d

+Plugin=Plugin_CgProgramManager_d

Index: Demos/Plugins.cfg.in
===================================================================
--- Demos/Plugins.cfg.in (revision 0)
+++ Demos/Plugins.cfg.in (revision 0)
@@ -0,0 +1,13 @@
+# Defines plugins to load

+

+# Define plugin folder

+PluginFolder=${OGRE_LIB_DIR}/OGRE

+

+# Define plugins

+#Plugin=RenderSystem_Direct3D9

+Plugin=RenderSystem_GL

+

+Plugin=Plugin_ParticleFX

+Plugin=Plugin_BSPSceneManager

+Plugin=Plugin_OctreeSceneManager

+Plugin=Plugin_CgProgramManager

Index: Demos/CMakeLists.txt
===================================================================
--- Demos/CMakeLists.txt (revision 0)
+++ Demos/CMakeLists.txt (revision 0)
@@ -0,0 +1,20 @@
+INCLUDE(../cmake/CopyFiles.cmake)
+FIND_PACKAGE(OIS REQUIRED)
+
+AUX_SOURCE_DIRECTORY(src src0)
+AUX_SOURCE_DIRECTORY("Dynamics_Demos/src" src1)
+
+INCLUDE_DIRECTORIES(${OIS_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}/Dynamics_Demos/include")
+ADD_EXECUTABLE(MainDemo ${src0} ${src1})
+
+TARGET_LINK_LIBRARIES(MainDemo ${OGRE_LIBRARIES} ${OIS_LIBRARIES} ${BULLET_LIBRARIES}
+ ${BULLET_CONVEXDECOMPOSITION_LIB} OgreBulletDyn OgreBulletCol)
+
+# config files
+CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Plugins.cfg.in" "${CMAKE_CURRENT_BINARY_DIR}/plugins.cfg")
+CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Plugins_d.cfg.in" "${CMAKE_CURRENT_BINARY_DIR}/plugins_d.cfg")
+CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/resources.cfg" "${CMAKE_CURRENT_BINARY_DIR}/resources.cfg")
+
+# resources
+copy_directory(copy Media Media)

Property changes on: Demos/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Collisions/src/CMakeLists.txt
===================================================================
--- Collisions/src/CMakeLists.txt (revision 0)
+++ Collisions/src/CMakeLists.txt (revision 0)
@@ -0,0 +1,7 @@
+AUX_SOURCE_DIRECTORY(. src0)
+AUX_SOURCE_DIRECTORY(Debug src1)
+AUX_SOURCE_DIRECTORY(Shapes src2)
+AUX_SOURCE_DIRECTORY(Utils src3)
+ADD_LIBRARY(OgreBulletCol ${src0} ${src1} ${src2} ${src3})
+
+INSTALL(TARGETS OgreBulletCol ARCHIVE DESTINATION lib)

Property changes on: Collisions/src/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Collisions/CMakeLists.txt
===================================================================
--- Collisions/CMakeLists.txt (revision 0)
+++ Collisions/CMakeLists.txt (revision 0)
@@ -0,0 +1,3 @@
+ADD_SUBDIRECTORY(src)
+
+INSTALL(DIRECTORY "include/." DESTINATION "include/OgreBullet/Collisions" PATTERN "*.svn" EXCLUDE PATTERN "Makefile*" EXCLUDE)

Property changes on: Collisions/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 0)
+++ CMakeLists.txt (revision 0)
@@ -0,0 +1,40 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+PROJECT(libogrebullet-dev)
+
+SET(CPACK_PACKAGE_CONTACT "Patrick Charrier <patrick.charrier@gmail.com>")
+INCLUDE(CPack)
+
+# options
+OPTION(BUILD_WITH_OPENMP "Build with OpenMP support." OFF)
+
+# use packages
+SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+FIND_PACKAGE(OGRE REQUIRED)
+FIND_PACKAGE(Bullet REQUIRED)
+
+# standard bullet find-script does not locate ConvexDecomposition lib
+FIND_LIBRARY(BULLET_CONVEXDECOMPOSITION_LIB ConvexDecomposition)
+
+# settings
+SET(CMAKE_BUILD_TYPE Release)
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIR} ${BULLET_INCLUDE_DIRS}
+"${BULLET_INCLUDE_DIRS}/ConvexDecomposition"
+"${CMAKE_CURRENT_SOURCE_DIR}/Collisions/include" "${CMAKE_CURRENT_SOURCE_DIR}/Dynamics/include")
+LINK_DIRECTORIES(${OGRE_LIB_DIR})
+
+# build subdirectories
+ADD_SUBDIRECTORY(Collisions)
+ADD_SUBDIRECTORY(Dynamics)
+ADD_SUBDIRECTORY(Demos)
+
+# OpenMP settings
+if(BUILD_WITH_OPENMP)
+ FIND_PACKAGE(OpenMP REQUIRED)
+ if(OPENMP_FOUND)
+ set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS})
+ endif(OPENMP_FOUND)
+ if(UNIX)
+ #TARGET_LINK_LIBRARIES(BeeGame gomp)
+ #ADD_DEFINITIONS(-D_GLIBCXX_PARALLEL) # CAUSING LINKER ERROR
+ endif(UNIX)
+endif(BUILD_WITH_OPENMP)

Property changes on: CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

CallForSanity

08-03-2011 20:43:03

New CMake scripts.
Works with the Demos.
Tested on Ubuntu 10.10 and Win 7 x86.

Index: cmake/FindPkgMacros.cmake
===================================================================
--- cmake/FindPkgMacros.cmake (revision 0)
+++ cmake/FindPkgMacros.cmake (revision 0)
@@ -0,0 +1,144 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+##################################################################
+# Provides some common functionality for the FindPackage modules
+##################################################################
+
+# Begin processing of package
+macro(findpkg_begin PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Looking for ${PREFIX}...")
+ endif ()
+endmacro(findpkg_begin)
+
+# Display a status message unless FIND_QUIETLY is set
+macro(pkg_message PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS ${ARGN})
+ endif ()
+endmacro(pkg_message)
+
+# Get environment variable, define it as ENV_$var and make sure backslashes are converted to forward slashes
+macro(getenv_path VAR)
+ set(ENV_${VAR} $ENV{${VAR}})
+ # replace won't work if var is blank
+ if (ENV_${VAR})
+ string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
+ endif ()
+endmacro(getenv_path)
+
+# Construct search paths for includes and libraries from a PREFIX_PATH
+macro(create_search_paths PREFIX)
+ foreach(dir ${${PREFIX}_PREFIX_PATH})
+ set(${PREFIX}_INC_SEARCH_PATH ${${PREFIX}_INC_SEARCH_PATH}
+ ${dir}/include ${dir}/include/${PREFIX} ${dir}/Headers)
+ set(${PREFIX}_LIB_SEARCH_PATH ${${PREFIX}_LIB_SEARCH_PATH}
+ ${dir}/lib ${dir}/lib/${PREFIX} ${dir}/Libs)
+ set(${PREFIX}_BIN_SEARCH_PATH ${${PREFIX}_BIN_SEARCH_PATH}
+ ${dir}/bin)
+ endforeach(dir)
+ set(${PREFIX}_FRAMEWORK_SEARCH_PATH ${${PREFIX}_PREFIX_PATH})
+endmacro(create_search_paths)
+
+# clear cache variables if a certain variable changed
+macro(clear_if_changed TESTVAR)
+ # test against internal check variable
+ if (NOT "${${TESTVAR}}" STREQUAL "${${TESTVAR}_INT_CHECK}")
+ message(STATUS "${TESTVAR} changed.")
+ foreach(var ${ARGN})
+ set(${var} "NOTFOUND" CACHE STRING "x" FORCE)
+ endforeach(var)
+ endif ()
+ set(${TESTVAR}_INT_CHECK ${${TESTVAR}} CACHE INTERNAL "x" FORCE)
+endmacro(clear_if_changed)
+
+# Try to get some hints from pkg-config, if available
+macro(use_pkgconfig PREFIX PKGNAME)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(${PREFIX} ${PKGNAME})
+ endif ()
+endmacro (use_pkgconfig)
+
+# Couple a set of release AND debug libraries (or frameworks)
+macro(make_library_set PREFIX)
+ if (${PREFIX}_FWK)
+ set(${PREFIX} ${${PREFIX}_FWK})
+ elseif (${PREFIX}_REL AND ${PREFIX}_DBG)
+ set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG})
+ elseif (${PREFIX}_REL)
+ set(${PREFIX} ${${PREFIX}_REL})
+ elseif (${PREFIX}_DBG)
+ set(${PREFIX} ${${PREFIX}_DBG})
+ endif ()
+endmacro(make_library_set)
+
+# Generate debug names from given release names
+macro(get_debug_names PREFIX)
+ foreach(i ${${PREFIX}})
+ set(${PREFIX}_DBG ${${PREFIX}_DBG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
+ endforeach(i)
+endmacro(get_debug_names)
+
+# Add the parent dir from DIR to VAR
+macro(add_parent_dir VAR DIR)
+ get_filename_component(${DIR}_TEMP "${${DIR}}/.." ABSOLUTE)
+ set(${VAR} ${${VAR}} ${${DIR}_TEMP})
+endmacro(add_parent_dir)
+
+# Do the final processing for the package find.
+macro(findpkg_finish PREFIX)
+ # skip if already processed during this run
+ if (NOT ${PREFIX}_FOUND)
+ if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
+ set(${PREFIX}_FOUND TRUE)
+ set(${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
+ set(${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Found ${PREFIX}: ${${PREFIX}_LIBRARIES}")
+ endif ()
+ else ()
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Could not locate ${PREFIX}")
+ endif ()
+ if (${PREFIX}_FIND_REQUIRED)
+ message(FATAL_ERROR "Required library ${PREFIX} not found! Install the library (including dev packages) and try again. If the library is already installed, set the missing variables manually in cmake.")
+ endif ()
+ endif ()
+
+ mark_as_advanced(${PREFIX}_INCLUDE_DIR ${PREFIX}_LIBRARY ${PREFIX}_LIBRARY_REL ${PREFIX}_LIBRARY_DBG ${PREFIX}_LIBRARY_FWK)
+ endif ()
+endmacro(findpkg_finish)
+
+
+# Slightly customised framework finder
+MACRO(findpkg_framework fwk)
+ IF(APPLE)
+ SET(${fwk}_FRAMEWORK_PATH
+ ${${fwk}_FRAMEWORK_SEARCH_PATH}
+ ${CMAKE_FRAMEWORK_PATH}
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /System/Library/Frameworks
+ /Network/Library/Frameworks
+ /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks/
+ )
+ FOREACH(dir ${${fwk}_FRAMEWORK_PATH})
+ SET(fwkpath ${dir}/${fwk}.framework)
+ IF(EXISTS ${fwkpath})
+ SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
+ ${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
+ if (NOT ${fwk}_LIBRARY_FWK)
+ SET(${fwk}_LIBRARY_FWK "-framework ${fwk}")
+ endif ()
+ ENDIF(EXISTS ${fwkpath})
+ ENDFOREACH(dir)
+ ENDIF(APPLE)
+ENDMACRO(findpkg_framework)

Property changes on: cmake/FindPkgMacros.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOgreBullet.cmake
===================================================================
--- cmake/FindOgreBullet.cmake (revision 0)
+++ cmake/FindOgreBullet.cmake (revision 0)
@@ -0,0 +1,29 @@
+# - Find OgreBullet
+# Find the native OgreBullet includes and library
+#
+# OGREBULLET_FOUND - True if OgreBullet found.
+# OGREBULLET_INCLUDE_DIR - where to find includes
+# OGREBULLET_LIBRARIES - List of libraries when using OgreBullet.
+#
+
+IF( OGREBULLET_INCLUDE_DIR )
+ # Already in cache, be silent
+ SET( OgreBullet_FIND_QUIETLY TRUE )
+ENDIF( OGREBULLET_INCLUDE_DIR )
+
+FIND_PATH( OGREBULLET_INCLUDE_DIR "Dynamics/OgreBulletDynamicsRigidBody.h"
+ PATH_SUFFIXES "OgreBullet" )
+
+FIND_LIBRARY( OGREBULLET_COL_LIB "OgreBulletCol")
+FIND_LIBRARY( OGREBULLET_DYN_LIB "OgreBulletDyn")
+
+SET(OGREBULLET_INCLUDE_DIRS "${OGREBULLET_INCLUDE_DIR}/Collisions" "${OGREBULLET_INCLUDE_DIR}/Dynamics")
+#SET(OGREBULLET_LIBRARIES ${OGREBULLET_COL_LIB} ${OGREBULLET_DYN_LIB})
+SET(OGREBULLET_LIBRARIES OgreBulletDyn OgreBulletCol)
+
+# handle the QUIETLY and REQUIRED arguments and set OGREBULLET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( "FindPackageHandleStandardArgs" )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( "OgreBullet" DEFAULT_MSG OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
+
+MARK_AS_ADVANCED( OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
\ No newline at end of file

Property changes on: cmake/FindOgreBullet.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOIS.cmake
===================================================================
--- cmake/FindOIS.cmake (revision 0)
+++ cmake/FindOIS.cmake (revision 0)
@@ -0,0 +1,49 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find OIS
+# Once done, this will define
+#
+# OIS_FOUND - system has OIS
+# OIS_INCLUDE_DIRS - the OIS include directories
+# OIS_LIBRARIES - link these to use OIS
+
+include(FindPkgMacros)
+findpkg_begin(OIS)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(OIS_HOME)
+getenv_path(OGRE_CTHUGHA)
+
+# construct search paths
+set(OIS_PREFIX_PATH ${OIS_HOME} ${ENV_OIS_HOME}
+ ${OGRE_CTHUGHA}/Dependencies ${ENV_OGRE_CTHUGHA}/Dependencies)
+create_search_paths(OIS)
+# redo search if prefix path changed
+clear_if_changed(OIS_PREFIX_PATH
+ OIS_LIBRARY_FWK
+ OIS_LIBRARY_REL
+ OIS_LIBRARY_DBG
+ OIS_INCLUDE_DIR
+)
+
+set(OIS_LIBRARY_NAMES OIS)
+get_debug_names(OIS_LIBRARY_NAMES)
+
+use_pkgconfig(OIS_PKGC OIS)
+
+findpkg_framework(OIS)
+
+find_path(OIS_INCLUDE_DIR NAMES OIS.h HINTS ${OIS_INC_SEARCH_PATH} ${OIS_PKGC_INCLUDE_DIRS} PATH_SUFFIXES OIS)
+find_library(OIS_LIBRARY_REL NAMES ${OIS_LIBRARY_NAMES} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(OIS_LIBRARY_DBG NAMES ${OIS_LIBRARY_NAMES_DBG} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+make_library_set(OIS_LIBRARY)
+
+findpkg_finish(OIS)
+add_parent_dir(OIS_INCLUDE_DIRS OIS_INCLUDE_DIR)

Property changes on: cmake/FindOIS.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOGRE.cmake
===================================================================
--- cmake/FindOGRE.cmake (revision 0)
+++ cmake/FindOGRE.cmake (revision 0)
@@ -0,0 +1,59 @@
+# Find OGRE includes and library
+#
+# This module defines
+# OGRE_INCLUDE_DIR
+# OGRE_LIBRARIES, the libraries to link against to use OGRE.
+# OGRE_LIB_DIR, the location of the libraries
+# OGRE_FOUND, If false, do not try to use OGRE
+#
+# Copyright © 2007, Matt Williams
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+IF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+ SET(OGRE_FIND_QUIETLY TRUE) # Already in cache, be silent
+ENDIF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+
+IF (WIN32) #Windows
+ MESSAGE(STATUS "Looking for OGRE")
+ SET(OGRESDK $ENV{OGRE_HOME})
+ #STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}" )
+ SET(OGRE_INCLUDE_DIR ${OGRESDK}/include)
+ SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+ SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
+ELSE (WIN32) #Unix
+ FIND_PACKAGE(PkgConfig)
+ PKG_SEARCH_MODULE(OGRE OGRE)
+ SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIRS})
+ SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
+ SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "")
+ENDIF (WIN32)
+
+#Do some preparation
+#SEPARATE_ARGUMENTS(OGRE_INCLUDE_DIR)
+SEPARATE_ARGUMENTS(OGRE_LIBRARIES)
+
+SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIB_DIR ${OGRE_LIB_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "" FORCE)
+
+MARK_AS_ADVANCED(OGRE_INCLUDE_DIR)
+MARK_AS_ADVANCED(OGRE_LIB_DIR)
+MARK_AS_ADVANCED(OGRE_LIBRARIES)
+
+IF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+ SET(OGRE_FOUND TRUE)
+ENDIF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIRS})
+
+IF (OGRE_FOUND)
+ IF (NOT OGRE_FIND_QUIETLY)
+ MESSAGE(STATUS " libraries : ${OGRE_LIBRARIES} from ${OGRE_LIB_DIR}")
+ MESSAGE(STATUS " includes : ${OGRE_INCLUDE_DIR}")
+ ENDIF (NOT OGRE_FIND_QUIETLY)
+ELSE (OGRE_FOUND)
+ IF (OGRE_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find OGRE")
+ ENDIF (OGRE_FIND_REQUIRED)
+ENDIF (OGRE_FOUND)

Property changes on: cmake/FindOGRE.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/CopyFiles.cmake
===================================================================
--- cmake/CopyFiles.cmake (revision 0)
+++ cmake/CopyFiles.cmake (revision 0)
@@ -0,0 +1,31 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+macro(copy_files TARGET_NAME GLOBPAT DESTINATION)
+ file(GLOB COPY_FILES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${GLOBPAT})
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying files ${GLOBPAT}.")
+
+ foreach(FILENAME ${COPY_FILES})
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}/${FILENAME}")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
+ )
+ endforeach(FILENAME)
+endmacro(copy_files)
+
+macro(copy_directory TARGET_NAME SOURCE DESTINATION)
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}")
+
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying directory ${SOURCE} to ${DESTINATION}.")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC} ${DST})
+endmacro(copy_directory)

Property changes on: cmake/CopyFiles.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOgreBullet.cmake
===================================================================
--- cmake/FindOgreBullet.cmake (revision 0)
+++ cmake/FindOgreBullet.cmake (revision 0)
@@ -0,0 +1,29 @@
+# - Find OgreBullet
+# Find the native OgreBullet includes and library
+#
+# OGREBULLET_FOUND - True if OgreBullet found.
+# OGREBULLET_INCLUDE_DIR - where to find includes
+# OGREBULLET_LIBRARIES - List of libraries when using OgreBullet.
+#
+
+IF( OGREBULLET_INCLUDE_DIR )
+ # Already in cache, be silent
+ SET( OgreBullet_FIND_QUIETLY TRUE )
+ENDIF( OGREBULLET_INCLUDE_DIR )
+
+FIND_PATH( OGREBULLET_INCLUDE_DIR "Dynamics/OgreBulletDynamicsRigidBody.h"
+ PATH_SUFFIXES "OgreBullet" )
+
+FIND_LIBRARY( OGREBULLET_COL_LIB "OgreBulletCol")
+FIND_LIBRARY( OGREBULLET_DYN_LIB "OgreBulletDyn")
+
+SET(OGREBULLET_INCLUDE_DIRS "${OGREBULLET_INCLUDE_DIR}/Collisions" "${OGREBULLET_INCLUDE_DIR}/Dynamics")
+#SET(OGREBULLET_LIBRARIES ${OGREBULLET_COL_LIB} ${OGREBULLET_DYN_LIB})
+SET(OGREBULLET_LIBRARIES OgreBulletDyn OgreBulletCol)
+
+# handle the QUIETLY and REQUIRED arguments and set OGREBULLET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE( "FindPackageHandleStandardArgs" )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( "OgreBullet" DEFAULT_MSG OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
+
+MARK_AS_ADVANCED( OGREBULLET_INCLUDE_DIR OGREBULLET_LIBRARIES )
\ No newline at end of file

Property changes on: cmake/FindOgreBullet.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindPkgMacros.cmake
===================================================================
--- cmake/FindPkgMacros.cmake (revision 0)
+++ cmake/FindPkgMacros.cmake (revision 0)
@@ -0,0 +1,144 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+##################################################################
+# Provides some common functionality for the FindPackage modules
+##################################################################
+
+# Begin processing of package
+macro(findpkg_begin PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Looking for ${PREFIX}...")
+ endif ()
+endmacro(findpkg_begin)
+
+# Display a status message unless FIND_QUIETLY is set
+macro(pkg_message PREFIX)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS ${ARGN})
+ endif ()
+endmacro(pkg_message)
+
+# Get environment variable, define it as ENV_$var and make sure backslashes are converted to forward slashes
+macro(getenv_path VAR)
+ set(ENV_${VAR} $ENV{${VAR}})
+ # replace won't work if var is blank
+ if (ENV_${VAR})
+ string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
+ endif ()
+endmacro(getenv_path)
+
+# Construct search paths for includes and libraries from a PREFIX_PATH
+macro(create_search_paths PREFIX)
+ foreach(dir ${${PREFIX}_PREFIX_PATH})
+ set(${PREFIX}_INC_SEARCH_PATH ${${PREFIX}_INC_SEARCH_PATH}
+ ${dir}/include ${dir}/include/${PREFIX} ${dir}/Headers)
+ set(${PREFIX}_LIB_SEARCH_PATH ${${PREFIX}_LIB_SEARCH_PATH}
+ ${dir}/lib ${dir}/lib/${PREFIX} ${dir}/Libs)
+ set(${PREFIX}_BIN_SEARCH_PATH ${${PREFIX}_BIN_SEARCH_PATH}
+ ${dir}/bin)
+ endforeach(dir)
+ set(${PREFIX}_FRAMEWORK_SEARCH_PATH ${${PREFIX}_PREFIX_PATH})
+endmacro(create_search_paths)
+
+# clear cache variables if a certain variable changed
+macro(clear_if_changed TESTVAR)
+ # test against internal check variable
+ if (NOT "${${TESTVAR}}" STREQUAL "${${TESTVAR}_INT_CHECK}")
+ message(STATUS "${TESTVAR} changed.")
+ foreach(var ${ARGN})
+ set(${var} "NOTFOUND" CACHE STRING "x" FORCE)
+ endforeach(var)
+ endif ()
+ set(${TESTVAR}_INT_CHECK ${${TESTVAR}} CACHE INTERNAL "x" FORCE)
+endmacro(clear_if_changed)
+
+# Try to get some hints from pkg-config, if available
+macro(use_pkgconfig PREFIX PKGNAME)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(${PREFIX} ${PKGNAME})
+ endif ()
+endmacro (use_pkgconfig)
+
+# Couple a set of release AND debug libraries (or frameworks)
+macro(make_library_set PREFIX)
+ if (${PREFIX}_FWK)
+ set(${PREFIX} ${${PREFIX}_FWK})
+ elseif (${PREFIX}_REL AND ${PREFIX}_DBG)
+ set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG})
+ elseif (${PREFIX}_REL)
+ set(${PREFIX} ${${PREFIX}_REL})
+ elseif (${PREFIX}_DBG)
+ set(${PREFIX} ${${PREFIX}_DBG})
+ endif ()
+endmacro(make_library_set)
+
+# Generate debug names from given release names
+macro(get_debug_names PREFIX)
+ foreach(i ${${PREFIX}})
+ set(${PREFIX}_DBG ${${PREFIX}_DBG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
+ endforeach(i)
+endmacro(get_debug_names)
+
+# Add the parent dir from DIR to VAR
+macro(add_parent_dir VAR DIR)
+ get_filename_component(${DIR}_TEMP "${${DIR}}/.." ABSOLUTE)
+ set(${VAR} ${${VAR}} ${${DIR}_TEMP})
+endmacro(add_parent_dir)
+
+# Do the final processing for the package find.
+macro(findpkg_finish PREFIX)
+ # skip if already processed during this run
+ if (NOT ${PREFIX}_FOUND)
+ if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
+ set(${PREFIX}_FOUND TRUE)
+ set(${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
+ set(${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Found ${PREFIX}: ${${PREFIX}_LIBRARIES}")
+ endif ()
+ else ()
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Could not locate ${PREFIX}")
+ endif ()
+ if (${PREFIX}_FIND_REQUIRED)
+ message(FATAL_ERROR "Required library ${PREFIX} not found! Install the library (including dev packages) and try again. If the library is already installed, set the missing variables manually in cmake.")
+ endif ()
+ endif ()
+
+ mark_as_advanced(${PREFIX}_INCLUDE_DIR ${PREFIX}_LIBRARY ${PREFIX}_LIBRARY_REL ${PREFIX}_LIBRARY_DBG ${PREFIX}_LIBRARY_FWK)
+ endif ()
+endmacro(findpkg_finish)
+
+
+# Slightly customised framework finder
+MACRO(findpkg_framework fwk)
+ IF(APPLE)
+ SET(${fwk}_FRAMEWORK_PATH
+ ${${fwk}_FRAMEWORK_SEARCH_PATH}
+ ${CMAKE_FRAMEWORK_PATH}
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /System/Library/Frameworks
+ /Network/Library/Frameworks
+ /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks/
+ )
+ FOREACH(dir ${${fwk}_FRAMEWORK_PATH})
+ SET(fwkpath ${dir}/${fwk}.framework)
+ IF(EXISTS ${fwkpath})
+ SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
+ ${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
+ if (NOT ${fwk}_LIBRARY_FWK)
+ SET(${fwk}_LIBRARY_FWK "-framework ${fwk}")
+ endif ()
+ ENDIF(EXISTS ${fwkpath})
+ ENDFOREACH(dir)
+ ENDIF(APPLE)
+ENDMACRO(findpkg_framework)

Property changes on: cmake/FindPkgMacros.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOIS.cmake
===================================================================
--- cmake/FindOIS.cmake (revision 0)
+++ cmake/FindOIS.cmake (revision 0)
@@ -0,0 +1,49 @@
+#-------------------------------------------------------------------
+# This file is part of the CMake build system for OGRE
+# (Object-oriented Graphics Rendering Engine)
+# For the latest info, see http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find OIS
+# Once done, this will define
+#
+# OIS_FOUND - system has OIS
+# OIS_INCLUDE_DIRS - the OIS include directories
+# OIS_LIBRARIES - link these to use OIS
+
+include(FindPkgMacros)
+findpkg_begin(OIS)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(OIS_HOME)
+getenv_path(OGRE_CTHUGHA)
+
+# construct search paths
+set(OIS_PREFIX_PATH ${OIS_HOME} ${ENV_OIS_HOME}
+ ${OGRE_CTHUGHA}/Dependencies ${ENV_OGRE_CTHUGHA}/Dependencies)
+create_search_paths(OIS)
+# redo search if prefix path changed
+clear_if_changed(OIS_PREFIX_PATH
+ OIS_LIBRARY_FWK
+ OIS_LIBRARY_REL
+ OIS_LIBRARY_DBG
+ OIS_INCLUDE_DIR
+)
+
+set(OIS_LIBRARY_NAMES OIS)
+get_debug_names(OIS_LIBRARY_NAMES)
+
+use_pkgconfig(OIS_PKGC OIS)
+
+findpkg_framework(OIS)
+
+find_path(OIS_INCLUDE_DIR NAMES OIS.h HINTS ${OIS_INC_SEARCH_PATH} ${OIS_PKGC_INCLUDE_DIRS} PATH_SUFFIXES OIS)
+find_library(OIS_LIBRARY_REL NAMES ${OIS_LIBRARY_NAMES} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(OIS_LIBRARY_DBG NAMES ${OIS_LIBRARY_NAMES_DBG} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+make_library_set(OIS_LIBRARY)
+
+findpkg_finish(OIS)
+add_parent_dir(OIS_INCLUDE_DIRS OIS_INCLUDE_DIR)

Property changes on: cmake/FindOIS.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/FindOGRE.cmake
===================================================================
--- cmake/FindOGRE.cmake (revision 0)
+++ cmake/FindOGRE.cmake (revision 0)
@@ -0,0 +1,59 @@
+# Find OGRE includes and library
+#
+# This module defines
+# OGRE_INCLUDE_DIR
+# OGRE_LIBRARIES, the libraries to link against to use OGRE.
+# OGRE_LIB_DIR, the location of the libraries
+# OGRE_FOUND, If false, do not try to use OGRE
+#
+# Copyright © 2007, Matt Williams
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+IF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+ SET(OGRE_FIND_QUIETLY TRUE) # Already in cache, be silent
+ENDIF (OGRE_LIBRARIES AND OGRE_INCLUDE_DIR)
+
+IF (WIN32) #Windows
+ MESSAGE(STATUS "Looking for OGRE")
+ SET(OGRESDK $ENV{OGRE_HOME})
+ #STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}" )
+ SET(OGRE_INCLUDE_DIR ${OGRESDK}/include)
+ SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+ SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
+ELSE (WIN32) #Unix
+ FIND_PACKAGE(PkgConfig)
+ PKG_SEARCH_MODULE(OGRE OGRE)
+ SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIRS})
+ SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
+ SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "")
+ENDIF (WIN32)
+
+#Do some preparation
+#SEPARATE_ARGUMENTS(OGRE_INCLUDE_DIR)
+SEPARATE_ARGUMENTS(OGRE_LIBRARIES)
+
+SET(OGRE_INCLUDE_DIR ${OGRE_INCLUDE_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIB_DIR ${OGRE_LIB_DIR} CACHE PATH "" FORCE)
+SET(OGRE_LIBRARIES ${OGRE_LIBRARIES} CACHE STRING "" FORCE)
+
+MARK_AS_ADVANCED(OGRE_INCLUDE_DIR)
+MARK_AS_ADVANCED(OGRE_LIB_DIR)
+MARK_AS_ADVANCED(OGRE_LIBRARIES)
+
+IF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+ SET(OGRE_FOUND TRUE)
+ENDIF (OGRE_INCLUDE_DIR AND OGRE_LIBRARIES)
+
+INCLUDE_DIRECTORIES(${OGRE_INCLUDE_DIRS})
+
+IF (OGRE_FOUND)
+ IF (NOT OGRE_FIND_QUIETLY)
+ MESSAGE(STATUS " libraries : ${OGRE_LIBRARIES} from ${OGRE_LIB_DIR}")
+ MESSAGE(STATUS " includes : ${OGRE_INCLUDE_DIR}")
+ ENDIF (NOT OGRE_FIND_QUIETLY)
+ELSE (OGRE_FOUND)
+ IF (OGRE_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find OGRE")
+ ENDIF (OGRE_FIND_REQUIRED)
+ENDIF (OGRE_FOUND)

Property changes on: cmake/FindOGRE.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: cmake/CopyFiles.cmake
===================================================================
--- cmake/CopyFiles.cmake (revision 0)
+++ cmake/CopyFiles.cmake (revision 0)
@@ -0,0 +1,31 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+macro(copy_files TARGET_NAME GLOBPAT DESTINATION)
+ file(GLOB COPY_FILES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${GLOBPAT})
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying files ${GLOBPAT}.")
+
+ foreach(FILENAME ${COPY_FILES})
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}/${FILENAME}")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
+ )
+ endforeach(FILENAME)
+endmacro(copy_files)
+
+macro(copy_directory TARGET_NAME SOURCE DESTINATION)
+ set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
+ set(DST "${CMAKE_CURRENT_BINARY_DIR}/${DESTINATION}")
+
+ add_custom_target(${TARGET_NAME} ALL
+ COMMENT "Copying directory ${SOURCE} to ${DESTINATION}.")
+
+ add_custom_command(
+ TARGET ${TARGET_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC} ${DST})
+endmacro(copy_directory)

Property changes on: cmake/CopyFiles.cmake
___________________________________________________________________
Added: svn:executable
+ *

Index: Dynamics/src/CMakeLists.txt
===================================================================
--- Dynamics/src/CMakeLists.txt (revision 0)
+++ Dynamics/src/CMakeLists.txt (revision 0)
@@ -0,0 +1,6 @@
+AUX_SOURCE_DIRECTORY(. src0)
+AUX_SOURCE_DIRECTORY(Constraints src1)
+AUX_SOURCE_DIRECTORY(Prefab src2)
+ADD_LIBRARY(OgreBulletDyn ${src0} ${src1} ${src2})
+
+INSTALL(TARGETS OgreBulletDyn ARCHIVE DESTINATION lib)

Property changes on: Dynamics/src/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Dynamics/CMakeLists.txt
===================================================================
--- Dynamics/CMakeLists.txt (revision 0)
+++ Dynamics/CMakeLists.txt (revision 0)
@@ -0,0 +1,3 @@
+ADD_SUBDIRECTORY(src)
+
+INSTALL(DIRECTORY "include/." DESTINATION "include/OgreBullet/Dynamics" PATTERN "*.svn" EXCLUDE PATTERN "Makefile*" EXCLUDE)

Property changes on: Dynamics/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Demos/resources.cfg
===================================================================
--- Demos/resources.cfg (revision 2979)
+++ Demos/resources.cfg (working copy)
@@ -1,22 +1,22 @@
# Resource locations to be added to the 'boostrap' path

# This also contains the minimum you need to use the Ogre example framework

[Bootstrap]

-Zip=Media\packs/OgreCore.zip

+Zip=Media/packs/OgreCore.zip



# Resource locations to be added to the default path

[General]

-FileSystem=Media\

-FileSystem=Media\fonts

-FileSystem=Media\materials/programs

-FileSystem=Media\materials/scripts

-FileSystem=Media\materials/textures

-FileSystem=Media\models

-FileSystem=Media\overlays

-FileSystem=Media\particle

-FileSystem=Media\gui

+FileSystem=Media/

+FileSystem=Media/fonts

+FileSystem=Media/materials/programs

+FileSystem=Media/materials/scripts

+FileSystem=Media/materials/textures

+FileSystem=Media/models

+FileSystem=Media/overlays

+FileSystem=Media/particle

+FileSystem=Media/gui



[Bullet]

-FileSystem=Media\OgreBullet

-FileSystem=Media\materials

-FileSystem=Media\textures

+FileSystem=Media/OgreBullet

+FileSystem=Media/materials

+FileSystem=Media/textures



Index: Demos/Plugins_d.cfg.in
===================================================================
--- Demos/Plugins_d.cfg.in (revision 0)
+++ Demos/Plugins_d.cfg.in (revision 0)
@@ -0,0 +1,13 @@
+# Defines plugins to load

+

+# Define plugin folder

+PluginFolder=${OGRE_LIB_DIR}/OGRE

+

+# Define plugins

+#Plugin=RenderSystem_Direct3D9_d

+Plugin=RenderSystem_GL_d

+

+Plugin=Plugin_ParticleFX_d

+Plugin=Plugin_BSPSceneManager_d

+Plugin=Plugin_OctreeSceneManager_d

+Plugin=Plugin_CgProgramManager_d

Index: Demos/Plugins.cfg.in
===================================================================
--- Demos/Plugins.cfg.in (revision 0)
+++ Demos/Plugins.cfg.in (revision 0)
@@ -0,0 +1,13 @@
+# Defines plugins to load

+

+# Define plugin folder

+PluginFolder=${OGRE_LIB_DIR}/OGRE

+

+# Define plugins

+#Plugin=RenderSystem_Direct3D9

+Plugin=RenderSystem_GL

+

+Plugin=Plugin_ParticleFX

+Plugin=Plugin_BSPSceneManager

+Plugin=Plugin_OctreeSceneManager

+Plugin=Plugin_CgProgramManager

Index: Demos/CMakeLists.txt
===================================================================
--- Demos/CMakeLists.txt (revision 0)
+++ Demos/CMakeLists.txt (revision 0)
@@ -0,0 +1,20 @@
+INCLUDE(../cmake/CopyFiles.cmake)
+FIND_PACKAGE(OIS REQUIRED)
+
+AUX_SOURCE_DIRECTORY(src src0)
+AUX_SOURCE_DIRECTORY("Dynamics_Demos/src" src1)
+
+INCLUDE_DIRECTORIES(${OIS_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}/Dynamics_Demos/include")
+ADD_EXECUTABLE(MainDemo WIN32 ${src0} ${src1})
+
+TARGET_LINK_LIBRARIES(MainDemo ${Boost_LIBRARIES} ${OGRE_LIBRARIES} ${OIS_LIBRARIES} ${BULLET_LIBRARIES}
+ ${BULLET_CONVEXDECOMPOSITION_LIB} OgreBulletDyn OgreBulletCol)
+
+# config files
+CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Plugins.cfg.in" "${CMAKE_CURRENT_BINARY_DIR}/plugins.cfg")
+CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Plugins_d.cfg.in" "${CMAKE_CURRENT_BINARY_DIR}/plugins_d.cfg")
+CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/resources.cfg" "${CMAKE_CURRENT_BINARY_DIR}/resources.cfg")
+
+# resources
+copy_directory(copy Media Media)

Property changes on: Demos/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Collisions/src/CMakeLists.txt
===================================================================
--- Collisions/src/CMakeLists.txt (revision 0)
+++ Collisions/src/CMakeLists.txt (revision 0)
@@ -0,0 +1,7 @@
+AUX_SOURCE_DIRECTORY(. src0)
+AUX_SOURCE_DIRECTORY(Debug src1)
+AUX_SOURCE_DIRECTORY(Shapes src2)
+AUX_SOURCE_DIRECTORY(Utils src3)
+ADD_LIBRARY(OgreBulletCol ${src0} ${src1} ${src2} ${src3})
+
+INSTALL(TARGETS OgreBulletCol ARCHIVE DESTINATION lib)

Property changes on: Collisions/src/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: Collisions/CMakeLists.txt
===================================================================
--- Collisions/CMakeLists.txt (revision 0)
+++ Collisions/CMakeLists.txt (revision 0)
@@ -0,0 +1,3 @@
+ADD_SUBDIRECTORY(src)
+
+INSTALL(DIRECTORY "include/." DESTINATION "include/OgreBullet/Collisions" PATTERN "*.svn" EXCLUDE PATTERN "Makefile*" EXCLUDE)

Property changes on: Collisions/CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 0)
+++ CMakeLists.txt (revision 0)
@@ -0,0 +1,44 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+PROJECT(libogrebullet-dev)
+
+SET(CPACK_PACKAGE_CONTACT "Patrick Charrier <patrick.charrier@gmail.com>")
+INCLUDE(CPack)
+
+# options
+OPTION(BUILD_WITH_OPENMP "Build with OpenMP support." OFF)
+OPTION(Boost_USE_STATIC_LIBS "Use Boost Static Libs" ON)
+OPTION(Boost_USE_MULTITHREADED "Use Boost Multithreaded Libs" ON)

+OPTION(Boost_USE_STATIC_RUNTIME "Use Boost Static Runtime" OFF)
+
+# use packages
+SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+FIND_PACKAGE(Boost COMPONENTS thread date_time REQUIRED)
+FIND_PACKAGE(OGRE REQUIRED)
+FIND_PACKAGE(Bullet REQUIRED)
+
+# standard bullet find-script does not locate ConvexDecomposition lib
+FIND_LIBRARY(BULLET_CONVEXDECOMPOSITION_LIB ConvexDecomposition)
+
+# settings
+SET(CMAKE_BUILD_TYPE Release)
+INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR} ${OGRE_INCLUDE_DIR} "${OGRE_INCLUDE_DIR}/OGRE" ${BULLET_INCLUDE_DIRS}
+"${BULLET_INCLUDE_DIRS}/ConvexDecomposition"
+"${CMAKE_CURRENT_SOURCE_DIR}/Collisions/include" "${CMAKE_CURRENT_SOURCE_DIR}/Dynamics/include")
+LINK_DIRECTORIES(${OGRE_LIB_DIR})
+
+# build subdirectories
+ADD_SUBDIRECTORY(Collisions)
+ADD_SUBDIRECTORY(Dynamics)
+ADD_SUBDIRECTORY(Demos)
+
+# OpenMP settings
+if(BUILD_WITH_OPENMP)
+ FIND_PACKAGE(OpenMP REQUIRED)
+ if(OPENMP_FOUND)
+ set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS})
+ endif(OPENMP_FOUND)
+ if(UNIX)
+ #TARGET_LINK_LIBRARIES(BeeGame gomp)
+ #ADD_DEFINITIONS(-D_GLIBCXX_PARALLEL) # CAUSING LINKER ERROR
+ endif(UNIX)
+endif(BUILD_WITH_OPENMP)

Property changes on: CMakeLists.txt
___________________________________________________________________
Added: svn:executable
+ *

Fish

11-03-2011 01:46:34

Awesome! I'll try to get the cmake build system integrated and tested as soon as I can.

- Fish

molmasepic

14-06-2011 22:42:00

hey i want to use the latest patch here, but i keep getting an error.


is says theres something wrong on line 842, but nothings there...


any ideas?