mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-09 09:39:53 +00:00
Move oengine to a static library, fixes duplicate compilation of oengine/bullet files by openmw and opencs
This commit is contained in:
parent
c7cd576002
commit
0fda1cdd53
@ -97,43 +97,6 @@ endif()
|
||||
# We probably support older versions than this.
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
# source directory: libs
|
||||
|
||||
set(LIBS_DIR ${CMAKE_SOURCE_DIR}/libs)
|
||||
|
||||
set(OENGINE_OGRE
|
||||
${LIBS_DIR}/openengine/ogre/renderer.cpp
|
||||
${LIBS_DIR}/openengine/ogre/lights.cpp
|
||||
${LIBS_DIR}/openengine/ogre/selectionbuffer.cpp
|
||||
${LIBS_DIR}/openengine/ogre/imagerotate.cpp
|
||||
)
|
||||
|
||||
set(OENGINE_GUI
|
||||
${LIBS_DIR}/openengine/gui/loglistener.cpp
|
||||
${LIBS_DIR}/openengine/gui/manager.cpp
|
||||
${LIBS_DIR}/openengine/gui/layout.cpp
|
||||
)
|
||||
|
||||
set(OENGINE_BULLET
|
||||
${LIBS_DIR}/openengine/bullet/BtOgre.cpp
|
||||
${LIBS_DIR}/openengine/bullet/BtOgreExtras.h
|
||||
${LIBS_DIR}/openengine/bullet/BtOgreGP.h
|
||||
${LIBS_DIR}/openengine/bullet/BtOgrePG.h
|
||||
${LIBS_DIR}/openengine/bullet/physic.cpp
|
||||
${LIBS_DIR}/openengine/bullet/physic.hpp
|
||||
${LIBS_DIR}/openengine/bullet/BulletShapeLoader.cpp
|
||||
${LIBS_DIR}/openengine/bullet/BulletShapeLoader.h
|
||||
${LIBS_DIR}/openengine/bullet/trace.cpp
|
||||
${LIBS_DIR}/openengine/bullet/trace.h
|
||||
|
||||
)
|
||||
|
||||
set(OENGINE_ALL ${OENGINE_OGRE} ${OENGINE_GUI} ${OENGINE_BULLET})
|
||||
source_group(libs\\openengine FILES ${OENGINE_ALL})
|
||||
|
||||
set(OPENMW_LIBS ${OENGINE_ALL})
|
||||
set(OPENMW_LIBS_HEADER)
|
||||
|
||||
# Sound setup
|
||||
set(FFmpeg_FIND_COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE SWRESAMPLE AVRESAMPLE)
|
||||
unset(FFMPEG_LIBRARIES CACHE)
|
||||
@ -275,6 +238,7 @@ include_directories("."
|
||||
${MYGUI_INCLUDE_DIRS}
|
||||
${MYGUI_PLATFORM_INCLUDE_DIRS}
|
||||
${OPENAL_INCLUDE_DIR}
|
||||
${BULLET_INCLUDE_DIRS}
|
||||
${LIBS_DIR}
|
||||
)
|
||||
|
||||
@ -572,6 +536,10 @@ if(WIN32)
|
||||
include(CPack)
|
||||
endif(WIN32)
|
||||
|
||||
# Libs
|
||||
include_directories(libs)
|
||||
add_subdirectory(libs/openengine)
|
||||
|
||||
# Extern
|
||||
add_subdirectory (extern/shiny)
|
||||
add_subdirectory (extern/ogre-ffmpeg-videoplayer)
|
||||
|
@ -164,7 +164,8 @@ qt4_wrap_ui(OPENCS_UI_HDR ${OPENCS_UI})
|
||||
qt4_wrap_cpp(OPENCS_MOC_SRC ${OPENCS_HDR_QT})
|
||||
qt4_add_resources(OPENCS_RES_SRC ${OPENCS_RES})
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${BULLET_INCLUDE_DIRS})
|
||||
# for compiled .ui files
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(APPLE)
|
||||
set (OPENCS_MAC_ICON ${CMAKE_SOURCE_DIR}/files/mac/openmw-cs.icns)
|
||||
@ -174,7 +175,6 @@ endif(APPLE)
|
||||
|
||||
add_executable(openmw-cs
|
||||
MACOSX_BUNDLE
|
||||
${OENGINE_BULLET}
|
||||
${OPENCS_SRC}
|
||||
${OPENCS_UI_HDR}
|
||||
${OPENCS_MOC_SRC}
|
||||
@ -198,6 +198,7 @@ if(APPLE)
|
||||
endif(APPLE)
|
||||
|
||||
target_link_libraries(openmw-cs
|
||||
${OENGINE_LIBRARY}
|
||||
${OGRE_LIBRARIES}
|
||||
${OGRE_Overlay_LIBRARIES}
|
||||
${OGRE_STATIC_PLUGINS}
|
||||
|
@ -104,7 +104,6 @@ find_package(Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS})
|
||||
|
||||
if (NOT ANDROID)
|
||||
add_executable(openmw
|
||||
${OPENMW_LIBS} ${OPENMW_LIBS_HEADER}
|
||||
${OPENMW_FILES}
|
||||
${GAME} ${GAME_HEADER}
|
||||
${APPLE_BUNDLE_RESOURCES}
|
||||
@ -112,7 +111,6 @@ if (NOT ANDROID)
|
||||
else ()
|
||||
add_library(openmw
|
||||
SHARED
|
||||
${OPENMW_LIBS} ${OPENMW_LIBS_HEADER}
|
||||
${OPENMW_FILES}
|
||||
${GAME} ${GAME_HEADER}
|
||||
)
|
||||
@ -120,9 +118,10 @@ endif ()
|
||||
|
||||
# Sound stuff - here so CMake doesn't stupidly recompile EVERYTHING
|
||||
# when we change the backend.
|
||||
include_directories(${SOUND_INPUT_INCLUDES} ${BULLET_INCLUDE_DIRS})
|
||||
include_directories(${SOUND_INPUT_INCLUDES})
|
||||
|
||||
target_link_libraries(openmw
|
||||
${OENGINE_LIBRARY}
|
||||
${OGRE_LIBRARIES}
|
||||
${OGRE_STATIC_PLUGINS}
|
||||
${SHINY_LIBRARIES}
|
||||
|
1
extern/sdl4ogre/CMakeLists.txt
vendored
1
extern/sdl4ogre/CMakeLists.txt
vendored
@ -6,6 +6,7 @@ set(SDL4OGRE_SOURCE_FILES
|
||||
sdlinputwrapper.cpp
|
||||
sdlcursormanager.cpp
|
||||
sdlwindowhelper.cpp
|
||||
imagerotate.cpp
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
|
@ -17,7 +17,9 @@
|
||||
#include <OgreViewport.h>
|
||||
|
||||
using namespace Ogre;
|
||||
using namespace OEngine::Render;
|
||||
|
||||
namespace SFO
|
||||
{
|
||||
|
||||
void ImageRotate::rotate(const std::string& sourceImage, const std::string& destImage, const float angle)
|
||||
{
|
||||
@ -93,3 +95,5 @@ void ImageRotate::rotate(const std::string& sourceImage, const std::string& dest
|
||||
root->destroySceneManager(sceneMgr);
|
||||
delete rect;
|
||||
}
|
||||
|
||||
}
|
@ -3,9 +3,8 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace OEngine
|
||||
{
|
||||
namespace Render
|
||||
|
||||
namespace SFO
|
||||
{
|
||||
|
||||
/// Rotate an image by certain degrees and save as file, uses the GPU
|
||||
@ -22,6 +21,5 @@ namespace Render
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
4
extern/sdl4ogre/sdlcursormanager.cpp
vendored
4
extern/sdl4ogre/sdlcursormanager.cpp
vendored
@ -7,7 +7,7 @@
|
||||
#include <SDL_mouse.h>
|
||||
#include <SDL_endian.h>
|
||||
|
||||
#include <openengine/ogre/imagerotate.hpp>
|
||||
#include "imagerotate.hpp"
|
||||
|
||||
namespace SFO
|
||||
{
|
||||
@ -91,7 +91,7 @@ namespace SFO
|
||||
|
||||
// we use a render target to uncompress the DDS texture
|
||||
// just blitting doesn't seem to work on D3D9
|
||||
OEngine::Render::ImageRotate::rotate(tex->getName(), tempName, -rotDegrees);
|
||||
ImageRotate::rotate(tex->getName(), tempName, -rotDegrees);
|
||||
|
||||
Ogre::TexturePtr resultTexture = Ogre::TextureManager::getSingleton().getByName(tempName);
|
||||
|
||||
|
33
libs/openengine/CMakeLists.txt
Normal file
33
libs/openengine/CMakeLists.txt
Normal file
@ -0,0 +1,33 @@
|
||||
set(OENGINE_OGRE
|
||||
ogre/renderer.cpp
|
||||
ogre/lights.cpp
|
||||
ogre/selectionbuffer.cpp
|
||||
)
|
||||
|
||||
set(OENGINE_GUI
|
||||
gui/loglistener.cpp
|
||||
gui/manager.cpp
|
||||
gui/layout.cpp
|
||||
)
|
||||
|
||||
set(OENGINE_BULLET
|
||||
bullet/BtOgre.cpp
|
||||
bullet/BtOgreExtras.h
|
||||
bullet/BtOgreGP.h
|
||||
bullet/BtOgrePG.h
|
||||
bullet/physic.cpp
|
||||
bullet/physic.hpp
|
||||
bullet/BulletShapeLoader.cpp
|
||||
bullet/BulletShapeLoader.h
|
||||
bullet/trace.cpp
|
||||
bullet/trace.h
|
||||
)
|
||||
|
||||
set(OENGINE_ALL ${OENGINE_OGRE} ${OENGINE_GUI} ${OENGINE_BULLET})
|
||||
|
||||
set(OENGINE_LIBRARY "oengine")
|
||||
set(OENGINE_LIBRARY ${OENGINE_LIBRARY} PARENT_SCOPE)
|
||||
|
||||
source_group(oengine FILES ${OENGINE_ALL})
|
||||
|
||||
add_library(${OENGINE_LIBRARY} STATIC ${OENGINE_ALL})
|
Loading…
x
Reference in New Issue
Block a user