build directory in cmake jargon = MSVS "output directory"
setting ENABLE_TEST true may cause stuff to not compile
for adding new libraries you may have to add "library find module" file to vcmicode/cmake_modules, cmake provides some built-in find modules so that's why there is no find file for boost for example
and do not forget that find files are universal and do not have to be customized for every project, so it makes sense to fight well writen one on internet and copypaste
if library cannot be found make sure your variants of library file name and "last parent directories" are included in the find file
Appveyor etc. related stuff, relevant as of 22.06.2019:
atm vcpkg-related stuff are in osx/cmakelists.txt - pretty counterintuitive, huh?
there is install directory - it is NOT build directory, install(...) command adds stuff to it, then it is used as cache for cpack command to generate appveyor installer
adding qt dlls to INSTALL directory is broken for home building, but works for appveyor, see osx/cmakelists.txt for the code
adding stuff to BUILD directory is done by vcpkg toolchain script, it is required to setup MSVS cmake project properly
adding stuff to INSTALL directory is done by osx/cmakelists.txt and maybe something else
vcpkg toolchain script in version delivered in github repo lacks some features - for example it will NOT copy dependencies for parts of VCMI that produce library and not executable (lua scripting module and luajit for example) - lua51.dll will not get copied
with newer version of toolchain script it will be copied though not in location where we want (scripting subfolder instead of main folder, and I do not see way to control the deps copy procedure)
also with newer version of vcpkg toolchain script copying some other libs will be broken, if you do some builds and then swap script to new one you will hide the errors - wipe out built VCMI files and rebuild project from scratch to see the problem