Files
ogre-jolt-prototype/CMakeLists.txt
2025-11-10 07:14:45 +03:00

52 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.13.0)
project(jolt-physics)
set(CMAKE_CXX_STANDARD 14)
# The COMPONENTS part checks that OGRE was built the way we need it
# The CONFIG flag makes sure we get OGRE instead of OGRE-next
find_package(OGRE REQUIRED COMPONENTS Bites Paging Terrain CONFIG)
find_package(ZLIB)
find_package(SDL2)
find_package(assimp REQUIRED CONFIG)
find_package(OgreProcedural REQUIRED CONFIG)
find_package(pugixml REQUIRED CONFIG)
find_package(flecs REQUIRED CONFIG)
add_library(fix::assimp INTERFACE IMPORTED)
set_target_properties(fix::assimp PROPERTIES
INTERFACE_LINK_LIBRARIES "${ASSIMP_LIBRARIES};pugixml"
INTERFACE_LINK_DIRECTORIES "${ASSIMP_LIBRARY_DIRS}"
)
add_library(fix::OgreProcedural INTERFACE IMPORTED)
set_target_properties(fix::OgreProcedural PROPERTIES
INTERFACE_LINK_LIBRARIES "OgreProcedural"
INTERFACE_LINK_DIRECTORIES "${CMAKE_PREFIX_PATH}/lib"
)
if(OGRE_STATIC)
add_library(OgreGLSupportStatic INTERFACE IMPORTED)
set_target_properties(OgreGLSupportStatic PROPERTIES
INTERFACE_LINK_LIBRARIES "OgreGLSupportStatic"
INTERFACE_LINK_DIRECTORIES "${CMAKE_PREFIX_PATH}/lib"
)
endif()
add_library(fix::pugixml INTERFACE IMPORTED)
set_target_properties(fix::pugixml PROPERTIES
INTERFACE_LINK_LIBRARIES "pugixml"
INTERFACE_LINK_DIRECTORIES "${CMAKE_PREFIX_PATH}/lib"
)
# add the source files as usual
add_executable(jolt-demo main.cpp)
# this also sets the includes and pulls third party dependencies
target_link_libraries(jolt-demo OgreBites OgrePaging ${ASSIMP_LIBRARIES}
-Wl,--as-needed
)
if(OGRE_STATIC)
target_link_options(jolt-demo PRIVATE -static-libstdc++ -static-libgcc)
endif()
#add_dependencies(0_Bootstrap stage_files import_vrm)