# define header and source files for the library set(HEADER_FILES include/modules/worldmap/WorldMapModule.h include/common/QGearsManualObject.h include/common/QGearsResource.h include/common/QGearsStringUtil.h include/common/TypeDefine.h include/common/LzsFile.h include/common/File.h include/common/FileSystem.h include/common/make_unique.h include/map/QGearsBackground2DFile.h include/map/QGearsBackground2DFileManager.h include/map/QGearsBackground2DFileXMLSerializer.h include/map/QGearsTile.h include/map/QGearsMapFile.h include/map/QGearsMapFileManager.h include/map/QGearsMapFileXMLSerializer.h include/map/QGearsWalkmeshFile.h include/map/QGearsWalkmeshFileManager.h include/map/QGearsWalkmeshFileXMLSerializer.h include/LuaIncludes.h include/QGearsGameState.h include/QGearsPrerequisites.h include/core/particles/emitters/ParticlePointEmitter.h include/core/particles/emitters/ParticlePointEmitterFactory.h include/core/particles/renderer/ParticleEntityAdditionalData.h include/core/particles/renderer/ParticleEntityRenderer.h include/core/particles/renderer/ParticleEntityRendererDictionary.h include/core/particles/renderer/ParticleEntityRendererFactory.h include/core/particles/Particle.h include/core/particles/ParticleAdditionalData.h include/core/particles/ParticleEmitter.h include/core/particles/ParticleEmitterDictionary.h include/core/particles/ParticleEmitterFactory.h include/core/particles/ParticleEmitterTranslator.h include/core/particles/ParticlePool.h include/core/particles/ParticlePoolMap.h include/core/particles/ParticleRenderer.h include/core/particles/ParticleRendererFactory.h include/core/particles/ParticleRendererTranslator.h include/core/particles/ParticleSystem.h include/core/particles/ParticleSystemFactory.h include/core/particles/ParticleSystemManager.h include/core/particles/ParticleSystemTranslator.h include/core/particles/ParticleSystemTranslatorManager.h include/core/particles/ParticleTechnique.h include/core/particles/ParticleTechniqueTranslator.h include/core/particles/ParticleVisual.h include/core/Assert.h include/core/Background2D.h include/core/Background2DAnimation.h include/core/CameraManager.h include/core/CameraManagerCommands.h include/core/ConfigCmd.h include/core/ConfigCmdManager.h include/core/ConfigCmdManagerCommands.h include/core/ConfigFile.h include/core/ConfigVar.h include/core/ConfigVarManager.h include/core/Console.h include/core/DebugDraw.h include/core/Entity.h include/core/EntityCollision.h include/core/EntityDirection.h include/core/EntityManager.h include/core/EntityModel.h include/core/EntityPoint.h include/core/EntityTrigger.h include/core/Event.h include/core/GameFrameListner.h include/core/InputManager.h include/core/InputManagerCommands.h include/core/Logger.h include/core/Module.h include/core/ScriptManager.h include/core/ScriptManagerBinds.h include/core/ScriptManagerCommands.h include/core/Timer.h include/core/UiAnimation.h include/core/UiFont.h include/core/UiManager.h include/core/UiSprite.h include/core/UiTextArea.h include/core/UiWidget.h include/core/Utilites.h include/core/Walkmesh.h include/core/XmlBackground2DFile.h include/core/XmlFile.h include/core/XmlFontFile.h include/core/XmlFontsFile.h include/core/XmlMapFile.h #include/core/XmlMapsFile.h include/core/XmlPrototypesFile.h include/core/XmlScreenFile.h include/core/XmlScreensFile.h include/core/XmlScriptsFile.h include/core/XmlTextFile.h include/core/XmlTextsFile.h include/core/DialogsManager.h include/core/ScriptManagerBinds.h include/core/TextManager.h include/core/TextManagerCommands.h #include/viewer/ViewerModule.h include/data/QGearsXMLSerializer.h ) set(HEADER_FILES_DATA include/common/QGearsApplication.h include/data/worldmap/MapFile.h include/data/worldmap/MapFileManager.h include/data/worldmap/MapFileSerializer.h include/data/worldmap/TxzFile.h include/data/worldmap/TxzFileManager.h include/data/worldmap/TxzFileSerializer.h include/data/QGearsAFile.h include/data/QGearsAFileManager.h include/data/QGearsAFileSerializer.h include/data/QGearsBackgroundFile.h include/data/QGearsBackgroundFileManager.h include/data/QGearsBackgroundFileSerializer.h include/data/QGearsBackgroundTextureLoader.h include/data/QGearsCameraMatrixFile.h include/data/QGearsCameraMatrixFileManager.h include/data/QGearsCameraMatrixFileSerializer.h include/data/QGearsFLevelBackground2DLoader.h include/data/QGearsFLevelFile.h include/data/QGearsFLevelFileManager.h include/data/QGearsFLevelFileSerializer.h include/data/QGearsFLevelTextureLoader.h include/data/QGearsHRCFile.h include/data/QGearsHRCFileManager.h include/data/QGearsHRCFileSerializer.h include/data/QGearsHRCMeshLoader.h include/data/QGearsHRCSkeletonLoader.h include/data/QGearsLGPArchive.h include/data/QGearsLGPArchiveFactory.h include/data/QGearsLGPArchiveSerializer.h include/data/QGearsLZSDataStream.h include/data/QGearsLZSFLevelFile.h include/data/QGearsLZSFLevelFileManager.h include/data/QGearsPaletteFile.h include/data/QGearsPaletteFileManager.h include/data/QGearsPaletteFileSerializer.h include/data/QGearsPFile.h include/data/QGearsPFileManager.h include/data/QGearsPFileSerializer.h include/data/QGearsRSDFile.h include/data/QGearsRSDFileManager.h include/data/QGearsRSDFileSerializer.h include/data/QGearsSerializer.h include/data/QGearsTexCodec.h include/data/QGearsTexFile.h include/data/QGearsTriggersFile.h include/data/QGearsMapListFile.h ) set(SOURCE_FILES_DATA src/common/QGearsApplication.cpp src/data/QGearsAFile.cpp src/data/QGearsAFileManager.cpp src/data/QGearsAFileSerializer.cpp src/data/worldmap/MapFile.cpp src/data/worldmap/MapFileManager.cpp src/data/worldmap/MapFileSerializer.cpp src/data/worldmap/TxzFile.cpp src/data/worldmap/TxzFileManager.cpp src/data/worldmap/TxzFileSerializer.cpp src/data/QGearsBackgroundFile.cpp src/data/QGearsBackgroundFileManager.cpp src/data/QGearsBackgroundFileSerializer.cpp src/data/QGearsBackgroundTextureLoader.cpp src/data/QGearsCameraMatrixFile.cpp src/data/QGearsCameraMatrixFileManager.cpp src/data/QGearsCameraMatrixFileSerializer.cpp src/data/QGearsFLevelBackground2DLoader.cpp src/data/QGearsFLevelFile.cpp src/data/QGearsFLevelFileManager.cpp src/data/QGearsFLevelFileSerializer.cpp src/data/QGearsFLevelTextureLoader.cpp src/data/QGearsHRCFile.cpp src/data/QGearsHRCFileManager.cpp src/data/QGearsHRCFileSerializer.cpp src/data/QGearsHRCMeshLoader.cpp src/data/QGearsHRCSkeletonLoader.cpp src/data/QGearsLGPArchive.cpp src/data/QGearsLGPArchiveFactory.cpp src/data/QGearsLGPArchiveSerializer.cpp src/data/QGearsLZSDataStream.cpp src/data/QGearsLZSFLevelFile.cpp src/data/QGearsLZSFLevelFileManager.cpp src/data/QGearsPaletteFile.cpp src/data/QGearsPaletteFileManager.cpp src/data/QGearsPaletteFileSerializer.cpp src/data/QGearsPFile.cpp src/data/QGearsPFileManager.cpp src/data/QGearsPFileSerializer.cpp src/data/QGearsRSDFile.cpp src/data/QGearsRSDFileManager.cpp src/data/QGearsRSDFileSerializer.cpp src/data/QGearsSerializer.cpp src/data/QGearsTexCodec.cpp src/data/QGearsTexFile.cpp src/data/QGearsTriggersFile.cpp src/data/QGearsMapListFile.cpp ) set(SOURCE_FILES src/modules/worldmap/WorldMapModule.cpp src/common/QGearsManualObject.cpp src/common/QGearsResource.cpp src/common/QGearsStringUtil.cpp src/common/TypeDefine.cpp src/common/LzsFile.cpp src/common/File.cpp src/common/FileSystem.cpp src/core/particles/emitters/ParticlePointEmitter.cpp src/core/particles/Particle.cpp src/core/particles/ParticleEmitter.cpp src/core/particles/ParticleEmitterDictionary.cpp src/core/particles/ParticleEmitterTranslator.cpp src/core/particles/ParticleRenderer.cpp src/core/particles/ParticleRendererTranslator.cpp src/core/particles/ParticleSystem.cpp src/core/particles/ParticleSystemFactory.cpp src/core/particles/ParticleSystemManager.cpp src/core/particles/ParticleSystemTranslator.cpp src/core/particles/ParticleSystemTranslatorManager.cpp src/core/particles/ParticleTechnique.cpp src/core/particles/ParticleTechniqueTranslator.cpp src/core/particles/ParticleVisual.cpp src/core/particles/renderer/ParticleEntityRenderer.cpp src/core/particles/renderer/ParticleEntityRendererDictionary.cpp src/core/Background2D.cpp src/core/Background2DAnimation.cpp src/core/CameraManager.cpp src/core/ConfigCmd.cpp src/core/ConfigCmdManager.cpp src/core/ConfigFile.cpp src/core/ConfigVar.cpp src/core/ConfigVarManager.cpp src/core/Console.cpp src/core/DebugDraw.cpp src/core/Entity.cpp src/core/EntityCollision.cpp src/core/EntityDirection.cpp src/core/EntityManager.cpp src/core/EntityModel.cpp src/core/EntityPoint.cpp src/core/EntityTrigger.cpp src/core/GameFrameListner.cpp src/core/InputManager.cpp src/core/ScriptManager.cpp src/core/Timer.cpp src/core/UiAnimation.cpp src/core/UiFont.cpp src/core/UiManager.cpp src/core/UiSprite.cpp src/core/UiTextArea.cpp src/core/UiWidget.cpp src/core/Utilites.cpp src/core/Walkmesh.cpp src/core/XmlBackground2DFile.cpp src/core/XmlFile.cpp src/core/XmlFontFile.cpp src/core/XmlFontsFile.cpp src/core/XmlMapFile.cpp src/core/XmlMapsFile.cpp src/core/XmlPrototypesFile.cpp src/core/XmlScreenFile.cpp src/core/XmlScreensFile.cpp src/core/XmlScriptsFile.cpp src/core/XmlTextFile.cpp src/core/XmlTextsFile.cpp src/core/DialogsManager.cpp src/core/TextManager.cpp src/map/QGearsBackground2DFile.cpp src/map/QGearsBackground2DFileManager.cpp src/map/QGearsBackground2DFileXMLSerializer.cpp src/map/QGearsMapFile.cpp src/map/QGearsMapFileManager.cpp src/map/QGearsMapFileXMLSerializer.cpp src/map/QGearsWalkmeshFile.cpp src/map/QGearsWalkmeshFileManager.cpp src/map/QGearsWalkmeshFileXMLSerializer.cpp #src/viewer/ViewerModule.cpp src/QGearsGameState.cpp src/data/QGearsXMLSerializer.cpp ) if(VGears_SOUND) set(HEADER_FILES ${HEADER_FILES} include/core/AudioManager.h include/core/XmlMusicsFile.h ) set(SOURCE_FILES ${SOURCE_FILES} src/core/AudioManager.cpp src/core/XmlMusicsFile.cpp ) endif() set(ois_lib "/usr/lib/x86_64-linux-gnu/libOIS.so") #set(luabind_lib "/usr/lib/x86_64-linux-gnu/libluabind.a") #set(luabind_lib "${VGears_SOURCE_DIR}/lib/libluabind.a") #set(luabind_lib "/usr/lib/x86_64-linux-gnu/libluabind.so.0.9.1d1") #set(lua_lib "/usr/lib/x86_64-linux-gnu/liblua5.1.so.0") include_directories( ${VGears_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/include # TODO: remove dependency on ff7 related code ${VGears_SOURCE_DIR}/SupportedGames/FinalFantasy7/include ${CMAKE_CURRENT_SOURCE_DIR}/SupportedGames/FinalFantasy7/include /usr/include/OIS/ ) #compiler options if (MSVC) else() if(WIN32) add_definitions( -W -mthreads -fmessage-length=0 -fexceptions -fident ) #linker options add_definitions( -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base -Wl,--add-stdcall-alias ) endif() endif() #defines if(WIN32) #check usage and remove if uneccessary add_definitions(-DWIN32 -D__WIN32__ -D_WINDOWS) endif() add_library(QGearsMain STATIC ${HEADER_FILES} ${SOURCE_FILES} /usr/include/OIS/ ) # Coverage uses more memory, combined with PCH can cause OOM/ICE #if ($ENV{COVERAGE}!=1) cotire(QGearsMain) #endif() SET_PROPERTY(TARGET QGearsMain PROPERTY FOLDER "v-gears") add_library(v-gears-data STATIC ${HEADER_FILES_DATA} ${SOURCE_FILES_DATA} ) add_dependencies(v-gears-data configure_vgears_version) # Coverage uses more memory, combined with PCH can cause OOM/ICE if ($ENV{COVERAGE}!=1) cotire(v-gears-data) endif() SET_PROPERTY(TARGET v-gears-data PROPERTY FOLDER "v-gears") add_executable(v-gears src/Main.cpp ) SET_PROPERTY(TARGET v-gears PROPERTY FOLDER "v-gears") set(CPACK_PACKAGE_EXECUTABLES v-gears "v-gears") set(CPACK_WIX_PROGRAM_MENU_FOLDER "VGears") if (APPLE) target_link_libraries(q-gears "-framework CoreFoundation -framework Cocoa -framework IOKit" ${ois_lib}) endif() if( WIN32 AND NOT (CMAKE_BUILD_TYPE MATCHES "Debug") ) set_target_properties( q-gears PROPERTIES WIN32_EXECUTABLE ON ) if (MSVC) set_target_properties(q-gears PROPERTIES LINK_FLAGS "/SUBSYSTEM:CONSOLE") endif() endif() target_link_libraries(QGearsMain ${VGears_LIBRARIES} #lua5.2 LuaBind liblua tinyxml FinalFantasy7 ${ois_lib} #${lua_lib} #${luabind_lib} ) target_link_libraries(v-gears QGearsMain ${Boost_LIBRARIES} v-gears-data ${ois_lib} #${luabind_lib} #luabind ) target_link_libraries(v-gears-data QGearsMain ${ois_lib} #${luabind_lib} ) if(WIN32 OR APPLE) install(TARGETS v-gears DESTINATION .) else() install(TARGETS v-gears RUNTIME DESTINATION ./games) endif()