• Rui Abreu Ferreira's avatar
    MSVC: Build third-party dependencies as release DLLs · db7fdcd0
    Rui Abreu Ferreira authored
    Using /MT was causing issues when building luarocks, revert it, use the
    dynammic runtime and generate release DLLs for the dependencies.
    Some refactoring was required because for linking cmake looks for the
    import libraries (.lib) but on runtime executables we need the .dll files
    to be in the same folder.
    
    The DLLs are placed in the bin/ folder in order for nvim.exe to run
    during the build and tests. The install target installs the DLLs with
    the nvim binary - uses GetPrerequisites to find runtime DLLs.
    
    Some minor issues that required adjustments:
    - [MSVC] FindMsgpack.cmake now looks for msgpack_import.lib instead of
      msgpack.lib
    - The lua-client fails to find libuv.lib, instead it looks for uv.lib,
      added second copy of the file to the install command.
    - [MSVC] CMAKE_BUILD_TYPE affects the output paths, default to Release.
    
    Part of these changes are credited to @jasonwilliams200OK who fixed the
    third-party recipes to consistently use the same build type.
    db7fdcd0
WindowsDllCopy.cmake 999 Bytes