Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MSYS2 change MINGW64 to UCRT64 (#10939)
* [WIP] Use UCRT64 instead of MINGW64 * [WIP] Use UCRT64 instead of MINGW64 * [WIP] OMedit can simulate models with UCRT64 * Use MSYSTEM_PREFIX for MSYS environment - Updating submodules * Runtime dependencies for OMEdit - Install QT5 plugins - Install runtime dependencies (mainly qt) using CMake install * [WIP] Build OMEdit with UCRT64 and MINGW64 CMake I hope... * Fixing const char* * UCRT64 compiling with Makefiles.omdev.mingw * Fix Cmake check OMDEv on Linux * Compile OMSimulator with gcc only (on Windows) * revert MetaModelicaDev examples * Use System_openModelicaPlatform in OMEdit for msys * Fixing OMSI CMake command * Changing linking of libbfd for OMEdit * Improving cpp build, but it still failes * Fix om_curl for clang * Fixing cpp CMake bug * [WIP] remove TLM from build * Revert all metamodelica changes * Updating Readme for MINGW64 and UCRT64 * Adding missing environment variable * Revert change: Use C:\OMDev\tools\msys * Try finding gdb from OMEdit * Fixes for MINGW64 * Fixing MINGW64 C++ Makefile build * update the Windows MinGW build job to use UCRT64 * limit the msys2 execution on w3 computer that has Msys2/UTRC64 installed * quote cmd /c build*.bat as sh translates it to a c:\ * circumvent msys2 transforming /c to c:\ * $(where cmake) doesn't seem to work * set OMDEVMSYS in OMCompiler Makefile.omdev.mingw * add missing quote * echo some info on make variables * attempt to get rid of OMDEVMSYS * add the files missed in the previous commit * geez * resolve conflict with mater * use 996OMDEV windows path instead of C:\OMDev which is msys style * remember the original OMDEV and use it for MSVC * attempt to fix saving of original OMDEV * Revert "attempt to fix saving of original OMDEV" This reverts commit 80c7f54. * OMDEV_ESCAPED is not an environment variable. - The variable is set locally in the CMake file. Attempt to evaluate it as an environment variable will just return an empty value. * Tell boost we do not want to use its CMake config files. - If MSVC, we do not want to use MSYS/MingGW installed boost's CMake config files for locating Boost We have a manually provided boost already specified using BOOST_ROOT. - This is essentially saying we do not want any help from boost itself in finding its libraries and setup. Let CMake do it alone the old way by just finding the files it knows. - The reason this might be happening now is that we have a more recent boost installed in UCRT which knows and tries to help CMake in finding it. For MSVC we do not want that help because we do not want to use the installed boost. * IF MSVC use the Lapack from OMDev. Otherwise use from MinGW. - MSVC version of Lapack, just like Boost, is shipped by OMDev along separately (not from the MSYS/MinGW packages). Use that for MSVC. * Do not set BOOST_PATH_MSVC without checking VS version. - I am not sure how this all works together. It is not the easiest thing to follow. Too many duplications and redundancies. This might not fix the latest issue where we try to use a path where the value of $(OMDEV) variable has not been subsituted yet. It is probably because it was set as $$(OMDEV). In any case first try to cleanup things and see where it actually picks the value to use for BOOST_PATH_MSVC. * Run the getMSVCversion to set the BOOST_PATH_MSVC. - Make runtimeCPPmsvcinstall_old depend on getMSVCversion. We need the BOOST_PATH_MSVC variable set. Hopefully this works(?) * Fix handling of Boost and apack for OMSICpp too. * Define NPY_OS_MINGW for OMSens on Windows/MinGW. - There is a small bug in numpy's f2yc which does not detect MinGW environments as it is supposed to. See: numpy/numpy#24761 - This Makefile is used for MinGW only. So we can just define the variable without any other checks being needed. * Test the CMake based build on ucrt labeled machines. - For this PR (until it is merged and everything has settled down) the one machine that has ucrt support is labled `omdev-ucrt`. Use only that machine to test the CMake built too. * ucrt's `libbfd` depends on libsframe and `libzstd`. - ucrt version of `libbfd` depends on `libsframe` and `libzstd` in addition to `libiberity`. Add those libraries to the linking. * Updating OMOptim, README * - change the MinGW to UCRT in Jenkinsfile and add new labels on github so we can handle them differently - fix OMSens issues and update OMOptim - get rid of OMDEV_MSYS as is not really needed and is good to keep it simple * update OMOptim sumbodule and remove OMDEV_MSYS everywhere * adapt to new ucrt labels and parameters * do not copy unnecessary files * remove msvc runtimes targets from all-runtimes * properly name stuff * Fixing CMake builds, adding OMSens - Adding CMakeLists to OMSens - Workaround in OMEdit CMake to run install multiple times - Removing TODOs * update OMSens * Adding more runtime dependencies * put back the OMPython stuff * partially adapt the python infrastructure * fix missing tab * add the missing dlls for OMEdit and omc * forgot to remove conflict markup * updáted OMSimulator * some minor updates * OMEdit fixes for msys2-ucrt64 - fix the crash reporting to properly activate the handler - add a "Crash Test" button to About dialog for easy crash testing --------- Co-authored-by: Adrian Pop <adrian.pop@liu.se> Co-authored-by: Mahder Gebremedhin <mahder.geb@gmail.com>
- Loading branch information