Bring 3rdParty libraries into OMSimulator's CMake build system. (#1221)
* Bring 3rdParty libraries into OMSimulators CMake build system.
- The 3rdParty libraries used to be built as individual standalone projects and then were installed. The installed versions of them was then consumed by OMSimulator.
Now they are part of OMSimulators own build system. They get built and are used as if they were just another folder in the OMSimulator project. This simplifies management of them considerably.
- There are a few remaining libraries. Some are not used at all so they are skipped for now. Some (pthreads for MSVC) still need some special treatment since they do not have CMake support yet.
- Note that the top level compilation still starts from the Makefile or the bat scripts. This will be changed later once everything else is working.
- OMTLMSimulator is disabled for now.
* Run CMake from the root directory.
- This affects how the given INSTALL_DIR is interpreted since it is given as a relative path.
* Fix path to 3rdParty sundials
* Fix inconsistency. Recent CMake versions complain about this.
* Set the needed sundials options.
* Make the OMSimulatorPython3 script executable.
* Update 3rdParty. Disable `iconv` in libxml2 when MSVC.
* Disable OMTLM for MSVC as well.
* Set the correct install directory for MSVC build.
* Cleanup the bat scripts for MSVC.
- Remove 3rdParty libs that are now part of the unified configuration. There is no need to build them as standalone modules now.
* Undo changes to the python library setup.
- For now let it stay the way it was so the tests pass. It can be fixed later by another set of changes.
- Remove the library architecture directory from the lib install directory. This will also be added later by another set of changes.
* Now that OMTLM is removed, update tests accordingly.
* Install libraries to `lib/<lib_arch>`.
- e.g. `<some_dir>/lib/x86_linux_gnu`. - Adjust the shell script `OMSimulatorPython` accordingly. It is now configured from `OMSimulatorPython.in` using CMake. CMake adds the current library architecture to it.
* Cleanup and refactoring.
- If `OMSimulator` is being built standalone (not as part of OpenModelica) we include the required settings from the file `config.cmake/OMSimulatorTopLevelSettings.cmake`, otherwise we use the settings from the OpenModelica project.
- Require a minimum of CMake 3.14 everywhere (Linux, Windows, macOS ...)