OGRE Wiki
Support and community documentation for Ogre3D
Ogre Forums
ogre3d.org
Log in
Username:
Password:
CapsLock is on.
Remember me (for 1 year)
Log in
Home
Tutorials
Tutorials Home
Basic Tutorials
Intermediate Tutorials
Mad Marx Tutorials
In Depth Tutorials
Older Tutorials
External Tutorials
Cookbook
Cookbook Home
CodeBank
Snippets
Experiences
Ogre Articles
Libraries
Libraries Home
Alternative Languages
Assembling A Toolset
Development Tools
OGRE Libraries
List of Libraries
Tools
Tools Home
DCC Tools
DCC Tutorials
DCC Articles
DCC Resources
Assembling a production pipeline
Development
Development Home
Roadmap
Building Ogre
Installing the Ogre SDK
Setting Up An Application
Ogre Wiki Tutorial Framework
Frequently Asked Questions
Google Summer Of Code
Help Requested
Ogre Core Articles
Community
Community Home
Projects Using Ogre
Recommended Reading
Contractors
Wiki
Immediate Wiki Tasklist
Wiki Ideas
Wiki Guidelines
Article Writing Guidelines
Wiki Styles
Wiki Page Tracker
Ogre Wiki Help
Ogre Wiki Help Overview
Help - Basic Syntax
Help - Images
Help - Pages and Structures
Help - Wiki Plugins
Toolbox
Freetags
Categories
List Pages
Structures
Trackers
Statistics
Rankings
List Galleries
Ogre Lexicon
Comments
History: IntermediateTutorialCMakeList
View page
Source of version: 2
(current)
{CODE(caption="CMakeLists.txt", wrap="1", colors="cmake")} cmake_minimum_required(VERSION 2.6) project(OgreApp) if (WIN32) set (CMAKE_MODULE_PATH "$ENV{OGRE_HOME}/CMake/;${CMAKE_MODULE_PATH}") set (OGRE_SAMPLES_INCLUDEPATH $ENV{OGRE_HOME}/Samples/include) endif (WIN32) if (UNIX) if (EXISTS "/usr/local/lib/OGRE/cmake") set (CMAKE_MODULE_PATH "/usr/local/lib/OGRE/cmake/;${CMAKE_MODULE_PATH}") set (OGRE_SAMPLES_INCLUDEPATH "/usr/local/share/OGRE/samples/Common/include/") elseif (EXISTS "/usr/lib/OGRE/cmake") set (CMAKE_MODULE_PATH "/usr/lib/OGRE/cmake/;${CMAKE_MODULE_PATH}") set (OGRE_SAMPLES_INCLUDEPATH "/usr/share/OGRE/samples/Common/include/") else () message(SEND_ERROR "Failed to find module path.") endif () 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") set (CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/dist") find_package (OGRE REQUIRED) find_package (OIS REQUIRED) if (NOT OIS_FOUND) message(SEND_ERROR "Failed to find OIS.") endif () find_package (CEGUI REQUIRED) if (NOT CEGUI_FOUND) message (SEND_ERROR "Failed to find CEGUI.") endif () # Find Boost if (NOT OGRE_BUILD_PLATFORM_IPHONE) if (WIN32 OR APPLE) set (Boost_USE_STATIC_LIBS TRUE) else () # Statically linking boost to a dynamic Ogre build doesn't work on Linux 64bit set (Boost_USE_STATIC_LIBS ${OGRE_STATIC}) endif () if (MINGW) # this is probably a bug in CMake: the boost find module tries to look for # boost libraries with name libboost_*, but CMake already prefixes library # search names with "lib". This is the workaround. set (CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} "") endif () set (Boost_ADDITIONAL_VERSIONS "1.44" "1.44.0" "1.42" "1.42.0" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37" ) # Components that need linking (NB does not include header-only components like bind) set (OGRE_BOOST_COMPONENTS thread date_time) find_package (Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) if (NOT Boost_FOUND) # Try again with the other type of libs set (Boost_USE_STATIC_LIBS NOT ${Boost_USE_STATIC_LIBS}) find_package (Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) endif () find_package (Boost QUIET) # Set up referencing of Boost include_directories (${Boost_INCLUDE_DIR}) add_definitions (-DBOOST_ALL_NO_LIB) set (OGRE_LIBRARIES ${OGRE_LIBRARIES} ${Boost_LIBRARIES}) endif () set (HDRS ./BasicApp.h) set (SRCS ./BasicApp.cpp) include_directories ( ${OIS_INCLUDE_DIRS} ${OGRE_INCLUDE_DIRS} ${OGRE_SAMPLES_INCLUDEPATH} ${CEGUI_INCLUDE_DIR} ${CEGUI_OgreRenderer_INCLUDE_DIRS}) add_executable (OgreApp WIN32 ${HDRS} ${SRCS}) set_target_properties (OgreApp PROPERTIES DEBUG_POSTFIX _d) target_link_libraries ( OgreApp ${OIS_LIBRARIES} ${OGRE_LIBRARIES} ${OGRE_Terrain_LIBRARIES} ${CEGUI_LIBRARIES} ${CEGUI_OgreRenderer_LIBRARIES}) file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dist/bin) file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dist/media) # post-build copy for win32 if (WIN32 AND NOT MINGW) add_custom_command ( TARGET OgreApp PRE_BUILD COMMAND if not exist .\\dist\\bin mkdir .\\dist\\bin) add_custom_command ( TARGET OgreApp POST_BUILD COMMAND copy \"$(TargetPath)\" .\\dist\\bin) endif (WIN32 AND NOT MINGW) if (MINGW OR UNIX) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/dist/bin) endif (MINGW OR UNIX) if (WIN32) install ( TARGETS OgreApp RUNTIME DESTINATION bin CONFIGURATIONS All) install ( DIRECTORY ${CMAKE_SOURCE_DIR}/dist/Media DESTINATION ./ CONFIGURATIONS Release RelWithDebInfo Debug) install ( FILES ${CMAKE_SOURCE_DIR}/dist/bin/plugins.cfg ${CMAKE_SOURCE_DIR}/dist/bin/resources.cfg DESTINATION bin CONFIGURATIONS Release RelWithDebInfo) install ( FILES ${CMAKE_SOURCE_DIR}/dist/bin/plugins_d.cfg ${CMAKE_SOURCE_DIR}/dist/bin/resources_d.cfg DESTINATION bin CONFIGURATIONS Debug) install ( FILES ${OGRE_PLUGIN_DIR_REL}/OgreMain.dll ${OGRE_PLUGIN_DIR_REL}/RenderSystem_Direct3D9.dll ${OGRE_PLUGIN_DIR_REL}/RenderSystem_GL.dll ${OGRE_PLUGIN_DIR_REL}/libOIS.dll DESTINATION bin CONFIGURATIONS Release RelWithDebInfo) install ( FILES ${OGRE_PLUGIN_DIR_DBG}/OgreMain_d.dll ${OGRE_PLUGIN_DIR_DBG}/RenderSystem_Direct3D9_d.dll ${OGRE_PLUGIN_DIR_DBG}/RenderSystem_GL_d.dll ${OGRE_PLUGIN_DIR_DBG}/libOIS_d.dll DESTINATION bin CONFIGURATIONS Debug) install( FILES ${Boost_DATE_TIME_LIBRARY_RELEASE} ${Boost_THREAD_LIBRARY_RELEASE} DESTINATION bin CONFIGURATIONS Release RelWithDebInfo) install ( FILES ${Boost_DATE_TIME_LIBRARY_DEBUG} ${Boost_THREAD_LIBRARY_DEBUG} DESTINATION bin CONFIGURATIONS Debug) endif (WIN32) if (UNIX) install ( TARGETS OgreApp RUNTIME DESTINATION bin CONFIGURATIONS All) install ( DIRECTORY ${CMAKE_SOURCE_DIR}/dist/media DESTINATION ./ CONFIGURATIONS Release RelWithDebInfo Debug) install ( FILES ${CMAKE_SOURCE_DIR}/dist/bin/plugins.cfg ${CMAKE_SOURCE_DIR}/dist/bin/resources.cfg DESTINATION bin CONFIGURATIONS Release RelWithDebInfo Debug) endif (UNIX) {CODE}
Search by Tags
Search Wiki by Freetags
Latest Changes
One Function Ogre
IDE Eclipse
FMOD SoundManager
HDRlib
Building Ogre V2 with CMake
Ogre 2.1 FAQ
Minimal Ogre Collision
Artifex Terra
OpenMB
Advanced Mogre Framework
...more
Search
Find
Advanced
Search Help
Online Users
171 online users