mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-16 16:49:55 +00:00
6b00d4ad91
- Vanilla behaviour mimic'd where possible, except copying over autocalc spells to the npc's spell list when the status changes
207 lines
5.8 KiB
CMake
207 lines
5.8 KiB
CMake
project (Components)
|
|
|
|
# Version file
|
|
set (VERSION_HPP_IN ${CMAKE_CURRENT_SOURCE_DIR}/version/version.hpp.cmake)
|
|
set (VERSION_HPP ${CMAKE_CURRENT_SOURCE_DIR}/version/version.hpp)
|
|
if (GIT_CHECKOUT)
|
|
add_custom_target (git-version
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
|
|
-DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
|
|
-DVERSION_HPP_IN=${VERSION_HPP_IN}
|
|
-DVERSION_HPP=${VERSION_HPP}
|
|
-DOPENMW_VERSION_MAJOR=${OPENMW_VERSION_MAJOR}
|
|
-DOPENMW_VERSION_MINOR=${OPENMW_VERSION_MINOR}
|
|
-DOPENMW_VERSION_RELEASE=${OPENMW_VERSION_RELEASE}
|
|
-DOPENMW_VERSION=${OPENMW_VERSION}
|
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/GitVersion.cmake
|
|
VERBATIM)
|
|
else (GIT_CHECKOUT)
|
|
configure_file(${VERSION_HPP_IN} ${VERSION_HPP})
|
|
endif (GIT_CHECKOUT)
|
|
|
|
# source files
|
|
|
|
add_component_dir (settings
|
|
settings
|
|
)
|
|
|
|
add_component_dir (nifoverrides
|
|
nifoverrides
|
|
)
|
|
|
|
add_component_dir (bsa
|
|
bsa_archive bsa_file resources
|
|
)
|
|
|
|
add_component_dir (nif
|
|
controlled effect niftypes record controller extra node record_ptr data niffile property nifkey data node base nifstream
|
|
)
|
|
|
|
add_component_dir (nifcache
|
|
nifcache
|
|
)
|
|
|
|
add_component_dir (nifogre
|
|
ogrenifloader skeleton material mesh particles controller
|
|
)
|
|
|
|
add_component_dir (nifbullet
|
|
bulletnifloader
|
|
)
|
|
|
|
add_component_dir (to_utf8
|
|
to_utf8
|
|
)
|
|
|
|
add_component_dir (esm
|
|
attr defs esmcommon esmreader esmwriter loadacti loadalch loadappa loadarmo loadbody loadbook loadbsgn loadcell
|
|
loadclas loadclot loadcont loadcrea loaddial loaddoor loadench loadfact loadglob loadgmst
|
|
loadinfo loadingr loadland loadlevlist loadligh loadlock loadprob loadrepa loadltex loadmgef loadmisc
|
|
loadnpc loadpgrd loadrace loadregn loadscpt loadskil loadsndg loadsoun loadspel loadsscr loadstat
|
|
loadweap records aipackage effectlist spelllist variant variantimp loadtes3 cellref filter
|
|
savedgame journalentry queststate locals globalscript player objectstate cellid cellstate globalmap inventorystate containerstate npcstate creaturestate dialoguestate statstate
|
|
npcstats creaturestats weatherstate quickkeys fogstate spellstate activespells creaturelevliststate doorstate projectilestate debugprofile
|
|
aisequence magiceffects util custommarkerstate stolenitems transport
|
|
)
|
|
|
|
add_component_dir (esmterrain
|
|
storage
|
|
)
|
|
|
|
add_component_dir (misc
|
|
utf8stream stringops resourcehelpers
|
|
)
|
|
|
|
IF(NOT WIN32 AND NOT APPLE)
|
|
add_definitions(-DGLOBAL_DATA_PATH="${GLOBAL_DATA_PATH}")
|
|
add_definitions(-DGLOBAL_CONFIG_PATH="${GLOBAL_CONFIG_PATH}")
|
|
ENDIF()
|
|
add_component_dir (files
|
|
linuxpath androidpath windowspath macospath fixedpath multidircollection collections configurationmanager
|
|
constrainedfiledatastream lowlevelfile
|
|
)
|
|
|
|
add_component_dir (compiler
|
|
context controlparser errorhandler exception exprparser extensions fileparser generator
|
|
lineparser literals locals output parser scanner scriptparser skipparser streamerrorhandler
|
|
stringparser tokenloc nullerrorhandler opcodes extensions0 declarationparser
|
|
quickfileparser discardparser junkparser
|
|
)
|
|
|
|
add_component_dir (interpreter
|
|
context controlopcodes genericopcodes installopcodes interpreter localopcodes mathopcodes
|
|
miscopcodes opcodes runtime scriptopcodes spatialopcodes types defines
|
|
)
|
|
|
|
add_component_dir (translation
|
|
translation
|
|
)
|
|
|
|
add_definitions(-DTERRAIN_USE_SHADER=1)
|
|
add_component_dir (terrain
|
|
quadtreenode chunk world defaultworld terraingrid storage material buffercache defs
|
|
)
|
|
|
|
add_component_dir (loadinglistener
|
|
loadinglistener
|
|
)
|
|
|
|
add_component_dir (ogreinit
|
|
ogreinit ogreplugin
|
|
)
|
|
|
|
add_component_dir (widgets
|
|
box imagebutton tags list numericeditbox sharedstatebutton windowcaption widgets
|
|
)
|
|
|
|
add_component_dir (fontloader
|
|
fontloader
|
|
)
|
|
|
|
add_component_dir (gameplay
|
|
autocalc autocalcspell
|
|
)
|
|
|
|
add_component_dir (version
|
|
version
|
|
)
|
|
|
|
set (ESM_UI ${CMAKE_SOURCE_DIR}/files/ui/contentselector.ui
|
|
)
|
|
|
|
add_component_qt_dir (contentselector
|
|
model/modelitem model/esmfile
|
|
model/naturalsort model/contentmodel
|
|
model/loadordererror
|
|
view/combobox view/contentselector
|
|
)
|
|
add_component_qt_dir (config
|
|
gamesettings
|
|
launchersettings
|
|
settingsbase
|
|
)
|
|
|
|
add_component_qt_dir (process
|
|
processinvoker
|
|
)
|
|
|
|
if (DESIRED_QT_VERSION MATCHES 4)
|
|
include(${QT_USE_FILE})
|
|
QT4_WRAP_UI(ESM_UI_HDR ${ESM_UI})
|
|
QT4_WRAP_CPP(MOC_SRCS ${COMPONENT_MOC_FILES})
|
|
else()
|
|
QT5_WRAP_UI(ESM_UI_HDR ${ESM_UI})
|
|
QT5_WRAP_CPP(MOC_SRCS ${COMPONENT_MOC_FILES})
|
|
endif()
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND NOT APPLE)
|
|
add_definitions(-fPIC)
|
|
endif()
|
|
endif ()
|
|
|
|
include_directories(${BULLET_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
add_library(components STATIC ${COMPONENT_FILES} ${MOC_SRCS} ${ESM_UI_HDR})
|
|
|
|
target_link_libraries(components
|
|
${Boost_SYSTEM_LIBRARY}
|
|
${Boost_FILESYSTEM_LIBRARY}
|
|
${Boost_THREAD_LIBRARY}
|
|
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
|
${Boost_WAVE_LIBRARY}
|
|
${OGRE_LIBRARIES}
|
|
${OENGINE_LIBRARY}
|
|
${BULLET_LIBRARIES}
|
|
)
|
|
|
|
if (WIN32)
|
|
target_link_libraries(components
|
|
${Boost_LOCALE_LIBRARY})
|
|
endif()
|
|
|
|
if (DESIRED_QT_VERSION MATCHES 4)
|
|
target_link_libraries(components
|
|
${QT_QTCORE_LIBRARY}
|
|
${QT_QTGUI_LIBRARY})
|
|
else()
|
|
qt5_use_modules(components Widgets Core)
|
|
endif()
|
|
|
|
if (GIT_CHECKOUT)
|
|
add_dependencies (components git-version)
|
|
endif (GIT_CHECKOUT)
|
|
|
|
if (WIN32)
|
|
target_link_libraries(components shlwapi)
|
|
endif()
|
|
|
|
# Fix for not visible pthreads functions for linker with glibc 2.15
|
|
if (UNIX AND NOT APPLE)
|
|
target_link_libraries(components ${CMAKE_THREAD_LIBS_INIT})
|
|
endif()
|
|
|
|
|
|
# Make the variable accessible for other subdirectories
|
|
set(COMPONENT_FILES ${COMPONENT_FILES} PARENT_SCOPE)
|