Now instead of having AI and scripting as separate .dll/.so that is dynamically loaded on requests, these components are part of VCMI library directly. This removes need of custom code for Android/iOS where dynamic loading is blocked as well removes multiple issues on desktop platforms Changes: - Added libFacade module that actually generates libvcmi.so and has all librrary components as its dependencies to resolve circular dependencies - All library components are now OBJECT libraries (and not dynamic or static libraries). Reasoning: STATIC libraries don't work due to way linker walks through compiled units, and DYNAMIC would work, but would keep overhead from inability to inline functions from library. - Removed no longer necessary RPATH handling since here are no more AI and scripting libraries to load - Replaced CDynLibHandler with scaled down AIFactory class
15 lines
506 B
C++
15 lines
506 B
C++
/*
|
|
* Facade.cpp, part of VCMI engine
|
|
*
|
|
* Authors: listed in file AUTHORS in main folder
|
|
*
|
|
* License: GNU General Public License v2.0 or later
|
|
* Full text of license available in license.txt file, in main folder
|
|
*
|
|
*/
|
|
|
|
// vcmiFacade is an aggregator shared library that bundles vcmiCore with
|
|
// every AI implementation and the Lua scripting backend. It carries no
|
|
// code of its own - this translation unit exists only because CMake
|
|
// requires every library target to have at least one source file.
|