History: Building Your Projects With CMake
Source of version: 11
- «
- »
Copy to clipboard
{BOX(width="100%",class="Layout_box9")}{SPLIT(colsize=10%|70%)}{IMG(src="img/wiki_up/Libraries.png",imalign="left",link="Building Your Projects With CMake",title="Building Your Projects With CMake")}{IMG}
---
{DIV(class="bigBold")}((Building Your Projects With CMake)){DIV}
This section is an introduction on how to use CMake to build your own projects and have them link against Ogre. For more detailed information about CMake, refer to the official CMake website: [http://www.cmake.org]
{SPLIT}{BOX}
!!Introduction
{maketoc}
!!A Template
The following files are needed:
* CMakeLists.txt
* include/
** *.h
* src/
** *.cpp
!!Your CMakeLists.txt file
A sample is included below
{CODE(wrap="1",colors="cmake")}
#/*
#-----------------------------------------------------------------------------
#Filename: CMakeLists.txt
#-----------------------------------------------------------------------------
#
#This source file is part of the
# ___ __ __ _ _ _
# /___\__ _ _ __ ___ / / /\ \ (_) | _(_)
# // // _` | '__/ _ \ \ \/ \/ / | |/ / |
#/ \_// (_| | | | __/ \ /\ /| | <| |
#\___/ \__, |_| \___| \/ \/ |_|_|\_\_|
# |___/
# Tutorial Framework
# http://www.ogre3d.org/tikiwiki/
#-----------------------------------------------------------------------------
#*/
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
project(OgreApp)
if(WIN32)
getenv_path(OGRE_HOME)
set(CMAKE_MODULE_PATH "${ENV_OGRE_HOME}/CMake/;${CMAKE_MODULE_PATH}")
set(OGRE_SAMPLES_INCLUDEPATH
${ENV_OGRE_HOME}/Samples/include
)
endif(WIN32)
if(UNIX)
set(CMAKE_MODULE_PATH "/usr/local/lib/OGRE/cmake/;${CMAKE_MODULE_PATH}")
set(OGRE_SAMPLES_INCLUDEPATH
/usr/local/share/OGRE/samples/Common/include/
)
endif(UNIX)
if (CMAKE_BUILD_TYPE STREQUAL "")
# CMake defaults to leaving CMAKE_BUILD_TYPE empty. This screws up
# differentiation between debug and release builds.
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None (CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif ()
SET(CMAKE_DEBUG_POSTFIX "_d")
find_package(OGRE REQUIRED)
IF (NOT "${OGRE_VERSION_NAME}" STREQUAL "Cthugha")
MESSAGE(SEND_ERROR "You need Ogre 1.7 Cthugha to build this.")
ENDIF()
FIND_PACKAGE(OIS REQUIRED)
IF(NOT OIS_FOUND)
MESSAGE(SEND_ERROR "Failed to find OIS.")
ENDIF()
SET(HDRS
./BaseApplication.h
./TutorialApplication.h
)
SET(SRCS
./BaseApplication.cpp
./TutorialApplication.cpp
)
include_directories( ${OIS_INCLUDE_DIRS}
${OGRE_INCLUDE_DIRS}
${OGRE_SAMPLES_INCLUDEPATH}
)
ADD_EXECUTABLE(OgreApp WIN32 ${HDRS} ${SRCS})
SET_TARGET_PROPERTIES(OgreApp PROPERTIES DEBUG_POSTFIX _d)
TARGET_LINK_LIBRARIES(OgreApp ${OGRE_LIBRARIES} ${OIS_LIBRARIES})
{CODE}
Replace __OgreApp__ with any name you want.
CMAKE_MODULE_PATH points to where you installed the Ogre3D cmake modules.
OGRE_SAMPLES_INCLUDEPATH points to where you installed the Ogre3D Samples framework include directory.
This usually happens when you run __make install__.
!!resources.cfg & plugins.cfg
!!!Linux
Copy '''plugins.cfg''' and '''resources.cfg''' from the Ogre media directory - usually '''/usr/local/share/OGRE''' - to your build directory:
{CODE(wrap="1", colors="bash")}cp /usr/local/share/OGRE/plugins.cfg /path/to/OgreApp/build_directory/plugins.cfg
cp /usr/local/share/OGRE/resources.cfg /path/to/OgreApp/build_directory/resources.cfg{CODE}
!!!Windows
TBD