################################################################################
# Top-level CMakeLists.txt file for Crazy Eddie's GUI System
################################################################################
cmake_minimum_required(VERSION 2.8.11)
if (POLICY CMP0017)
cmake_policy(SET CMP0017 OLD)
endif()
if (POLICY CMP0045)
cmake_policy(SET CMP0045 OLD)
endif()
if (APPLE AND NOT CMAKE_OSX_ARCHITECTURES)
set( CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING "Build architectures for Mac OS X")
endif()
# default to Release build (it's what most people will use, except cegui devs)
if (NOT CMAKE_BUILD_TYPE)
set( CMAKE_BUILD_TYPE Release CACHE STRING "Sets the configuration to build (Release, Debug, etc...)")
endif()
################################################################################
# Start of main Project definitions
################################################################################
project(cegui)
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
include(CEGUIMacros)
include(CMakeDependentOption)
################################################################################
# Set up version information
################################################################################
set( CEGUI_VERSION_MAJOR 0)
set( CEGUI_VERSION_MINOR 8)
set( CEGUI_VERSION_PATCH 7)
set( CEGUI_VERSION ${CEGUI_VERSION_MAJOR}.${CEGUI_VERSION_MINOR}.${CEGUI_VERSION_PATCH} )
#
# This controls the binary versioning - which is different to release versions
# defined above.
#
# The following describes what these components are and how they are intended to
# be managed.
#
# - CURRENT: The binary interface version provided by the library.
# - REVISION: Revision of binary interface specified in CURRENT
# - AGE: Number of previous binary interfaces this library is compatible with.
#
# Prior to issuing a release, modify the values as follows:
# - If there were no changes to the source, do not change any values.
# - If there were changes to the implementation, but no changes to the ABI at all (that is, nothing was added, removed, or changed that affects ABI), increase REVISION.
# - If there were changes that modified the ABI, but the ABI remains compatible with the previous release, increase CURRENT, increase AGE, and set REVISION to 0.
# - If there were ABI breaking changes, increase CURRENT, set AGE to 0 and set REVISION to 0.
#
set( CEGUI_ABI_CURRENT 6)
set( CEGUI_ABI_REVISION 2)
set( CEGUI_ABI_AGE 4)
MATH( EXPR CEGUI_SOVERSION ${CEGUI_ABI_CURRENT}-${CEGUI_ABI_AGE} )
set( CEGUI_ABI_VERSION ${CEGUI_SOVERSION}.${CEGUI_ABI_AGE}.${CEGUI_ABI_REVISION} )
################################################################################
# Check for libs and other packages we might use.
################################################################################
# be sure to search the provided dependencies on Win32 and Mac OS X platforms
if ((WIN32 OR APPLE) AND NOT CMAKE_PREFIX_PATH)
set (CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/dependencies" CACHE PATH "Path to dependencies")
# prefer the dylib deps in the dependencies over some other framework
set (CMAKE_FIND_FRAMEWORK LAST)
endif()
if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03")
elseif (NOT CMAKE_VERSION VERSION_LESS "3.1")
set (CMAKE_C_STANDARD_REQUIRED TRUE)
set (CMAKE_C_STANDARD "99")
endif ()
# Look for packages
find_package(PCRE)
find_package(Freetype)
find_package(Minizip)
find_package(Fribidi)
if (NOT WIN32)
find_package(Iconv REQUIRED)
endif()
find_package(OpenGL)
find_package(GLEW)
find_package(GLM)
find_package(GLFW)
find_package(GLFW3)
find_package(SDL2)
find_package(SDL2_image)
find_package(DirectXSDK)
find_package(D3DX11Effects)
find_package(Irrlicht)
find_package(Ogre)
find_package(OIS)
find_package(DirectFB)
find_package(OpenGLES)
find_package(Epoxy)
find_package(EXPAT)
find_package(XercesC)
find_package(LibXml2)
find_package(TinyXML)
find_package(RapidXML)
find_package(DevIL)
find_package(FreeImage)
find_package(SILLY)
find_package(Corona)
find_package(PVRTools)
find_package(Lua51)
find_package(TOLUAPP)
find_package(PythonInterp)
## ensure python3 not picked up as default
find_package(PythonVersion)
if (UNIX AND PYTHON_VERSION_FOUND)
find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT)
else()
find_package(PythonLibs)
endif()
find_package(Boost 1.36.0 COMPONENTS python unit_test_framework system timer)
find_package(Doxygen)
find_package(GTK2 COMPONENTS gtk)
# set for consistency with other deps
set (GTK2_INCLUDE_DIR ${GTK2_INCLUDE_DIRS})
## Search for ccache
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set(ENV(CCACHE_CPP2) "yes")
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)
if (GLEW_FOUND OR EPOXY_FOUND)
set (OPENGL_LOADER_FOUND TRUE)
else ()
set (OPENGL_LOADER_FOUND FALSE)
endif ()
################################################################################
# Define the configurable options
################################################################################
cmake_dependent_option( CEGUI_MSVC_STATIC_RUNTIME "Specifies whether to the static runtime (/MT and /MTd) or the DLL runtime (/MD and /MDd).
NOTE: This will also affect which set of dependency libraries are linked with." FALSE "MSVC" FALSE )
cmake_dependent_option( CEGUI_BUILD_SHARED_LIBS_WITH_STATIC_DEPENDENCIES "For WIN32 and APPLE where the dependency pack is used, prefer the static
dependency libs over the shared/dynamic ones. NOTE: On Windows you also need to
be mindful of which C/C++ runtime setting has been used to compile the various
components - they must all match or you will get crashes, heap corruption and/or
other issues." FALSE "WIN32 OR APPLE" FALSE)
option( CEGUI_BUILD_STATIC_CONFIGURATION "Specifies whether the static configs will be built. (NB: Shared configs are always built)" FALSE)
option( CEGUI_BUILD_STATIC_FACTORY_MODULE "For static CEGUI builds, specifies whether to include the getWindoFactoryModule method. When false, the developer must provide a custom implementation of the method" FALSE)
# sanity check on static build option for factory method
if (CEGUI_BUILD_STATIC_FACTORY_MODULE AND NOT CEGUI_BUILD_STATIC_CONFIGURATION)
message(SEND_ERROR "You may not enable CEGUI_BUILD_STATIC_FACTORY_MODULE without CEGUI_BUILD_STATIC_CONFIGURATION enabled. CEGUI needs to be built statically if building the static factory method.")
endif()
option( CEGUI_CUSTOM_ALLOCATORS "If checked, CEGUI can use custom allocation. (for experienced developers only!)" FALSE )
cmake_dependent_option( CEGUI_CUSTOM_ALLOCATORS_DEBUG "If checked, CEGUI allocations will pass debug info to allocators. (only used if CEGUI_CUSTOM_ALLOCATORS is checked)" FALSE "CEGUI_CUSTOM_ALLOCATORS" FALSE )
set( CEGUI_CUSTOM_ALLOCATORS_INCLUDE "CEGUI/MemoryStdAllocator.h" CACHE STRING "Which include file contains memory allocators and allocation configuration. (only used if CEGUI_CUSTOM_ALLOCATORS is checked)
We have bundled 2 allocators, mostly for demonstrational purposes.
CEGUI/MemoryStdAllocator.h contains malloc allocator, use it as a starting point for your own allocators
CEGUI/MemoryOgreAllocator.h delegates allocation to Ogre, which may be useful to Ogre users (you will have to manually change linking options of CEGUIBase!)" )
set( CEGUI_STRING_CLASS 1 CACHE INT "Which string class should CEGUI use
1 - utf8 and utf32 aware inbuilt string,
2 - std::string without custom allocation,
3 - std::basic_string allocated according to allocator config" )
# sanity check std::basic_string and allocator and allocators actually being used
if (${CEGUI_STRING_CLASS} MATCHES 3 AND NOT CEGUI_CUSTOM_ALLOCATORS)
message(SEND_ERROR "You requested std::basic_string allocated acco
没有合适的资源?快使用搜索试试~ 我知道了~
CEGUI图形 API/引擎提供窗口和小部件
共2000个文件
cpp:737个
h:404个
hpp:394个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 152 浏览量
2024-03-26
21:05:48
上传
评论
收藏 20.35MB ZIP 举报
温馨提示
成熟的代码库,CEGUI 自 2003 年以来一直存在! 多平台支持 - 提供 Windows、Linux 和 Mac OS 项目/解决方案 支持 32 位和 64 位架构(MSVC、GCC、clang、XCode、MinGW-w64) 通过使用 XML 文件、通用属性系统和强大的外观设计功能,大量数据驱动 高度灵活,您可以编写自己的小部件渲染器,使用您选择的 XML 解析器、脚本模块等...... UNICODE 支持 - utf8 和 utf32(查看字体示例) 支持许多不同的渲染器。我们目前提供 OpenGL 2.X、OpenGL 3.2+ Core Profile、Direct3D 9、Direct3D 10、Direct3D 11、Irrlicht、Ogre3D 和 OpenGL ES(实验性)的实现。还提供了一个虚拟渲染器 (NullRenderer)。此外,还支持 Crystal Space(由 Crystal Space 团队提供)和 Open Scene Graph(由 Open Scene Graph 团队提供)。
资源推荐
资源详情
资源评论
收起资源包目录
CEGUI图形 API/引擎提供窗口和小部件 (2000个子文件)
GameMenu.anims 15KB
example.anims 816B
BuildDocs.bat 527B
make.bat 67B
build_cegui 3KB
build_deps 10KB
build_sample-framework 1KB
toluabind.c 364KB
tolua.c 5KB
.classpath 635B
CEGUIMacros.cmake 31KB
FindCEGUI.cmake 29KB
FindOgre.cmake 17KB
FindSDL2.cmake 7KB
FindIconv.cmake 3KB
CEGUIFindHelpers.cmake 3KB
FindSDL2_image.cmake 3KB
FindDevIL.cmake 2KB
FindFreetype.cmake 2KB
FindTinyXML.cmake 2KB
FindSILLY.cmake 2KB
FindXercesC.cmake 2KB
FindFreeImage.cmake 2KB
FindDirectXSDK.cmake 2KB
FindGLFW3.cmake 2KB
FindGLUT.cmake 2KB
FindD3DX11Effects.cmake 2KB
FindLua51.cmake 2KB
FindCorona.cmake 2KB
FindMinizip.cmake 2KB
FindTOLUAPP.cmake 1KB
FindEXPAT.cmake 1KB
FindDirectFB.cmake 1KB
FindGLFW.cmake 1KB
FindPCRE.cmake 1KB
FindGLEW.cmake 1KB
FindOIS.cmake 1KB
FindZLIB.cmake 1KB
FindOpenGLES.cmake 957B
FindIrrlicht.cmake 937B
FindZZip.cmake 914B
FindPVRTools.cmake 863B
FindPythonVersion.cmake 842B
FindEpoxy.cmake 773B
FindRapidXML.cmake 583B
FindGLM.cmake 517B
FindFribidi.cmake 322B
android.toolchain.cmake__orig 80KB
common 3KB
conf 7KB
COPYING 1KB
lua_CEGUI.cpp 2.13MB
Window.pypp.cpp 287KB
MultiColumnList.pypp.cpp 249KB
Combobox.pypp.cpp 214KB
ListHeader.pypp.cpp 196KB
Tree.pypp.cpp 191KB
MultiLineEditbox.pypp.cpp 182KB
FrameWindow.pypp.cpp 179KB
Listbox.pypp.cpp 177KB
ScrollablePane.pypp.cpp 174KB
Editbox.pypp.cpp 174KB
DragContainer.pypp.cpp 172KB
GridLayoutContainer.pypp.cpp 172KB
ListHeaderSegment.pypp.cpp 172KB
Scrollbar.pypp.cpp 171KB
TabControl.pypp.cpp 171KB
ItemListbox.pypp.cpp 168KB
ScrolledItemListBase.pypp.cpp 166KB
SequentialLayoutContainer.pypp.cpp 166KB
ItemListBase.pypp.cpp 166KB
Spinner.pypp.cpp 160KB
HorizontalLayoutContainer.pypp.cpp 160KB
VerticalLayoutContainer.pypp.cpp 159KB
MenuBase.pypp.cpp 157KB
PopupMenu.pypp.cpp 155KB
ComboDropList.pypp.cpp 154KB
Tooltip.pypp.cpp 154KB
Thumb.pypp.cpp 153KB
LayoutContainer.pypp.cpp 152KB
Slider.pypp.cpp 152KB
Menubar.pypp.cpp 151KB
MenuItem.pypp.cpp 150KB
ScrolledContainer.pypp.cpp 149KB
ProgressBar.pypp.cpp 146KB
ItemEntry.pypp.cpp 145KB
RadioButton.pypp.cpp 145KB
stb_image.cpp 144KB
ToggleButton.pypp.cpp 143KB
TabButton.pypp.cpp 143KB
ButtonBase.pypp.cpp 141KB
PushButton.pypp.cpp 140KB
GroupBox.pypp.cpp 140KB
Titlebar.pypp.cpp 140KB
DefaultWindow.pypp.cpp 139KB
Window.cpp 125KB
XMLHandler.cpp 99KB
MultiColumnList.cpp 83KB
Element.pypp.cpp 76KB
GUIContext.pypp.cpp 67KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
新华
- 粉丝: 8535
- 资源: 609
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功