Skip to content

Changes

Summary

  1. Update libxml2 to version 2.11.4. (#1216) (details)
Commit d89f397b16f6bbcf029d320e1a1ae2453ce02238 by Mahder Gebremedhin
Update libxml2 to version 2.11.4. (#1216)

* Update libxml2 to version 2.11.4.

  - This version comes with CMake support and many other fixes and improvements.

    - It is taken from https://github.com/GNOME/libxml2
    - The folders: `doc`, `fuzz`, `m4`, `result`, and `test` are removed to save space since they are not needed.
    - The required CMake version has been downgraded from 3.18 to 3.15.
      Ubuntu focal, one of our supported platforms, comes with CMake 3.16 so that is the maximum CMake version we can require right now.
      The libxml required CMake version was upgraded by https://github.com/GNOME/libxml2/commit/a5bc4605838335dd6bee9374fcb6b4718b2f5a5a in order to use `check_linker_flag` CMake utility function. We do not need that so it is removed and the CMake version is downgraded.

  - The CMake support allows OMSimulator to move one step closer to complete CMake based build.

* Disable iconv for MSVC builds.

* Do not add 's' postfix for the static lib.

  - We are intersted in building only the static library. No shared version.
    That means there is not going to be any name conflict. So just output
    the library without any posfix (just libxml2.lib instead of libxml2s.lib).

    This saves us from having to updated the expected library name in
    other places.

  - Debug builds still get the 'd' postfix for now. Perhaps this should
    be removed as well.

* Define LIBXML_STATIC since we are using the static libxml

  - This will tell libxml2 headers not to add dll direction specifiers
    (`__declspec(dllimport)` and `__declspec(dllexport)`)

* Compile OMTLMSimulator libs with /MD if using MSVC.

  - This seems to be what is picked by default by cmake. OMTLMSimulator
    does not need or use CMake right now, however it links to libraries
    built by CMake (within OMSimulator, e.g., libxml2) which get compiled
    with /MD. So set it here as well to avoid link time failures.

* Libxml2 is no longer needed to be installed after build.

  - It is built as a static library now even on Windows with MSVC.

* Update 3rdParty and OMTLMSimulator to merged versions.
The file was modified configWinVS.bat (diff)
The file was modified OMTLMSimulator (diff)
The file was modified src/OMSimulatorPython/CMakeLists.txt (diff)
The file was modified 3rdParty (diff)
The file was modified Makefile (diff)