From 6e244a5207b971fd651e40182e41517f511e2c2b Mon Sep 17 00:00:00 2001 From: Marko Luukkainen Date: Thu, 30 Aug 2018 15:41:41 +0300 Subject: [PATCH] Reduced logging level in FMIL to warning Fixed compilation issues with VS2017 gitlab #2 gitlab #3 Change-Id: I1caf4a7ed7fe3443a3180b857a87ae0d487b84b2 --- .../native/FMUSimulator/fmi_util.c.txt | 4 + .../native/FMUSimulator/fmilib_shared32.lib | Bin 123310 -> 123384 bytes .../native/FMUSimulator/fmilib_shared64.lib | Bin 121164 -> 121240 bytes .../native/FMUSimulator/src/sim_support.c | 956 +++++++++--------- .../libraries/FMUSimulator.dll | Bin 106496 -> 101888 bytes .../libraries/fmilib_shared.dll | Bin 277504 -> 293888 bytes .../libraries/fmu1_dll_cs.dll | Bin 11776 -> 12800 bytes .../libraries/fmu1_dll_me.dll | Bin 11264 -> 12800 bytes .../libraries/fmu2_dll_cs.dll | Bin 11776 -> 12800 bytes .../libraries/fmu2_dll_me.dll | Bin 11776 -> 12288 bytes .../libraries/FMUSimulator.dll | Bin 127488 -> 126976 bytes .../libraries/fmilib_shared.dll | Bin 335872 -> 358912 bytes .../libraries/fmu1_dll_cs.dll | Bin 12800 -> 15872 bytes .../libraries/fmu1_dll_me.dll | Bin 12288 -> 14848 bytes .../libraries/fmu2_dll_cs.dll | Bin 12288 -> 14848 bytes .../libraries/fmu2_dll_me.dll | Bin 12288 -> 14848 bytes 16 files changed, 483 insertions(+), 477 deletions(-) diff --git a/org.simantics.fmil.core/native/FMUSimulator/fmi_util.c.txt b/org.simantics.fmil.core/native/FMUSimulator/fmi_util.c.txt index bfd6e20..450910c 100644 --- a/org.simantics.fmil.core/native/FMUSimulator/fmi_util.c.txt +++ b/org.simantics.fmil.core/native/FMUSimulator/fmi_util.c.txt @@ -180,7 +180,11 @@ int FMI_CS_LOAD(const char *zipFilePath, const char *unzipFolder, void **fmuPoin callbacks->realloc = realloc; callbacks->free = free; callbacks->logger = importlogger; +#ifdef _DEBUG callbacks->log_level = jm_log_level_debug; +#else + callbacks->log_level = jm_log_level_warning; +#endif callbacks->context = 0; context = fmi_import_allocate_context(callbacks); diff --git a/org.simantics.fmil.core/native/FMUSimulator/fmilib_shared32.lib b/org.simantics.fmil.core/native/FMUSimulator/fmilib_shared32.lib index 205ff49e963bde8ed55f6090749b98d602c67cbe..2951ee8e2bb882fe93154d2fd76d2aa867c3244f 100644 GIT binary patch literal 123384 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 z zZ^cDQb?A_ommI+A;JD6fD2aIy4Guu#0 z_25OUCf=1+b?A_o9UWYvgFeF^Dp9pW=0$Wk2sPmlR)?v{k#4V!I+z&y59K5mr)9!y zS1$k5%;T`AbanWv4(W+8@Niaoc7It7vQw*~Sqa(sVZ~5|s&y_k3eQeyV7ftl9`dPc za%5ygIuW)12u>5M(Mqp*3)QMzJ5!_7oQPifMYhHICb=4PI5M(hax!c)H>ty^$;;|O z)hgGY$R6(kXf`jR*^=Noyr-^*aW;DU3nxI2`4K(JF5G+STBX|ef{0f3m3}p75Ls8z ziu=fz2H~ZFp(3@mqoX34IQJ6PphIe=|6*PT>*~W$fvT+~HPRi;%g--Y424%OfyhWl zuJxC&(u0`N8njptneQGAEso)|$TviT*wj#&s^u|1;_ZAfba`ptx*(`ERHbt1EQs{+ z$3mB5`_!d~n++AJYMXhHo`ZH|7V`QOk-4Gx%JxXfKaQ7QoSCjc{`^F1Ii8gt+y}au zwOGV!VMPb4D@Ql87K=-@Q0GkR&?2%*p`FqbO0~!$oNLe{RWncI^sw({twH{R$U5;D z*x@8ze)Rg+P@Ss%#Qa35Ea^j=x@yO~NMAk+RyjGX2SwtAhN#|SB{VptL<7VQ*Puaa zzPU85fr^w5Rj6DW620cKs0L;+SyM@*`tId@Xi-yXBwEIbaxG#D>&o?Vex$!3&)-T` z4_dfln{|jTH}Cc)n5tQ|UZni)FXME`-Ox42PR%%1ak8!35ZrqcYG@ykT@LaDuP)I= z-OLcGP`N(Li?mTX2e5|IA&=E$-l0WkFzVwK7*i|i(@Q z-q15R>CScSPhEbhw?31XAGr|zsq2#3uQ`j=#auZb3a{Kxr+SG7E8V}UHwFh61k+UFjKYeHj&b%ViE*CVyc8I0?ZM^}al zRIinh*#qq&4sjZwF1UA=GE=(BS}cgnqh10nTC5gbXn|{Q!WifpY_cF?6AEq{X0