Timeline


and

2020-10-27:

23:20 Changeset in OpenModelica [d173b8f]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 18 edits in /

fix #5307: clang compilation on msys2/mingw

22:53 Changeset in OpenModelica [ce2fa85d]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 1 edit in OMSimulator

Update OMSimulator (#6870)

21:05 Changeset in OpenModelica [cf1db474]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 1 edit in OMCompiler/Compiler/Util/SBInterval.mo

Fix infinite intervals more

20:35 Changeset in OpenModelica [e0f6ad1] by Adrian Pop <adrian.pop@…>
  • 18 edits in /

fix #5307: clang compilation on msys2/mingw

19:44 Ticket #6169 (Missed icons) closed by casella
duplicate: Duplicate of #6167
16:48 Ticket #6169 (Missed icons) created by anonymous
Modelica Fluid library: several components icons (tanks, valves) are …
16:27 Changeset in OpenModelica [0c3c162]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 1 edit in OMCompiler/Compiler/Script/CevalScript.mo

Scrape some barnacles off CevalScript.

15:59 Changeset in OpenModelica [af46617] by Lennart Ochel <lennart.ochel@…>
  • 1 edit in OMSimulator

Update OMSimulator

15:34 Changeset in OpenModelica [59d3867] by Per Östlund <perost86@…>
  • 1 edit in OMCompiler/Compiler/Script/CevalScript.mo

Scrape some barnacles off CevalScript.

10:51 Ticket #6168 (Link to OpenModelica Users Guide in OMEdit 1.16 (Windows) broken...) created by jarry@…
Click on Help -> OpenModelica Users Guide (or pressing F1) in …
01:32 Changeset in OpenModelica [ea0ab07]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 1 edit in OMCompiler/Compiler/NFFrontEnd/NFCeval.mo

Loosen variability requirement in Ceval.evalCref.

00:46 Changeset in OpenModelica [cbc99dd7] by Per Östlund <perost86@…>
  • 1 edit in OMCompiler/Compiler/NFFrontEnd/NFCeval.mo

Loosen variability requirement in Ceval.evalCref.

2020-10-26:

22:37 Changeset in OpenModelica [a55c6703] by phannebohm <philip.hannebohm@…>
  • 1 edit in OMCompiler/Compiler/Util/SBInterval.mo

Fix infinite intervals more

22:14 Changeset in OpenModelica [c7c008c]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 1 edit in OMCompiler/Compiler/Util/SBInterval.mo

Fix infinite intervals

16:21 Changeset in OpenModelica [a82f424] by phannebohm <philip.hannebohm@…>
  • 1 edit in OMCompiler/Compiler/Util/SBInterval.mo

Fix infinite intervals

2020-10-25:

14:09 Ticket #6167 (Rendering problem with Modelica.Fluid icons) created by victor
On v.1.16.0 (64bit) Windows Fluid.Vessels.OpenTank and …
14:01 Ticket #6166 (Fluid/Examples/PumpingSystem can't be simulated) created by victor
When trying to run /Fluid/Examples/PumpingSystem.mo in OpenModelica …

2020-10-24:

16:14 Changeset in OpenModelica [5060eea]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

update start values with FocusOut event (#6857)

  • update start values with FocusOut event
  • rename function name
  • use return statement
  • improve code readability
  • improve variable naming
  • some simplifications :D
  • Remove superfluous return
  • Use a reference!

Co-authored-by: Lennart Ochel <lennart.ochel@…>

16:00 Milestone 1.16.0 completed
This release provides replaceable class support in the GUI, as well as …
14:50 ReleaseNotes/1.16.0 edited by adrpo
(diff)
01:18 ReleaseNotes/1.16.0 edited by adrpo
(diff)

2020-10-23:

21:20 Changeset in OpenModelica [2919c212]maintenance/v1.16v1.16.0 by Adrian Pop <adrian.pop@…>
  • 3 edits in OMCompiler/Compiler/NFFrontEnd

Array connection improvements.

  • Replace : subscripts with 1:size subscripts.
  • Fill out connector crefs with : subscripts such that all dimensions are subscripted.
  • Pad the maps for each connector so they all have the same dimensions.
21:20 Changeset in OpenModelica [81d8b2ab]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 6 edits in OMCompiler

[cmake] Multiple fixes. (#6859)

@mahge
Export compile commands from configuration.
2264e0c

  • This file can be used by editors helps editors (e.g. vscode, emacs) to have a more accurate code navigation and intellisense. e.g. includes can be pinpointed instead of using glob expressions to parse everything.

@mahge
Write out a compiler detection header.
285b8dc

  • We will use this for portability purposes. E.g. functions that differ in naming or usage can be normalized to omc_ functions using this header as a base.
  • Hopefully we can update our sources without breaking much to use the defines in this file instead of bare _MSC_VER like checks.

@mahge
Refactor and format SimulationRuntime/c cmakefile.
ad5970c

  • Provide and use aliases for libraries in built in SimulationRuntime/c.
  • Remove the option to build these libraries as shared. There is no point in building our runtime libs as shared libs.

@mahge
Remove source files removed by #6771.
be0b08f

21:20 Changeset in OpenModelica [426f8e6f]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 4 edits in OMCompiler/SimulationRuntime/c/util

Fix SimulationRuntime warnings. (#6854)

@mahge
Fix SimulationRuntime warnings.
3a0e8f1

@mahge
Fix more modelica_string usage.
d2c520f

21:20 Changeset in OpenModelica [40e4020]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 5 edits
    1 move in OMCompiler

CMake improvments and refactoring (#6855)

@mahge
Refactor and format Compiler/runtime/CMakeLists
5d30aa0

@mahge
Rename generated interface base file to .stamp.
6db7ddd

  • It is used as a baseline for checking if interface of MM file is changed. Its timestamp is also used to signify that the interface has been checked since the MM file was modified. So stamp is a more appropriate extension.

@mahge
Add the generated directory as include directory.
a6743d1

  • The antrl generated files go into a folder in the build tree. This was not added to include before. It was working only because the normal (autotools, non-cmake) build generated those files in the source directory and the header was picked.
  • We add them before the current source directory to make sure that they are included even if there are files generated by the normal autotools build.

@mahge
Refactor and format Parser/CMakeLists
0f08730

  • The file containing macros is now moved to .cmake directory.
  • macros have been prefixed with omc_
21:20 Changeset in OpenModelica [b298938d]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 56 edits
    21 adds in OMCompiler

CMake configuration support for OpenModelica/OMCompiler (#6737)

  • [cmake] Initial cmake configuration support.
  • [cmake] Add OMParser to compilation.
  • Uses two macros for generating the C files from the antlr sources. One is used for antlr files that depend on base_modelica_lexer. The other is used for only Modelica.g right now.
  • [cmake] Move the antlr target macros new file.
  • They clutter things in the main cmake file.
  • [cmake] Add CMake support for OMCompiler/runtime.
  • OMCompiler/runtime cannow be compiled using cmake.
    • Right now there is missing symbols from dgsev. I am not sure yet where to add them. Maybe dgsev can be added to simulationRuntime/c libraries. Other than that OMCompiler/runtime can be compiled with all symbols found at the moment.
  • We now use proper qualified names for libraries, e.g. omc::3rd::gc for the gc-lib in 3rdParty/gc. These names are added as aliases to the actual library. Use these everywhere. There should not be a single use of the actual library names.
  • [cmake] Update 3rdParty submodule.
  • Changes have been made to the submodule on mahge/cmake_config. It is mostly some minor fixes and a 3rdParty top level CMakeLists.txt
  • [cmake] Add prefixes to 3rdParty cmake options.
  • CMinPack shared library option is prefixed so that it does not conflict with other libraries build types.
    • BUILD_SHARED_LIBS -> CMINPACK_BUILD_SHARED_LIBS
  • Sundials options are prefixed so that they do not conflict with other libraries.
    • KLU_ENABLE -> SUNDIALS_KLU_ENABLE
    • LAPACK_ENABLE -> SUNDIALS_LAPACK_ENABLE
  • [cmake] Add Susan to MetaModelica compilation.
  • A macro is added for compiling a given susan template file to a MetaModelica .mo file using omc.

For convenience, a list of all the generated mo files is added
to the cmake variable TPL_OUTPUT_MO_FILES by the macro.

  • [cmake] Add runtime/omcbackendruntime compilation.
  • [cmake] Added an interface include to fmilib.
  • There is an inteface include directory defined for fmilib in 3rdParty/CMakeLists.txt. That means we do not need to explicitly add the include directory here. Until FMIL sorts out their configuration usage we can deal with it like this.
  • 3rdParty module is updated.
  • [cmake] Remove the temporary template target.
  • It was added just for testing whiled developing.
  • The generated mo files are now used by the libOpenModelica target. So the tpl files will be translated to mo if the mo files are missing.
  • [cmake] Add alias target for libomparse
  • OMCompiler/Parser (omparse) -> omc::parser
  • [CMake] Add runtime/omcgraphstream.
  • Add compilation for libomcgraphstream. Links to 3rdParty/graphstream libnetstream.a
  • [cmake] Clarify BootstrappingHeader inclusion.
  • We include OpenModelicaBootstrappingHeader.h with a relative path now.
  • If OMC_BOOTSTRAPPING is defined it is included from Compiler/boot/tarball-include. Otherwise include it from Compiler/.

We can, of course, give OMCompiler/Compiler dir as an include directory to
the libraries in runtime.
However, there is an omc_fil.h in Compiler/Util (it should not be there but it is there for now)
there is also an omc_file.h in SimulationRuntime/c/util.

We link to OpenModelicaRuntime which is built in SimulationRuntime/c/ and we
automatically provide SimulationRuntime/c/ as an include dir for things that link
to this library. This means for example runtime/omcruntime.a will get SimulationRuntime/c/
as an include dir automatically when linking to OpenModelicaRuntime.

If we give both Compiler/ and SimulationRuntime/c/ we essentially have two
files that can be reached as #include "util/omc_file.h". We should try to avoid
manually adding target_include dirs anyway. for this reason OMCompiler/Compiler/ is
not given as an include dir now. It was only needed for OpenModelicaBootstrappingHeader.h.
OpenModelicaBootstrappingHeader.h is now included by relative path.

  • [cmake] Relative OpenModelicaBootstrappingHeader.h
  • Fix OpenModelicaBootstrappingHeader inclusion on Parser/. If OMC_BOOTSTRAPPING is defined include it from Compiler/boot/tarball-include. Otherwise include it from Compiler/.
  • Some target_include_directories are not needed anymore. include directory propagation is managed by what libraries a target links to, i.e., cmake will automatically propagate the public include directories of a given library when the library is linked to some other target.
  • [cmake] Link omcruntime to blas.
  • I am not sure which blas we are supposed to use. There are some sources in 3rdParty/dgesv. I will check later if they need to be used somewhere.
  • [cmake] Do not report antlr analysis.
  • There is no need to report antlr grammar info every time the files are recompiled. The information just clutters the output.
  • [cmake] Initial MetaModelica compilation support.
  • [cmake] Move CMake related files to a subdirectory
  • [cmake] Add missing susan template targets.
  • Some susan template files were not being translated to MetaModelica because they were not added to the cmake file. They are added now.
  • [cmake] Remove non-existing package from TypeView.
  • There was a definition for a package named 'Connect' in DAEDumpTV.mo. There is no package named 'Connect' in the MetaModelica sources. There is one nested in DAE package (DAE.Connect). This was not detected as error because the package is not used in DAEDumpTpl.tpl anyway. So I guess the remove-unused-packages scrip removed it anyway.
  • [cmake] Define OMC_BOOTSTRAPPING for bootstrapping.
  • OMC_BOOTSTRAPPING is defined when compiling the runtime libs for bootstrapping. This define is used to pick the correct OpenModelicaBootstrappingHeader.h.
  • [cmake] Fix the directory where file is expected.
  • [cmake] Reduce info printed during configure step.
  • [cmake] Cleanup unused files.
  • The compilation of susan template targets is now handled by the CMakeLists file in OMCompiler.
  • [cmake] Move compilation out of boot folder
  • We used to configure and compile the MetaModelica files from the perspective of the Compiler/boot folder. this was done just to simplify things at the begining since it made it easier to compare things with the old approach which works from that folder.

Now MetaModelica related compilations are done from the perspective
of the Compiler/ folder. This is more logical.

  • [cmake] Selectively include old/new cmake source.
  • The CMakeLists.txt in SimulationRuntime/c is actually used for compilation of simulationruntimemsvc library. Therefor we need to keep it for now.

To do this we include one of the old or new cmake sources in the
main CMakelists.tx file in c/ folder based on a variable that is
either defined or undefined depening on which compilation
(new cmake or makefile.omdev.mingw) is used.

  • [cmake] Update 3rdParty.
  • The CMake related changes to 3rdParty are now moved to a separate branch - CMakeBuildSupport. This points to that branch now.
  • [cmake] Prefix sundials cmake variables.
  • BUILD_STATIC_LIBS -> SUNDIALS_BUILD_STATIC_LIBS

This is to avoid conflicts with other libraries.

  • [cmake] Update find_package for CURL
  • [cmake] Being the remote developer robot
  • Just adding what mahge told me
  • [cmake] Corba support for omniORB on MinGW/OMdev.
  • Corba support for MinGW/OMDev is enabled by the variable OMC_USE_CORBA
  • The file omdev_omniorb_setup.cmake sets up the omniORB libraries and idl compiler for use with CMake.
  • The file omc_omniorb_corba_target.cmake provided a macro for conveniently adding corba targets.
  • [cmake] Disallow implicit function declaration.
  • implicit function declaration should be forbidden for all C source files. We want to be strict with include headers and directories. If implicit declaration is allowed for C sources it messes things up and makes it difficult to track what comes from where.
  • [cmake] Link to static fmilib
  • We link to the static fmilib instead of fmilib_shared.
  • [cmake] Add omc.exe compilation.
  • We can now build omc.exe.
  • libOpenModelicaCompiler is built as a static library. Building it as a shared library should also work except that Boehm GC is creating problems as always. The omc.exe that is built from a shared libOpenModelicaCompiler starts but does not do anything and just hangs.

There is some proper configuration that needs to be used to compile
and also USE Boehm GC correctly with CMake.
In the meantime a static libOpenModelicaCompiler and a statically
linked omc.exe should be just fine.

  • [cmake] Update 3rdParty.
  • We now use fmillib static version.
  • We build lpsolve55 as a static library.
  • [cmake] Fix Boehm GC CMake Compilation.
  • This now fixes the Boehm GC issues. It should be possible to build and use static or shared libOpenModelicaCompiler either in debug or release builds without problems.
  • - The old CMakeLists.txt was really not usable. The new one seems to be a lot improved and all options are handled properly as they are for the autoconf configuration.
  • This now requires CMake 3.1. I guess this is okay because there is no way anyone was using the old CMakeLists anyway.
  • GC_BUILD_SHARED_LIBS is used to set a new variable GC_LIBRARY_BUILD_TYPE to either SHARED or STATIC. This way we can choose how to build gc lib.
  • [cmake] Rename libgc to libomcgc
  • libgc is renamed to libomcgc. This was done for the library built by autotools config. So we will do it here as well.

I am guessing this is done so that we would not link to installed
gc inadvertently.

  • Previously there was no problem since the gcc and MSVC builds of OpenModelica libraries used the autotools and CMake builds of 3rdParty/gc respectively. So they used the different names omcgc and gc-lib for the library built from the same code.

Now we are trying to unify things to CMake which means the names
need to be consistent.

  • Check the 3rdParty commit for more changes.
  • By default, the new CMake config for 3rdParty/gc builds shared libs. OpenModelica MSVC targets expects static libs. The option GC_BUILD_SHARED_LIBS is set to OFF for those builds.
  • [cmake] Look for LAPACK instead of BLAS.
  • We want LAPACK libs in addition to just BLAS.
  • FindLapack will find both.
  • [cmake] Fix implicit function declaration flag.
  • Apply -Werror=implicit-function-declaration only to our code. There are some libs (e.g. FMI Zlib on Linux builds) that fail to set up things properly and end up using implicit declaration. Until those get fixed upstream we require it only for our own code.
  • Also require it only for C code. Recent gcc versions complains about it being used on C++ sources.
  • Comment out cmake -E cat command. "cat" for cmake script mode is not available until CMake 3.18.
  • Remove locale=en. Was pushed in by mistake.
  • [cmake] Make corba actually optional.
  • There was an option to disable corba already. However, compilation was just supposed to fail if there was no corba support. Now it is fixed.
  • Corba support is now disabled by default. -> OMC_USE_CORBA is OFF by default.
  • [cmake] Change Intl linkage approach.
  • libintl can be part of GNU libc in Linux. Then a linking command like "-lintl" would not work since there is no intl.
  • So instead use the old cmake way specifying ${INTL_LIBRARIES} which can be just empty.
  • Until we get a namespaced version like Intl::Intl that can be empty when libintl does not exist we can be happy with this.
  • [cmake] Fix Windows/MinGW only link libraries.
  • [cmake] A quick fix for uuid linkage.
  • On Windows uuid.lib is added to every exe or dll linkage by cmake.
  • On other systems we need to link it explicitly.
  • There is no cmake module for finding uuid yet. I will add one later but for now jsut find_library should suffice assuming that the uuid headers will be in the system include directories.
  • [CMAKE] Update gitignore and UUID lib
  • [CMake] Fixing missing $
  • [cmake] Add missing MM dependency updater.
  • If a MM source is modfied and its interface has changed then the MM source files that depend on it need to be retranslated.

There is a tiny cmake script added to instigate this. It reads the
reverse dependencies (dependees) of the modified MM file and touches
their "stamps" so that they get translated again.

Note right now they are not checked for interface "change". There might
be a need to have this, but we will see if it is so as we go.

This was left for later while I fix the other CMake issues.

  • [cmake] Fix include path and wrong file extension.
  • [cmake] Set default build type to Debug.
  • [cmake] expat as subdirectory instead of external.
  • Add expat as a subdirectory instead of as an external project. There is no need, as far as I can see, to have it as an external project. It has a cmake configuration support and that is what is used when building it as external project. It can just be added as a subdirectory instead.
  • The main problem was that it the way exapt was setup as the external project and then imported library added some dependencies on non-existing target (that the external project needs to build first). This creates a problem for strict build systems like "Ninja".
  • See the commit on the 3rdParty submodule for more changes.
  • [cmake] Install omc and libOpenModelicaCompiler.
  • Install omc executable to the RUNTIME (default bin) directory.
  • Install libOpenModelica compiler to the LIBRARY (lib) directory.
  • Install ModelicaBuiltin files to the <LIBRARY>/omlibrary (lib/omlibrary) directory.
  • Set the <install_prefix>/lib as an rpath dir to installed components.
  • There are some fixes done to 3rdParty FMIL and CMinPack projects. FMI is adjusted to use CMAKE_INSTALL_PREFIX instead of its own fixed FMILIB_INSTALL_PREFIX. The decision where to install should be left to the user.

Check the 3rdParty submodule logs for more info.

  • [cmake] Add a separate installation component.
  • So we now have separate install component "compiler". This allows to install just omc and its runtime dependencies. You can, for example, specify this component as follows:

cmake -DCOMPONENT=compiler -P cmake_install.cmake

in your root build directory.

  • CMake will install everything built by default. If you build just omc and then try to make install it will start building everything first.
  • [cmake] Add default installation folder.
  • To avoid installing into system folder like /usr or /usr/local we add a default install dir as:

<Project_root>/install_cmake

if the user has not specified an installation directory (i.e. has not
set CMAKE_INSTALL_PREFIX when configuring)

  • [cmake] Fixes for libzmq-static linking.
  • Add the transitively needed libraries when linking to libzq-static.
  • See the commit/diff on 3rdParty submodule for details.
  • [cmake] Add new file UnorderedSet to compilation.
  • [cmake] Remove unnecessary package_list file.
  • The list of MM filenames part of the compilation is now generated by cmake itself during build system generation. The file contains a list of just the filenames (no path, no extension) to be read by the simple dep_scanner executable.
  • Add some comments to the CMakeLists file. There needs to be more. Maybe writing a whole standalone documentation can even be better as soon as this is stable.
  • [cmake] Use ccache if asked to and is available.
  • ccache can speedup compilation quite a bit since we handle dependencies at MM level and usually will recompile C files even when not needed because a MM file (which the MM of our C file depends on) has been modified without changing its interface.
  • As a bonus you will also not have to recompile C/C++ sources so much when you switch between branches with git.
  • [cmake] Build Boehm GC as a static library as well
  • We now build gc as a static lib. This means there are no more shared libraries in compilation of omc (except libOpenModelicaCompiler itself if needed, of course.)
  • This also means there is no need to install gc with omc for using just omc.
  • See referenced 3rdParty commit for changes.
  • [cmake] Add initial README from PR description.
  • This will be updated as we go.
  • [cmake] Add a custom install target 'install_omc'.
  • This target builds and installs just omc. It is provided just for convenience to allow people to use something similar to what they are used to do , that is issue 'make install_omc', instead of having to run CMake's separate installation script.
  • [cmake] Update documentation.
  • [cmake] Add new MetaModelica sources to the list.
  • Update 3rdParty.
  • Changes from the cmake branch in 3rdParty have been merged to master.

submodule 3rdParty head is now tip of 3rdparty/master.

Co-authored-by: AnHeuermann <andreas.heuermann@…>
Co-authored-by: AnHeuermann <andreas.heuermann@…>

21:20 Changeset in OpenModelica [dc45063e]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 2 edits in /

attempt to fix Linux builds

21:20 Changeset in OpenModelica [43448e96]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Don't add the parameter twice

18:20 Changeset in OpenModelica [6d09b01] by Adrian Pop <adrian.pop@…>
  • 3 edits in OMCompiler/Compiler/NFFrontEnd

Array connection improvements.

  • Replace : subscripts with 1:size subscripts.
  • Fill out connector crefs with : subscripts such that all dimensions are subscripted.
  • Pad the maps for each connector so they all have the same dimensions.
18:18 Changeset in OpenModelica [00c75fd9]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 2 edits in /

attempt to fix Linux builds

18:15 Changeset in OpenModelica [9839b82]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 3 edits in OMCompiler/Compiler/NFFrontEnd

Array connection improvements.

  • Replace : subscripts with 1:size subscripts.
  • Fill out connector crefs with : subscripts such that all dimensions are subscripted.
  • Pad the maps for each connector so they all have the same dimensions.
17:04 Changeset in OpenModelica [5e78dab7] by Per Östlund <perost86@…>
  • 3 edits in OMCompiler/Compiler/NFFrontEnd

Array connection improvements.

  • Replace : subscripts with 1:size subscripts.
  • Fill out connector crefs with : subscripts such that all dimensions are subscripted.
  • Pad the maps for each connector so they all have the same dimensions.
16:56 Changeset in OpenModelica [2afdf1d] by Adrian Pop <adrian.pop@…>
  • 6 edits in OMCompiler

[cmake] Multiple fixes. (#6859)

@mahge
Export compile commands from configuration.
2264e0c

  • This file can be used by editors helps editors (e.g. vscode, emacs) to have a more accurate code navigation and intellisense. e.g. includes can be pinpointed instead of using glob expressions to parse everything.

@mahge
Write out a compiler detection header.
285b8dc

  • We will use this for portability purposes. E.g. functions that differ in naming or usage can be normalized to omc_ functions using this header as a base.
  • Hopefully we can update our sources without breaking much to use the defines in this file instead of bare _MSC_VER like checks.

@mahge
Refactor and format SimulationRuntime/c cmakefile.
ad5970c

  • Provide and use aliases for libraries in built in SimulationRuntime/c.
  • Remove the option to build these libraries as shared. There is no point in building our runtime libs as shared libs.

@mahge
Remove source files removed by #6771.
be0b08f

16:56 Changeset in OpenModelica [cc02120] by Adrian Pop <adrian.pop@…>
  • 4 edits in OMCompiler/SimulationRuntime/c/util

Fix SimulationRuntime warnings. (#6854)

@mahge
Fix SimulationRuntime warnings.
3a0e8f1

@mahge
Fix more modelica_string usage.
d2c520f

16:56 Changeset in OpenModelica [e33ed3d] by Adrian Pop <adrian.pop@…>
  • 5 edits
    1 move in OMCompiler

CMake improvments and refactoring (#6855)

@mahge
Refactor and format Compiler/runtime/CMakeLists
5d30aa0

@mahge
Rename generated interface base file to .stamp.
6db7ddd

  • It is used as a baseline for checking if interface of MM file is changed. Its timestamp is also used to signify that the interface has been checked since the MM file was modified. So stamp is a more appropriate extension.

@mahge
Add the generated directory as include directory.
a6743d1

  • The antrl generated files go into a folder in the build tree. This was not added to include before. It was working only because the normal (autotools, non-cmake) build generated those files in the source directory and the header was picked.
  • We add them before the current source directory to make sure that they are included even if there are files generated by the normal autotools build.

@mahge
Refactor and format Parser/CMakeLists
0f08730

  • The file containing macros is now moved to .cmake directory.
  • macros have been prefixed with omc_
16:55 Changeset in OpenModelica [291c5867] by Adrian Pop <adrian.pop@…>
  • 56 edits
    21 adds in OMCompiler

CMake configuration support for OpenModelica/OMCompiler (#6737)

  • [cmake] Initial cmake configuration support.
  • [cmake] Add OMParser to compilation.
  • Uses two macros for generating the C files from the antlr sources. One is used for antlr files that depend on base_modelica_lexer. The other is used for only Modelica.g right now.
  • [cmake] Move the antlr target macros new file.
  • They clutter things in the main cmake file.
  • [cmake] Add CMake support for OMCompiler/runtime.
  • OMCompiler/runtime cannow be compiled using cmake.
    • Right now there is missing symbols from dgsev. I am not sure yet where to add them. Maybe dgsev can be added to simulationRuntime/c libraries. Other than that OMCompiler/runtime can be compiled with all symbols found at the moment.
  • We now use proper qualified names for libraries, e.g. omc::3rd::gc for the gc-lib in 3rdParty/gc. These names are added as aliases to the actual library. Use these everywhere. There should not be a single use of the actual library names.
  • [cmake] Update 3rdParty submodule.
  • Changes have been made to the submodule on mahge/cmake_config. It is mostly some minor fixes and a 3rdParty top level CMakeLists.txt
  • [cmake] Add prefixes to 3rdParty cmake options.
  • CMinPack shared library option is prefixed so that it does not conflict with other libraries build types.
    • BUILD_SHARED_LIBS -> CMINPACK_BUILD_SHARED_LIBS
  • Sundials options are prefixed so that they do not conflict with other libraries.
    • KLU_ENABLE -> SUNDIALS_KLU_ENABLE
    • LAPACK_ENABLE -> SUNDIALS_LAPACK_ENABLE
  • [cmake] Add Susan to MetaModelica compilation.
  • A macro is added for compiling a given susan template file to a MetaModelica .mo file using omc.

For convenience, a list of all the generated mo files is added
to the cmake variable TPL_OUTPUT_MO_FILES by the macro.

  • [cmake] Add runtime/omcbackendruntime compilation.
  • [cmake] Added an interface include to fmilib.
  • There is an inteface include directory defined for fmilib in 3rdParty/CMakeLists.txt. That means we do not need to explicitly add the include directory here. Until FMIL sorts out their configuration usage we can deal with it like this.
  • 3rdParty module is updated.
  • [cmake] Remove the temporary template target.
  • It was added just for testing whiled developing.
  • The generated mo files are now used by the libOpenModelica target. So the tpl files will be translated to mo if the mo files are missing.
  • [cmake] Add alias target for libomparse
  • OMCompiler/Parser (omparse) -> omc::parser
  • [CMake] Add runtime/omcgraphstream.
  • Add compilation for libomcgraphstream. Links to 3rdParty/graphstream libnetstream.a
  • [cmake] Clarify BootstrappingHeader inclusion.
  • We include OpenModelicaBootstrappingHeader.h with a relative path now.
  • If OMC_BOOTSTRAPPING is defined it is included from Compiler/boot/tarball-include. Otherwise include it from Compiler/.

We can, of course, give OMCompiler/Compiler dir as an include directory to
the libraries in runtime.
However, there is an omc_fil.h in Compiler/Util (it should not be there but it is there for now)
there is also an omc_file.h in SimulationRuntime/c/util.

We link to OpenModelicaRuntime which is built in SimulationRuntime/c/ and we
automatically provide SimulationRuntime/c/ as an include dir for things that link
to this library. This means for example runtime/omcruntime.a will get SimulationRuntime/c/
as an include dir automatically when linking to OpenModelicaRuntime.

If we give both Compiler/ and SimulationRuntime/c/ we essentially have two
files that can be reached as #include "util/omc_file.h". We should try to avoid
manually adding target_include dirs anyway. for this reason OMCompiler/Compiler/ is
not given as an include dir now. It was only needed for OpenModelicaBootstrappingHeader.h.
OpenModelicaBootstrappingHeader.h is now included by relative path.

  • [cmake] Relative OpenModelicaBootstrappingHeader.h
  • Fix OpenModelicaBootstrappingHeader inclusion on Parser/. If OMC_BOOTSTRAPPING is defined include it from Compiler/boot/tarball-include. Otherwise include it from Compiler/.
  • Some target_include_directories are not needed anymore. include directory propagation is managed by what libraries a target links to, i.e., cmake will automatically propagate the public include directories of a given library when the library is linked to some other target.
  • [cmake] Link omcruntime to blas.
  • I am not sure which blas we are supposed to use. There are some sources in 3rdParty/dgesv. I will check later if they need to be used somewhere.
  • [cmake] Do not report antlr analysis.
  • There is no need to report antlr grammar info every time the files are recompiled. The information just clutters the output.
  • [cmake] Initial MetaModelica compilation support.
  • [cmake] Move CMake related files to a subdirectory
  • [cmake] Add missing susan template targets.
  • Some susan template files were not being translated to MetaModelica because they were not added to the cmake file. They are added now.
  • [cmake] Remove non-existing package from TypeView.
  • There was a definition for a package named 'Connect' in DAEDumpTV.mo. There is no package named 'Connect' in the MetaModelica sources. There is one nested in DAE package (DAE.Connect). This was not detected as error because the package is not used in DAEDumpTpl.tpl anyway. So I guess the remove-unused-packages scrip removed it anyway.
  • [cmake] Define OMC_BOOTSTRAPPING for bootstrapping.
  • OMC_BOOTSTRAPPING is defined when compiling the runtime libs for bootstrapping. This define is used to pick the correct OpenModelicaBootstrappingHeader.h.
  • [cmake] Fix the directory where file is expected.
  • [cmake] Reduce info printed during configure step.
  • [cmake] Cleanup unused files.
  • The compilation of susan template targets is now handled by the CMakeLists file in OMCompiler.
  • [cmake] Move compilation out of boot folder
  • We used to configure and compile the MetaModelica files from the perspective of the Compiler/boot folder. this was done just to simplify things at the begining since it made it easier to compare things with the old approach which works from that folder.

Now MetaModelica related compilations are done from the perspective
of the Compiler/ folder. This is more logical.

  • [cmake] Selectively include old/new cmake source.
  • The CMakeLists.txt in SimulationRuntime/c is actually used for compilation of simulationruntimemsvc library. Therefor we need to keep it for now.

To do this we include one of the old or new cmake sources in the
main CMakelists.tx file in c/ folder based on a variable that is
either defined or undefined depening on which compilation
(new cmake or makefile.omdev.mingw) is used.

  • [cmake] Update 3rdParty.
  • The CMake related changes to 3rdParty are now moved to a separate branch - CMakeBuildSupport. This points to that branch now.
  • [cmake] Prefix sundials cmake variables.
  • BUILD_STATIC_LIBS -> SUNDIALS_BUILD_STATIC_LIBS

This is to avoid conflicts with other libraries.

  • [cmake] Update find_package for CURL
  • [cmake] Being the remote developer robot
  • Just adding what mahge told me
  • [cmake] Corba support for omniORB on MinGW/OMdev.
  • Corba support for MinGW/OMDev is enabled by the variable OMC_USE_CORBA
  • The file omdev_omniorb_setup.cmake sets up the omniORB libraries and idl compiler for use with CMake.
  • The file omc_omniorb_corba_target.cmake provided a macro for conveniently adding corba targets.
  • [cmake] Disallow implicit function declaration.
  • implicit function declaration should be forbidden for all C source files. We want to be strict with include headers and directories. If implicit declaration is allowed for C sources it messes things up and makes it difficult to track what comes from where.
  • [cmake] Link to static fmilib
  • We link to the static fmilib instead of fmilib_shared.
  • [cmake] Add omc.exe compilation.
  • We can now build omc.exe.
  • libOpenModelicaCompiler is built as a static library. Building it as a shared library should also work except that Boehm GC is creating problems as always. The omc.exe that is built from a shared libOpenModelicaCompiler starts but does not do anything and just hangs.

There is some proper configuration that needs to be used to compile
and also USE Boehm GC correctly with CMake.
In the meantime a static libOpenModelicaCompiler and a statically
linked omc.exe should be just fine.

  • [cmake] Update 3rdParty.
  • We now use fmillib static version.
  • We build lpsolve55 as a static library.
  • [cmake] Fix Boehm GC CMake Compilation.
  • This now fixes the Boehm GC issues. It should be possible to build and use static or shared libOpenModelicaCompiler either in debug or release builds without problems.
  • - The old CMakeLists.txt was really not usable. The new one seems to be a lot improved and all options are handled properly as they are for the autoconf configuration.
  • This now requires CMake 3.1. I guess this is okay because there is no way anyone was using the old CMakeLists anyway.
  • GC_BUILD_SHARED_LIBS is used to set a new variable GC_LIBRARY_BUILD_TYPE to either SHARED or STATIC. This way we can choose how to build gc lib.
  • [cmake] Rename libgc to libomcgc
  • libgc is renamed to libomcgc. This was done for the library built by autotools config. So we will do it here as well.

I am guessing this is done so that we would not link to installed
gc inadvertently.

  • Previously there was no problem since the gcc and MSVC builds of OpenModelica libraries used the autotools and CMake builds of 3rdParty/gc respectively. So they used the different names omcgc and gc-lib for the library built from the same code.

Now we are trying to unify things to CMake which means the names
need to be consistent.

  • Check the 3rdParty commit for more changes.
  • By default, the new CMake config for 3rdParty/gc builds shared libs. OpenModelica MSVC targets expects static libs. The option GC_BUILD_SHARED_LIBS is set to OFF for those builds.
  • [cmake] Look for LAPACK instead of BLAS.
  • We want LAPACK libs in addition to just BLAS.
  • FindLapack will find both.
  • [cmake] Fix implicit function declaration flag.
  • Apply -Werror=implicit-function-declaration only to our code. There are some libs (e.g. FMI Zlib on Linux builds) that fail to set up things properly and end up using implicit declaration. Until those get fixed upstream we require it only for our own code.
  • Also require it only for C code. Recent gcc versions complains about it being used on C++ sources.
  • Comment out cmake -E cat command. "cat" for cmake script mode is not available until CMake 3.18.
  • Remove locale=en. Was pushed in by mistake.
  • [cmake] Make corba actually optional.
  • There was an option to disable corba already. However, compilation was just supposed to fail if there was no corba support. Now it is fixed.
  • Corba support is now disabled by default. -> OMC_USE_CORBA is OFF by default.
  • [cmake] Change Intl linkage approach.
  • libintl can be part of GNU libc in Linux. Then a linking command like "-lintl" would not work since there is no intl.
  • So instead use the old cmake way specifying ${INTL_LIBRARIES} which can be just empty.
  • Until we get a namespaced version like Intl::Intl that can be empty when libintl does not exist we can be happy with this.
  • [cmake] Fix Windows/MinGW only link libraries.
  • [cmake] A quick fix for uuid linkage.
  • On Windows uuid.lib is added to every exe or dll linkage by cmake.
  • On other systems we need to link it explicitly.
  • There is no cmake module for finding uuid yet. I will add one later but for now jsut find_library should suffice assuming that the uuid headers will be in the system include directories.
  • [CMAKE] Update gitignore and UUID lib
  • [CMake] Fixing missing $
  • [cmake] Add missing MM dependency updater.
  • If a MM source is modfied and its interface has changed then the MM source files that depend on it need to be retranslated.

There is a tiny cmake script added to instigate this. It reads the
reverse dependencies (dependees) of the modified MM file and touches
their "stamps" so that they get translated again.

Note right now they are not checked for interface "change". There might
be a need to have this, but we will see if it is so as we go.

This was left for later while I fix the other CMake issues.

  • [cmake] Fix include path and wrong file extension.
  • [cmake] Set default build type to Debug.
  • [cmake] expat as subdirectory instead of external.
  • Add expat as a subdirectory instead of as an external project. There is no need, as far as I can see, to have it as an external project. It has a cmake configuration support and that is what is used when building it as external project. It can just be added as a subdirectory instead.
  • The main problem was that it the way exapt was setup as the external project and then imported library added some dependencies on non-existing target (that the external project needs to build first). This creates a problem for strict build systems like "Ninja".
  • See the commit on the 3rdParty submodule for more changes.
  • [cmake] Install omc and libOpenModelicaCompiler.
  • Install omc executable to the RUNTIME (default bin) directory.
  • Install libOpenModelica compiler to the LIBRARY (lib) directory.
  • Install ModelicaBuiltin files to the <LIBRARY>/omlibrary (lib/omlibrary) directory.
  • Set the <install_prefix>/lib as an rpath dir to installed components.
  • There are some fixes done to 3rdParty FMIL and CMinPack projects. FMI is adjusted to use CMAKE_INSTALL_PREFIX instead of its own fixed FMILIB_INSTALL_PREFIX. The decision where to install should be left to the user.

Check the 3rdParty submodule logs for more info.

  • [cmake] Add a separate installation component.
  • So we now have separate install component "compiler". This allows to install just omc and its runtime dependencies. You can, for example, specify this component as follows:

cmake -DCOMPONENT=compiler -P cmake_install.cmake

in your root build directory.

  • CMake will install everything built by default. If you build just omc and then try to make install it will start building everything first.
  • [cmake] Add default installation folder.
  • To avoid installing into system folder like /usr or /usr/local we add a default install dir as:

<Project_root>/install_cmake

if the user has not specified an installation directory (i.e. has not
set CMAKE_INSTALL_PREFIX when configuring)

  • [cmake] Fixes for libzmq-static linking.
  • Add the transitively needed libraries when linking to libzq-static.
  • See the commit/diff on 3rdParty submodule for details.
  • [cmake] Add new file UnorderedSet to compilation.
  • [cmake] Remove unnecessary package_list file.
  • The list of MM filenames part of the compilation is now generated by cmake itself during build system generation. The file contains a list of just the filenames (no path, no extension) to be read by the simple dep_scanner executable.
  • Add some comments to the CMakeLists file. There needs to be more. Maybe writing a whole standalone documentation can even be better as soon as this is stable.
  • [cmake] Use ccache if asked to and is available.
  • ccache can speedup compilation quite a bit since we handle dependencies at MM level and usually will recompile C files even when not needed because a MM file (which the MM of our C file depends on) has been modified without changing its interface.
  • As a bonus you will also not have to recompile C/C++ sources so much when you switch between branches with git.
  • [cmake] Build Boehm GC as a static library as well
  • We now build gc as a static lib. This means there are no more shared libraries in compilation of omc (except libOpenModelicaCompiler itself if needed, of course.)
  • This also means there is no need to install gc with omc for using just omc.
  • See referenced 3rdParty commit for changes.
  • [cmake] Add initial README from PR description.
  • This will be updated as we go.
  • [cmake] Add a custom install target 'install_omc'.
  • This target builds and installs just omc. It is provided just for convenience to allow people to use something similar to what they are used to do , that is issue 'make install_omc', instead of having to run CMake's separate installation script.
  • [cmake] Update documentation.
  • [cmake] Add new MetaModelica sources to the list.
  • Update 3rdParty.
  • Changes from the cmake branch in 3rdParty have been merged to master.

submodule 3rdParty head is now tip of 3rdparty/master.

Co-authored-by: AnHeuermann <andreas.heuermann@…>
Co-authored-by: AnHeuermann <andreas.heuermann@…>

16:28 Changeset in OpenModelica [2707fab] by Adrian Pop <adrian.pop@…>
  • 2 edits in /

attempt to fix Linux builds

16:26 Changeset in OpenModelica [bb30e4ed] by Adrian Pop <adrian.pop@…>
  • 2 edits in /

attempt to fix Linux builds

15:19 Changeset in OpenModelica [1ead88b] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Don't add the parameter twice

15:07 Changeset in OpenModelica [292691bc]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Don't add the parameter twice

14:55 Changeset in OpenModelica [ffcb20dc]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 6 edits in OMCompiler

[cmake] Multiple fixes. (#6859)

@mahge
Export compile commands from configuration.
2264e0c

  • This file can be used by editors helps editors (e.g. vscode, emacs) to have a more accurate code navigation and intellisense. e.g. includes can be pinpointed instead of using glob expressions to parse everything.

@mahge
Write out a compiler detection header.
285b8dc

  • We will use this for portability purposes. E.g. functions that differ in naming or usage can be normalized to omc_ functions using this header as a base.
  • Hopefully we can update our sources without breaking much to use the defines in this file instead of bare _MSC_VER like checks.

@mahge
Refactor and format SimulationRuntime/c cmakefile.
ad5970c

  • Provide and use aliases for libraries in built in SimulationRuntime/c.
  • Remove the option to build these libraries as shared. There is no point in building our runtime libs as shared libs.

@mahge
Remove source files removed by #6771.
be0b08f

14:44 Changeset in OpenModelica [6789cc1] by Lennart Ochel <lennart.ochel@…>
  • 1 edit in OMEdit/OMEditLIB/OMS/ElementPropertiesDialog.cpp

Use a reference!

14:36 Changeset in OpenModelica [d10797b] by Lennart Ochel <lennart.ochel@…>
  • 1 edit in OMEdit/OMEditLIB/OMS/ElementPropertiesDialog.cpp

Remove superfluous return

14:34 Changeset in OpenModelica [aa1734eb] by Lennart Ochel <lennart.ochel@…>
  • 1 edit in OMEdit/OMEditLIB/OMS/ElementPropertiesDialog.cpp

some simplifications :D

13:24 Changeset in OpenModelica [7622c66c] by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Don't add the parameter twice

11:41 Changeset in OpenModelica [8738cbb0] by arun3688 <rain100falls@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

improve variable naming

11:34 Changeset in OpenModelica [be0b08ff] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/.cmake/meta_modelica_source_list.cmake

Remove source files removed by #6771.

11:34 Changeset in OpenModelica [ad5970c3] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 4 edits in OMCompiler

Refactor and format SimulationRuntime/c cmakefile.

  • Provide and use aliases for libraries in built in SimulationRuntime/c.
  • Remove the option to build these libraries as shared. There is no point in building our runtime libs as shared libs.
11:29 Changeset in OpenModelica [285b8dca] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/CMakeLists.txt

Write out a compiler detection header.

  • We will use this for portability purposes. E.g. functions that differ in naming or usage can be normalized to omc_ functions using this header as a base.
  • Hopefully we can update our sources without breaking much to use the defines in this file instead of bare _MSC_VER like checks.
11:28 Changeset in OpenModelica [2264e0ca] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

Export compile commands from configuration.

  • This file can be used by editors helps editors (e.g. vscode, emacs) to have a more accurate code navigation and intellisense. e.g. includes can be pinpointed instead of using glob expressions to parse everything.
11:09 Changeset in OpenModelica [4404e5dd] by arun3688 <rain100falls@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

improve code readability

09:12 Changeset in OpenModelica [d6a2b82]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Add OMSysIdent static utility methods to User's Guide

09:12 Changeset in OpenModelica [fc860c0]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Migrate OMSysIdent docs into User's Guide

09:12 Changeset in OpenModelica [2c62ba8a]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in libraries

Updated libraries

  • libraries 6586c10...74332e7 (1):

    Bump libraries

09:12 Changeset in OpenModelica [a45db78]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 35 edits
    22 moves
    24 deletes in /

remove old unitCheck (#6771)

  • [BE] Remove old unit checking module

This is superseded by an NF module with the same name and functionality
and thus no longer needed. Also remove hash tables used by only this
module.

  • Handle deprecated flags in a central spot

Right after command line arguments are read and flags are set,
handleDeprecatedFlags detects if a deprecated flag is set and acts
appropriately, so the rest of the code does not need to worry about it.

  • [FE] Disable old usage of flag --unitChecking

This flag did some unit checking in the old frontend. Since there is a
new module for that, and the old frontend will be discontinued soon, we
can use this flag for the newer stuff.

  • Fix UnitCheck18
  • [testsuite] Update tests on unit checking

Removes all old unit checking tests. Tests for the old frontend still
remain in the testsuite because that is not identical to the nf.

09:12 Changeset in OpenModelica [6c491f1]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

ticket #6129 - do not filter the default (#6856)

08:01 Changeset in OpenModelica [4ad3c90] by Adrian Pop <adrian.pop@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Add OMSysIdent static utility methods to User's Guide

08:01 Changeset in OpenModelica [26a89bf] by Adrian Pop <adrian.pop@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Migrate OMSysIdent docs into User's Guide

07:58 Changeset in OpenModelica [a90f92d] by Adrian Pop <adrian.pop@…>
  • 1 edit in libraries

Updated libraries

  • libraries 6586c10...74332e7 (1):

    Bump libraries

07:57 Changeset in OpenModelica [698ee4d] by Adrian Pop <adrian.pop@…>
  • 35 edits
    22 moves
    24 deletes in /

remove old unitCheck (#6771)

  • [BE] Remove old unit checking module

This is superseded by an NF module with the same name and functionality
and thus no longer needed. Also remove hash tables used by only this
module.

  • Handle deprecated flags in a central spot

Right after command line arguments are read and flags are set,
handleDeprecatedFlags detects if a deprecated flag is set and acts
appropriately, so the rest of the code does not need to worry about it.

  • [FE] Disable old usage of flag --unitChecking

This flag did some unit checking in the old frontend. Since there is a
new module for that, and the old frontend will be discontinued soon, we
can use this flag for the newer stuff.

  • Fix UnitCheck18
  • [testsuite] Update tests on unit checking

Removes all old unit checking tests. Tests for the old frontend still
remain in the testsuite because that is not identical to the nf.

07:56 Changeset in OpenModelica [9bef8e8] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

ticket #6129 - do not filter the default (#6856)

00:52 Ticket #6089 (Evaluate reductions only involving literal constants in the NF) closed by casella
fixed: This issue has been fixed, the PendulumBody model runs fine.
00:00 Changeset in OpenModelica [f59f561] by arun3688 <rain100falls@…>
  • 1 edit in OMEdit/OMEditLIB/OMS/ElementPropertiesDialog.cpp

use return statement

2020-10-22:

23:52 Changeset in OpenModelica [b6c7465] by arun3688 <rain100falls@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

rename function name

20:31 Changeset in OpenModelica [819d8d4d] by arun3688 <rain100falls@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

update start values with FocusOut event

19:20 Changeset in OpenModelica [653efc71]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by hudson <openmodelica@…>
  • 1 edit in libraries

Updated libraries

  • libraries 6586c10...74332e7 (1):

    Bump libraries

17:53 Changeset in OpenModelica [fb29d501]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 35 edits
    22 moves
    24 deletes in /

remove old unitCheck (#6771)

  • [BE] Remove old unit checking module

This is superseded by an NF module with the same name and functionality
and thus no longer needed. Also remove hash tables used by only this
module.

  • Handle deprecated flags in a central spot

Right after command line arguments are read and flags are set,
handleDeprecatedFlags detects if a deprecated flag is set and acts
appropriately, so the rest of the code does not need to worry about it.

  • [FE] Disable old usage of flag --unitChecking

This flag did some unit checking in the old frontend. Since there is a
new module for that, and the old frontend will be discontinued soon, we
can use this flag for the newer stuff.

  • Fix UnitCheck18
  • [testsuite] Update tests on unit checking

Removes all old unit checking tests. Tests for the old frontend still
remain in the testsuite because that is not identical to the nf.

17:34 Changeset in OpenModelica [ebbbbde4]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

ticket #6129 - do not filter the default (#6856)

17:16 Ticket #6137 (Remove unit checking from the backend) closed by phannebohm
fixed: Fixed in PR6771
16:29 Changeset in OpenModelica [0ea07531] by phannebohm <philip.hannebohm@…>
  • 21 edits
    22 moves
    19 deletes in testsuite

[testsuite] Update tests on unit checking

Removes all old unit checking tests. Tests for the old frontend still
remain in the testsuite because that is not identical to the nf.

15:38 Changeset in OpenModelica [f2ac1b6c] by phannebohm <philip.hannebohm@…>
  • 1 edit in OMCompiler/Compiler/NFFrontEnd/NFUnitCheck.mo

Fix UnitCheck18

15:38 Changeset in OpenModelica [bc6dffdf] by phannebohm <philip.hannebohm@…>
  • 4 edits in OMCompiler/Compiler/FrontEnd

[FE] Disable old usage of flag --unitChecking

This flag did some unit checking in the old frontend. Since there is a
new module for that, and the old frontend will be discontinued soon, we
can use this flag for the newer stuff.

15:38 Changeset in OpenModelica [7686fdb] by phannebohm <philip.hannebohm@…>
  • 6 edits in OMCompiler/Compiler

Handle deprecated flags in a central spot

Right after command line arguments are read and flags are set,
handleDeprecatedFlags detects if a deprecated flag is set and acts
appropriately, so the rest of the code does not need to worry about it.

15:38 Changeset in OpenModelica [854d70c1] by phannebohm <philip.hannebohm@…>
  • 4 edits
    5 deletes in OMCompiler/Compiler

[BE] Remove old unit checking module

This is superseded by an NF module with the same name and functionality
and thus no longer needed. Also remove hash tables used by only this
module.

15:16 Changeset in OpenModelica [c7b7cbb9]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 4 edits in OMCompiler/SimulationRuntime/c/util

Fix SimulationRuntime warnings. (#6854)

@mahge
Fix SimulationRuntime warnings.
3a0e8f1

@mahge
Fix more modelica_string usage.
d2c520f

14:47 Changeset in OpenModelica [abc0132] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

ticket #6129 - do not filter the default

14:31 Changeset in OpenModelica [43b6fa2a]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 5 edits
    1 move in OMCompiler

CMake improvments and refactoring (#6855)

@mahge
Refactor and format Compiler/runtime/CMakeLists
5d30aa0

@mahge
Rename generated interface base file to .stamp.
6db7ddd

  • It is used as a baseline for checking if interface of MM file is changed. Its timestamp is also used to signify that the interface has been checked since the MM file was modified. So stamp is a more appropriate extension.

@mahge
Add the generated directory as include directory.
a6743d1

  • The antrl generated files go into a folder in the build tree. This was not added to include before. It was working only because the normal (autotools, non-cmake) build generated those files in the source directory and the header was picked.
  • We add them before the current source directory to make sure that they are included even if there are files generated by the normal autotools build.

@mahge
Refactor and format Parser/CMakeLists
0f08730

  • The file containing macros is now moved to .cmake directory.
  • macros have been prefixed with omc_
14:23 Changeset in OpenModelica [d2c520f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/util/utility.c

Fix more modelica_string usage.

13:32 Changeset in OpenModelica [0f08730c] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    1 move in OMCompiler/Parser

Refactor and format Parser/CMakeLists

  • The file containing macros is now moved to .cmake directory.
  • macros have been prefixed with omc_
13:32 Changeset in OpenModelica [a6743d1] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Parser/CMakeLists.txt

Add the generated directory as include directory.

  • The antrl generated files go into a folder in the build tree. This was not added to include before. It was working only because the normal (autotools, non-cmake) build generated those files in the source directory and the header was picked.
  • We add them before the current source directory to make sure that they are included even if there are files generated by the normal autotools build.
13:32 Changeset in OpenModelica [6db7ddd1] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 3 edits in OMCompiler/Compiler

Rename generated interface base file to .stamp.

  • It is used as a baseline for checking if interface of MM file is changed. Its timestamp is also used to signify that the interface has been checked since the MM file was modified. So stamp is a more appropriate extension.
13:14 Ticket #6013 (choicesAllMatching doesn't work with relative paths) closed by adrpo
fixed: This is fixed.
12:50 Changeset in OpenModelica [5d30aa0] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

Refactor and format Compiler/runtime/CMakeLists

12:40 Ticket #6165 (Parameter window does not have the right width when replaceable ...) closed by adeas31
fixed: Ported to 1.16
12:39 Changeset in OpenModelica [59175cf6]maintenance/v1.16 by Adeel Asghar <adeel.asghar@…>
  • 3 edits in OMEdit/OMEditLIB

Don't miss out the element double click (#6852)

12:39 Changeset in OpenModelica [00a0b9b]maintenance/v1.16 by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Fixed ticket:6165 use the max width available

12:09 Changeset in OpenModelica [d1797c3] by Adeel Asghar <adeel.asghar@…>
  • 3 edits in OMEdit/OMEditLIB

Don't miss out the element double click (#6852)

12:08 Changeset in OpenModelica [1efc25c] by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Fixed ticket:6165 use the max width available

12:07 Changeset in OpenModelica [e75d8c8b]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 3 edits in OMEdit/OMEditLIB

Don't miss out the element double click (#6852)

11:56 Changeset in OpenModelica [3a0e8f18] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 4 edits in OMCompiler/SimulationRuntime/c/util

Fix SimulationRuntime warnings.

11:36 Changeset in OpenModelica [be91ec8] by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Modeling/ModelWidgetContainer.cpp

Check for NULL pointer

11:27 Changeset in OpenModelica [f8b5fe0]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Fixed ticket:6165 use the max width available

11:19 Changeset in OpenModelica [05dcd3c7] by Adeel Asghar <adeel.asghar@…>
  • 3 edits in OMEdit/OMEditLIB

Don't miss out the element double click

10:39 Changeset in OpenModelica [d2c4e261] by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Fixed ticket:6165 use the max width available

08:41 Changeset in OpenModelica [a0d552b]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 57 edits
    21 adds in OMCompiler

CMake configuration support for OpenModelica/OMCompiler (#6737)

  • [cmake] Initial cmake configuration support.
  • [cmake] Add OMParser to compilation.
  • Uses two macros for generating the C files from the antlr sources. One is used for antlr files that depend on base_modelica_lexer. The other is used for only Modelica.g right now.
  • [cmake] Move the antlr target macros new file.
  • They clutter things in the main cmake file.
  • [cmake] Add CMake support for OMCompiler/runtime.
  • OMCompiler/runtime cannow be compiled using cmake.
    • Right now there is missing symbols from dgsev. I am not sure yet where to add them. Maybe dgsev can be added to simulationRuntime/c libraries. Other than that OMCompiler/runtime can be compiled with all symbols found at the moment.
  • We now use proper qualified names for libraries, e.g. omc::3rd::gc for the gc-lib in 3rdParty/gc. These names are added as aliases to the actual library. Use these everywhere. There should not be a single use of the actual library names.
  • [cmake] Update 3rdParty submodule.
  • Changes have been made to the submodule on mahge/cmake_config. It is mostly some minor fixes and a 3rdParty top level CMakeLists.txt
  • [cmake] Add prefixes to 3rdParty cmake options.
  • CMinPack shared library option is prefixed so that it does not conflict with other libraries build types.
    • BUILD_SHARED_LIBS -> CMINPACK_BUILD_SHARED_LIBS
  • Sundials options are prefixed so that they do not conflict with other libraries.
    • KLU_ENABLE -> SUNDIALS_KLU_ENABLE
    • LAPACK_ENABLE -> SUNDIALS_LAPACK_ENABLE
  • [cmake] Add Susan to MetaModelica compilation.
  • A macro is added for compiling a given susan template file to a MetaModelica .mo file using omc.

For convenience, a list of all the generated mo files is added
to the cmake variable TPL_OUTPUT_MO_FILES by the macro.

  • [cmake] Add runtime/omcbackendruntime compilation.
  • [cmake] Added an interface include to fmilib.
  • There is an inteface include directory defined for fmilib in 3rdParty/CMakeLists.txt. That means we do not need to explicitly add the include directory here. Until FMIL sorts out their configuration usage we can deal with it like this.
  • 3rdParty module is updated.
  • [cmake] Remove the temporary template target.
  • It was added just for testing whiled developing.
  • The generated mo files are now used by the libOpenModelica target. So the tpl files will be translated to mo if the mo files are missing.
  • [cmake] Add alias target for libomparse
  • OMCompiler/Parser (omparse) -> omc::parser
  • [CMake] Add runtime/omcgraphstream.
  • Add compilation for libomcgraphstream. Links to 3rdParty/graphstream libnetstream.a
  • [cmake] Clarify BootstrappingHeader inclusion.
  • We include OpenModelicaBootstrappingHeader.h with a relative path now.
  • If OMC_BOOTSTRAPPING is defined it is included from Compiler/boot/tarball-include. Otherwise include it from Compiler/.

We can, of course, give OMCompiler/Compiler dir as an include directory to
the libraries in runtime.
However, there is an omc_fil.h in Compiler/Util (it should not be there but it is there for now)
there is also an omc_file.h in SimulationRuntime/c/util.

We link to OpenModelicaRuntime which is built in SimulationRuntime/c/ and we
automatically provide SimulationRuntime/c/ as an include dir for things that link
to this library. This means for example runtime/omcruntime.a will get SimulationRuntime/c/
as an include dir automatically when linking to OpenModelicaRuntime.

If we give both Compiler/ and SimulationRuntime/c/ we essentially have two
files that can be reached as #include "util/omc_file.h". We should try to avoid
manually adding target_include dirs anyway. for this reason OMCompiler/Compiler/ is
not given as an include dir now. It was only needed for OpenModelicaBootstrappingHeader.h.
OpenModelicaBootstrappingHeader.h is now included by relative path.

  • [cmake] Relative OpenModelicaBootstrappingHeader.h
  • Fix OpenModelicaBootstrappingHeader inclusion on Parser/. If OMC_BOOTSTRAPPING is defined include it from Compiler/boot/tarball-include. Otherwise include it from Compiler/.
  • Some target_include_directories are not needed anymore. include directory propagation is managed by what libraries a target links to, i.e., cmake will automatically propagate the public include directories of a given library when the library is linked to some other target.
  • [cmake] Link omcruntime to blas.
  • I am not sure which blas we are supposed to use. There are some sources in 3rdParty/dgesv. I will check later if they need to be used somewhere.
  • [cmake] Do not report antlr analysis.
  • There is no need to report antlr grammar info every time the files are recompiled. The information just clutters the output.
  • [cmake] Initial MetaModelica compilation support.
  • [cmake] Move CMake related files to a subdirectory
  • [cmake] Add missing susan template targets.
  • Some susan template files were not being translated to MetaModelica because they were not added to the cmake file. They are added now.
  • [cmake] Remove non-existing package from TypeView.
  • There was a definition for a package named 'Connect' in DAEDumpTV.mo. There is no package named 'Connect' in the MetaModelica sources. There is one nested in DAE package (DAE.Connect). This was not detected as error because the package is not used in DAEDumpTpl.tpl anyway. So I guess the remove-unused-packages scrip removed it anyway.
  • [cmake] Define OMC_BOOTSTRAPPING for bootstrapping.
  • OMC_BOOTSTRAPPING is defined when compiling the runtime libs for bootstrapping. This define is used to pick the correct OpenModelicaBootstrappingHeader.h.
  • [cmake] Fix the directory where file is expected.
  • [cmake] Reduce info printed during configure step.
  • [cmake] Cleanup unused files.
  • The compilation of susan template targets is now handled by the CMakeLists file in OMCompiler.
  • [cmake] Move compilation out of boot folder
  • We used to configure and compile the MetaModelica files from the perspective of the Compiler/boot folder. this was done just to simplify things at the begining since it made it easier to compare things with the old approach which works from that folder.

Now MetaModelica related compilations are done from the perspective
of the Compiler/ folder. This is more logical.

  • [cmake] Selectively include old/new cmake source.
  • The CMakeLists.txt in SimulationRuntime/c is actually used for compilation of simulationruntimemsvc library. Therefor we need to keep it for now.

To do this we include one of the old or new cmake sources in the
main CMakelists.tx file in c/ folder based on a variable that is
either defined or undefined depening on which compilation
(new cmake or makefile.omdev.mingw) is used.

  • [cmake] Update 3rdParty.
  • The CMake related changes to 3rdParty are now moved to a separate branch - CMakeBuildSupport. This points to that branch now.
  • [cmake] Prefix sundials cmake variables.
  • BUILD_STATIC_LIBS -> SUNDIALS_BUILD_STATIC_LIBS

This is to avoid conflicts with other libraries.

  • [cmake] Update find_package for CURL
  • [cmake] Being the remote developer robot
  • Just adding what mahge told me
  • [cmake] Corba support for omniORB on MinGW/OMdev.
  • Corba support for MinGW/OMDev is enabled by the variable OMC_USE_CORBA
  • The file omdev_omniorb_setup.cmake sets up the omniORB libraries and idl compiler for use with CMake.
  • The file omc_omniorb_corba_target.cmake provided a macro for conveniently adding corba targets.
  • [cmake] Disallow implicit function declaration.
  • implicit function declaration should be forbidden for all C source files. We want to be strict with include headers and directories. If implicit declaration is allowed for C sources it messes things up and makes it difficult to track what comes from where.
  • [cmake] Link to static fmilib
  • We link to the static fmilib instead of fmilib_shared.
  • [cmake] Add omc.exe compilation.
  • We can now build omc.exe.
  • libOpenModelicaCompiler is built as a static library. Building it as a shared library should also work except that Boehm GC is creating problems as always. The omc.exe that is built from a shared libOpenModelicaCompiler starts but does not do anything and just hangs.

There is some proper configuration that needs to be used to compile
and also USE Boehm GC correctly with CMake.
In the meantime a static libOpenModelicaCompiler and a statically
linked omc.exe should be just fine.

  • [cmake] Update 3rdParty.
  • We now use fmillib static version.
  • We build lpsolve55 as a static library.
  • [cmake] Fix Boehm GC CMake Compilation.
  • This now fixes the Boehm GC issues. It should be possible to build and use static or shared libOpenModelicaCompiler either in debug or release builds without problems.
  • - The old CMakeLists.txt was really not usable. The new one seems to be a lot improved and all options are handled properly as they are for the autoconf configuration.
  • This now requires CMake 3.1. I guess this is okay because there is no way anyone was using the old CMakeLists anyway.
  • GC_BUILD_SHARED_LIBS is used to set a new variable GC_LIBRARY_BUILD_TYPE to either SHARED or STATIC. This way we can choose how to build gc lib.
  • [cmake] Rename libgc to libomcgc
  • libgc is renamed to libomcgc. This was done for the library built by autotools config. So we will do it here as well.

I am guessing this is done so that we would not link to installed
gc inadvertently.

  • Previously there was no problem since the gcc and MSVC builds of OpenModelica libraries used the autotools and CMake builds of 3rdParty/gc respectively. So they used the different names omcgc and gc-lib for the library built from the same code.

Now we are trying to unify things to CMake which means the names
need to be consistent.

  • Check the 3rdParty commit for more changes.
  • By default, the new CMake config for 3rdParty/gc builds shared libs. OpenModelica MSVC targets expects static libs. The option GC_BUILD_SHARED_LIBS is set to OFF for those builds.
  • [cmake] Look for LAPACK instead of BLAS.
  • We want LAPACK libs in addition to just BLAS.
  • FindLapack will find both.
  • [cmake] Fix implicit function declaration flag.
  • Apply -Werror=implicit-function-declaration only to our code. There are some libs (e.g. FMI Zlib on Linux builds) that fail to set up things properly and end up using implicit declaration. Until those get fixed upstream we require it only for our own code.
  • Also require it only for C code. Recent gcc versions complains about it being used on C++ sources.
  • Comment out cmake -E cat command. "cat" for cmake script mode is not available until CMake 3.18.
  • Remove locale=en. Was pushed in by mistake.
  • [cmake] Make corba actually optional.
  • There was an option to disable corba already. However, compilation was just supposed to fail if there was no corba support. Now it is fixed.
  • Corba support is now disabled by default. -> OMC_USE_CORBA is OFF by default.
  • [cmake] Change Intl linkage approach.
  • libintl can be part of GNU libc in Linux. Then a linking command like "-lintl" would not work since there is no intl.
  • So instead use the old cmake way specifying ${INTL_LIBRARIES} which can be just empty.
  • Until we get a namespaced version like Intl::Intl that can be empty when libintl does not exist we can be happy with this.
  • [cmake] Fix Windows/MinGW only link libraries.
  • [cmake] A quick fix for uuid linkage.
  • On Windows uuid.lib is added to every exe or dll linkage by cmake.
  • On other systems we need to link it explicitly.
  • There is no cmake module for finding uuid yet. I will add one later but for now jsut find_library should suffice assuming that the uuid headers will be in the system include directories.
  • [CMAKE] Update gitignore and UUID lib
  • [CMake] Fixing missing $
  • [cmake] Add missing MM dependency updater.
  • If a MM source is modfied and its interface has changed then the MM source files that depend on it need to be retranslated.

There is a tiny cmake script added to instigate this. It reads the
reverse dependencies (dependees) of the modified MM file and touches
their "stamps" so that they get translated again.

Note right now they are not checked for interface "change". There might
be a need to have this, but we will see if it is so as we go.

This was left for later while I fix the other CMake issues.

  • [cmake] Fix include path and wrong file extension.
  • [cmake] Set default build type to Debug.
  • [cmake] expat as subdirectory instead of external.
  • Add expat as a subdirectory instead of as an external project. There is no need, as far as I can see, to have it as an external project. It has a cmake configuration support and that is what is used when building it as external project. It can just be added as a subdirectory instead.
  • The main problem was that it the way exapt was setup as the external project and then imported library added some dependencies on non-existing target (that the external project needs to build first). This creates a problem for strict build systems like "Ninja".
  • See the commit on the 3rdParty submodule for more changes.
  • [cmake] Install omc and libOpenModelicaCompiler.
  • Install omc executable to the RUNTIME (default bin) directory.
  • Install libOpenModelica compiler to the LIBRARY (lib) directory.
  • Install ModelicaBuiltin files to the <LIBRARY>/omlibrary (lib/omlibrary) directory.
  • Set the <install_prefix>/lib as an rpath dir to installed components.
  • There are some fixes done to 3rdParty FMIL and CMinPack projects. FMI is adjusted to use CMAKE_INSTALL_PREFIX instead of its own fixed FMILIB_INSTALL_PREFIX. The decision where to install should be left to the user.

Check the 3rdParty submodule logs for more info.

  • [cmake] Add a separate installation component.
  • So we now have separate install component "compiler". This allows to install just omc and its runtime dependencies. You can, for example, specify this component as follows:

cmake -DCOMPONENT=compiler -P cmake_install.cmake

in your root build directory.

  • CMake will install everything built by default. If you build just omc and then try to make install it will start building everything first.
  • [cmake] Add default installation folder.
  • To avoid installing into system folder like /usr or /usr/local we add a default install dir as:

<Project_root>/install_cmake

if the user has not specified an installation directory (i.e. has not
set CMAKE_INSTALL_PREFIX when configuring)

  • [cmake] Fixes for libzmq-static linking.
  • Add the transitively needed libraries when linking to libzq-static.
  • See the commit/diff on 3rdParty submodule for details.
  • [cmake] Add new file UnorderedSet to compilation.
  • [cmake] Remove unnecessary package_list file.
  • The list of MM filenames part of the compilation is now generated by cmake itself during build system generation. The file contains a list of just the filenames (no path, no extension) to be read by the simple dep_scanner executable.
  • Add some comments to the CMakeLists file. There needs to be more. Maybe writing a whole standalone documentation can even be better as soon as this is stable.
  • [cmake] Use ccache if asked to and is available.
  • ccache can speedup compilation quite a bit since we handle dependencies at MM level and usually will recompile C files even when not needed because a MM file (which the MM of our C file depends on) has been modified without changing its interface.
  • As a bonus you will also not have to recompile C/C++ sources so much when you switch between branches with git.
  • [cmake] Build Boehm GC as a static library as well
  • We now build gc as a static lib. This means there are no more shared libraries in compilation of omc (except libOpenModelicaCompiler itself if needed, of course.)
  • This also means there is no need to install gc with omc for using just omc.
  • See referenced 3rdParty commit for changes.
  • [cmake] Add initial README from PR description.
  • This will be updated as we go.
  • [cmake] Add a custom install target 'install_omc'.
  • This target builds and installs just omc. It is provided just for convenience to allow people to use something similar to what they are used to do , that is issue 'make install_omc', instead of having to run CMake's separate installation script.
  • [cmake] Update documentation.
  • [cmake] Add new MetaModelica sources to the list.
  • Update 3rdParty.
  • Changes from the cmake branch in 3rdParty have been merged to master.

submodule 3rdParty head is now tip of 3rdparty/master.

Co-authored-by: AnHeuermann <andreas.heuermann@…>
Co-authored-by: AnHeuermann <andreas.heuermann@…>

07:56 Changeset in OpenModelica [c591d48]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Martin Sjölund <martin+github@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Add OMSysIdent static utility methods to User's Guide

07:56 Changeset in OpenModelica [ca381c7]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Martin Sjölund <martin+github@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Migrate OMSysIdent docs into User's Guide

00:12 Ticket #6165 (Parameter window does not have the right width when replaceable ...) created by casella
Please check the attached test case. When you double-click on the …
00:05 Changeset in OpenModelica [2041381] by Bernhard Thiele <bernhard.thiele@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Add OMSysIdent static utility methods to User's Guide

00:05 Changeset in OpenModelica [c35b1eb6] by Bernhard Thiele <bernhard.thiele@…>
  • 1 edit in doc/UsersGuide/source/systemidentification.rst

Migrate OMSysIdent docs into User's Guide

2020-10-21:

23:37 Ticket #6127 (Improve drop-down menu for replaceable class) closed by casella
fixed: I tested this in the 1.17.0 nightly and it looks very good. I …
21:29 Changeset in OpenModelica [8044dc44] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/3rdParty

Update 3rdParty.

  • Changes from the cmake branch in 3rdParty have been merged to master.

submodule 3rdParty head is now tip of 3rdparty/master.

21:27 Changeset in OpenModelica [7bc6b63] by GitHub <noreply@…>
  • 1 add in CMakeLists.txt

Fixes and improvments to 3rdParty for CMake configuration support (#70)

  • Fix and improve 3rdPrty libraries for CMake compilation support. (#55)
  • Add top level cmake file for 3rdParty
  • Add 3rdParty/antrl to cmake compilation.
  • Add cmake compilation for lpsolve.
  • This did not have cmake compilation support.
  • Requires:
    • bison
    • flex
  • Builds:
    • lpsolve55
  • Use namespaced libraries. Improve lpsolve config.
  • The top level 3rdParty cmake file now provides namespaced aliases for libraries. We use these aliases throughout omc. It helps make sure we link against our own libs at all times. It also tells us where exactly libraries are coming from.
  • Improve lpsolve configuration. Copy all needed header files to one place and make that a public/interface include for all things that depend on liblpsolve55.
  • Prefix 3rdParty/CMinPack options to avoid clash.
  • Prefix sundials cmake variables.
  • Variables like BUILD_SHARED_LIBS, EXAMPLE_ENABLE ... need to be prefixed per project so that they do not conflict with other projects.
  • Add an interface include directory for fmilib.
  • It points to the install directory. They have somehow decided to make a local install directory themselves and put things there even though the user does not ask for installation.
  • Add cmake support for graphstream (netstream)
  • A library libnetstream is built.
  • An executable netstream-main is built.
  • Add ModelicaExternalC compilation.
  • Library aliases: omc::3rd::modelica_external_c -> ModelicaExternalC omc::3rd::modelica_mat_io -> ModelicaMatIO omc::3rd::modelica_io -> ModelicaIO
  • Remove tbb from CMakeLists
  • Tbb is not yet part of OM 3rdParty libs. I just had it locally. We will add it and re-enable it.
  • [cmake] Fix warning messages for SuiteSparse.
  • There were some invalid comand line compiler defines of the form -DFLAG-NOTFOUND. If a target property does not exist a cmake call get_target_property(VAR ...) will return VAR-NOTFOUND. This was being used as a compile define.
  • Add an interface include directory for metis.
  • [cmake] Link to winsock only on Windows.
  • [cmake] Use proper case for package names.
  • Use package name cases that match the FindSomething module.
  • [cmake] Fix configuration of Boehm GC
  • [cmake] Use static version of fmilib.
  • There is no need so far to use the shared version of fmilib (fmilib_shared.dll) So just use the static one and avoid needing to copy a dll.
  • [cmake] Compile lpsolve55 as a static library.
  • There is no need yet to have it as shared lib.
  • [cmake] Update CMakeLists.txt for Boehm GC.
  • The old CMakeLists.txt was really not usable. The new one seems to be a lot improved and all options are handled properly as they are for the autoconf configuration.
  • This now requires CMake 3.1. I guess this is okay because there is no way anyone was using the old CMakeLists anyway.
  • [cmake] Allow static/shared lib config for GC.
  • GC_BUILD_SHARED_LIBS is used to set GC_LIBRARY_BUILD_TYPE to either SHARED or STATIC.
  • This way we can choose how to build gc lib.
  • [cmake] Rename libgc to libomcgc. (#58)
  • gc is named omcgc. This was done for the library built by

autotools config. So we will do it here as well.

I am guessing this is done so that we would not link to installed
gc inadvertently.

  • [cmake] expat as subdirectory instead of external. (#59)
  • Add expat as a subdirectory instead of as an external project. There

is no need, as far as I can see, to have it as an external project.
It has a cmake configuration support and that is what is used when
building it as external project. It can just be added as a subdirectory
instead.

  • The main problem was that it the way exapt was setup as the external project and then imported library added some dependencies on non-existing target (that the external project needs to build first). This creates a problem for strict build systems like "Ninja".
  • [cmake] Fix include directory for expat.
  • Use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR. CMAKE_CURRENT_BINARY_DIR is the build directory corresponding to the folder where the current CMakeLists.txt is located. CMAKE_BINARY_DIR points to the TOP build directory. Which might not be the same as the former if the project is added as part of another parent project structure.
  • [cmake] Fix include directory for expat.
  • [cmake] Fix FMIL and CMinpack for installation.
  • It might not be possible to write to the ${CMAKE_ROOT} directory due to permissions. So for now we skip the installation of the FindCMinpack.cmake module.
  • FMIL! it is just bad. They change the installation prefix internally, add it to the cache and even force overwriting it to their own selected installation prefix. Just remove that part.
  • [cmake] More fix for FMI library installation.
  • Use the user specified installation directory. Do not make internal decisions on where to install. Leave that to the user.
  • [cmake] Build and use the static version of libzmq
  • The cmake variables have been prefixed to avoid conflicts.
  • If the shared version is needed instead, just change the options in 3rdParty/CMakeLists.txt.
  • We also need to link the static library to the threads library found. What this means, linking a lib to a static lib in CMakes world, is anything that links to libzmq needs to link to the threads library as well.
  • [cmake] Install omcgc with omc.
  • Add omc gc to the "compiler" install component so that it is installed when omc (which is also added to "compiler" component) is installed.
  • [cmake] libzmq-static depends on more libs on Win.
  • There are more libraries needed to link when linking to libzmq-static on Windows, i.e transitive dependencies for users of libzmq-static.
  • [cmake] Add missing gc_dlopen.c to configuration.
  • The source file _gc_dlopen.c_ is not listed in the SRC variable of the CMake configuration. This leads to undefined references of GC_dlopen when the library is built as a STATIC library.
  • When building as shared library it does not happen because the SRC variable listing all source files is overridden to contain only the single source extra/gc.c (which I assume contains the missing definition
  • [cmake] Build Boehm GC as a static library as well
  • We now build gc as a static lib. This means there are no more shared libraries in compilation of omc (except libOpenModelicaCompiler itself if needed of course.)
  • This also means there is no need to install it with omc for using just omc. You will have to install it to use it with simulation executables of course.
19:59 Changeset in OpenModelica [df59bea9]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by hudson <openmodelica@…>
  • 1 edit in libraries

Updated libraries

  • libraries b6dce16...6586c10 (1):

    Bump libraries

18:53 Changeset in OpenModelica [ac7c569]maintenance/v1.16v1.16.0-dev.beta4 by Adrian Pop <adrian.pop@…>
  • 5 edits in /

Fix unconnected flow and inside/outside.

  • Change from ComponentRef to Connector in the AdjacencyList vertices to handle inside/outside connectors correctly.
  • Add all flow variables in the model as inside connectors to make sure equations are generated for all the unconnected flow variables.
18:53 Changeset in OpenModelica [fc6b3553]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in .gitignore

prepare for v1.16.0-dev.beta4

18:53 Changeset in OpenModelica [1840738]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/NFFrontEnd/NFTyping.mo

[NF] Fix if-equation handling for -d=-nfScalarize.

  • Remove branch selection in NFTyping.typeIfEquation when using -d=-nfScalarize, it shouldn't be needed anymore since it's done during flattening and is not safe to do at that point in the compilation.
18:53 Changeset in OpenModelica [c4bb214]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/Util/UnorderedSet.mo

Update UnorderedSet.

  • Fix size of the set when removing elements with UnorderedSet.remove.
  • Add functions copy, first, all, any, none and isEmpty.
18:53 Changeset in OpenModelica [ef0683e]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 2 edits in doc/bibliography

update conference proceedings

18:53 Changeset in OpenModelica [c2c9092]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 9 edits in OMCompiler/SimulationRuntime/OMSICpp

[omiscpp] handle abort calls from fmu's in omsicpp simulation, send error messages via zeromq

18:53 Changeset in OpenModelica [dae55cf1]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 118 edits in testsuite

[testuite] fixup for clocked state report

18:53 Changeset in OpenModelica [3ffedaa]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 3 edits in OMCompiler/Compiler

[BE] update backendaeinfo

  • add reporting of clocked states
  • fixes ticket #6132
18:53 Changeset in OpenModelica [705e5e7d]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/SimCode/SimCodeUtil.mo

Exclude constants from FMI modelDescription dependecies (#6803)

  • They are not part of the modelDescription yet.
18:53 Changeset in OpenModelica [03c9561]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 37 edits in testsuite/openmodelica/dataReconciliation

expected output

18:53 Changeset in OpenModelica [7a6667d1]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/BackEnd/DataReconciliation.mo

implement minimal set-s dataReconciliation algorithm

18:53 Changeset in OpenModelica [7605dee0]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/simulation/solver/initialization/initialization.c

Add output path to CSV file for homotopy logging

18:53 Changeset in OpenModelica [82316a99]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/simulation/solver/initialization/initialization.c

Catch error in initalization and close message and file

18:53 Changeset in OpenModelica [e62a382]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 2 edits in OMCompiler/Compiler/BackEnd

[BE] remove empty initial equations

  • filter the initial equations for equations that do not have initial unknowns and remove them
  • needed for data reconciliation since there might be initial equations for state derivatives of states that got removed during data recon
18:53 Changeset in OpenModelica [c850391]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 2 edits in OMCompiler/Compiler

Add debug symbols to FMUs and don't remove tmp files

  • When using debug flag gendebugsymbols FMUs will have debug symbols, the temporary files are not removed and the Makefile won't delete itself.
  • Only applies to C FMUs.
  • Makes debugging FMUs a tiny bit less horrible.
18:53 Changeset in OpenModelica [4a9e195b]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 8 edits in OMCompiler/Compiler

remove tabs

18:53 Changeset in OpenModelica [83c2747]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 6 edits in /

Array connection improvements

  • Fix connecting variables with different number of dimensions.
  • Avoid unnecessary range step values in more cases.
  • Fix SimplifyExp.simplifyCall so that simplified arguments aren't discarded in some cases when the call itself couldn't be simplified.
18:53 Changeset in OpenModelica [9b268ea7]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu2_model_interface.c.inc

Remove duplicate updateBoundParameter calls (#6824)

  • It will be called in initialization function anyway
    • Fixes memory leak
    • Hopefully this produces less errors
18:53 Changeset in OpenModelica [04ccf92]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Add the modifier value to combo box if its not there already

18:53 Changeset in OpenModelica [bfae500]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 2 edits in /

Fix indexing in ArrayConnections.transMulti.

18:53 Changeset in OpenModelica [6ff4da41]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 4 edits in OMCompiler/Compiler

fix ticket #6129

  • filter out partial classes
  • fix memory issues
  • speedup subtype search
18:53 Changeset in OpenModelica [5ad7c91]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 7 edits in /

Array connection improvements.

  • Make sure all iterators get unique components when creating them and not sharing a constant literal, to make the simplification for removing unused for loops work correctly.
  • Avoid creating unnecessary for loops for ranges with the same lower and upper bound.
18:53 Changeset in OpenModelica [2489e3a]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 5 edits in /

Fix -d=-nfScalarize for multidimensional eqs

  • Generalize Flatten.vectorizeEquation/Algorithm for multiple dimensions.
18:53 Changeset in OpenModelica [b6e418f6]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 19 edits
    14 adds
    3 deletes in /

Set based graph connection handling

  • Implemented data structures and functions for set based graphs.
  • Implemented new connection handling based on set based graphs, activated by -d=arrayConnect flag (also requires -d=-nfScalarize).
  • Added simplifications of for equations that unwraps loops where the iterator isn't used or the iteration range is a single value.
  • Renamed BaseVector to Vector and changed it to use type variables instead of redeclare.
  • Implemented simply AdjacencyList data structure.
18:53 Changeset in OpenModelica [8dab0e9]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Set the default place holder text for replaceable

Fixes ticket:6127

18:53 Changeset in OpenModelica [7fa329cb]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Fixes for #6127

  • add a line to remove the modifier
  • do not disable any item as it doesn't work properly
  • remove class comment quotes
  • TODO! use of setPlaceholderText to grey out the default doesn't work yet
18:53 Changeset in OpenModelica [7dc23f4]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/Template/CodegenFMU.tpl

partial fix for ticket #6161

18:53 Changeset in OpenModelica [1b5537ed]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

fix ElementPropertiesDialog before instantiation (#6785)

  • fix start values in elementPropertiesDialog before instantiation
  • allow causality=parameter and delete start values
  • improve code readability
18:53 Changeset in OpenModelica [319f0b7]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in libraries

Updated libraries

  • libraries 0d29040...81e0f6e (1):

    Bump libraries

18:53 Changeset in OpenModelica [73d397d4]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMSens_Qt

Update OMSens_Qt (#6833)

18:53 Changeset in OpenModelica [72358fa]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 5 edits in OMCompiler/Compiler

update OMSimulator API in omc (#6831)

18:53 Changeset in OpenModelica [aebc02b1]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit
    2 adds in testsuite/omsimulator

Add FMI test case for enumerations including omc and OMSimulator (#6772)

18:53 Changeset in OpenModelica [fa185942]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in .gitignore

Add OMSetup to .gitignore (#6830)

18:53 Changeset in OpenModelica [1e5d02e0]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMSimulator

Update OMSimulator (#6829)

18:53 Changeset in OpenModelica [63d72ed]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/BackEnd/BackendDAEUtil.mo

[BE] do not allow incomplete function inverting

18:53 Changeset in OpenModelica [8dd669a]maintenance/v1.16 by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/FrontEnd/AbsynUtil.mo

remove unqualified import

17:07 Changeset in OpenModelica [55dd85a1] by Adrian Pop <adrian.pop@…>
  • 5 edits in /

Fix unconnected flow and inside/outside.

  • Change from ComponentRef to Connector in the AdjacencyList vertices to handle inside/outside connectors correctly.
  • Add all flow variables in the model as inside connectors to make sure equations are generated for all the unconnected flow variables.
17:06 Changeset in OpenModelica [a197fa55]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 5 edits in /

Fix unconnected flow and inside/outside.

  • Change from ComponentRef to Connector in the AdjacencyList vertices to handle inside/outside connectors correctly.
  • Add all flow variables in the model as inside connectors to make sure equations are generated for all the unconnected flow variables.
16:26 Changeset in OpenModelica [03efe4e] by Per Östlund <perost86@…>
  • 5 edits in /

Fix unconnected flow and inside/outside.

  • Change from ComponentRef to Connector in the AdjacencyList vertices to handle inside/outside connectors correctly.
  • Add all flow variables in the model as inside connectors to make sure equations are generated for all the unconnected flow variables.
15:38 Changeset in OpenModelica [ef5f7a1e] by Adrian Pop <adrian.pop@…>
  • 1 edit in .gitignore

prepare for v1.16.0-dev.beta4

15:28 Changeset in OpenModelica [51a52b92] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/NFFrontEnd/NFTyping.mo

[NF] Fix if-equation handling for -d=-nfScalarize.

  • Remove branch selection in NFTyping.typeIfEquation when using -d=-nfScalarize, it shouldn't be needed anymore since it's done during flattening and is not safe to do at that point in the compilation.
15:27 Changeset in OpenModelica [11b8174] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/Util/UnorderedSet.mo

Update UnorderedSet.

  • Fix size of the set when removing elements with UnorderedSet.remove.
  • Add functions copy, first, all, any, none and isEmpty.
15:24 Changeset in OpenModelica [db67367] by Adrian Pop <adrian.pop@…>
  • 2 edits in doc/bibliography

update conference proceedings

15:24 Changeset in OpenModelica [5c25081] by Adrian Pop <adrian.pop@…>
  • 9 edits in OMCompiler/SimulationRuntime/OMSICpp

[omiscpp] handle abort calls from fmu's in omsicpp simulation, send error messages via zeromq

15:23 Changeset in OpenModelica [22f840a] by Adrian Pop <adrian.pop@…>
  • 118 edits in testsuite

[testuite] fixup for clocked state report

15:23 Changeset in OpenModelica [0aeb76f] by Adrian Pop <adrian.pop@…>
  • 3 edits in OMCompiler/Compiler

[BE] update backendaeinfo

  • add reporting of clocked states
  • fixes ticket #6132
15:16 Changeset in OpenModelica [79c9faf] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/SimCode/SimCodeUtil.mo

Exclude constants from FMI modelDescription dependecies (#6803)

  • They are not part of the modelDescription yet.
15:15 Changeset in OpenModelica [319df87] by Adrian Pop <adrian.pop@…>
  • 37 edits in testsuite/openmodelica/dataReconciliation

expected output

15:15 Changeset in OpenModelica [fbcb97e] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/BackEnd/DataReconciliation.mo

implement minimal set-s dataReconciliation algorithm

15:14 Changeset in OpenModelica [ca0708d0] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/simulation/solver/initialization/initialization.c

Add output path to CSV file for homotopy logging

15:14 Changeset in OpenModelica [eff3237] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/simulation/solver/initialization/initialization.c

Catch error in initalization and close message and file

15:14 Changeset in OpenModelica [22914a1b] by Adrian Pop <adrian.pop@…>
  • 2 edits in OMCompiler/Compiler/BackEnd

[BE] remove empty initial equations

  • filter the initial equations for equations that do not have initial unknowns and remove them
  • needed for data reconciliation since there might be initial equations for state derivatives of states that got removed during data recon
15:14 Changeset in OpenModelica [200845ef] by Adrian Pop <adrian.pop@…>
  • 2 edits in OMCompiler/Compiler

Add debug symbols to FMUs and don't remove tmp files

  • When using debug flag gendebugsymbols FMUs will have debug symbols, the temporary files are not removed and the Makefile won't delete itself.
  • Only applies to C FMUs.
  • Makes debugging FMUs a tiny bit less horrible.
15:09 Changeset in OpenModelica [bb19ac5] by Adrian Pop <adrian.pop@…>
  • 8 edits in OMCompiler/Compiler

remove tabs

15:09 Changeset in OpenModelica [e52a6fad] by Adrian Pop <adrian.pop@…>
  • 6 edits in /

Array connection improvements

  • Fix connecting variables with different number of dimensions.
  • Avoid unnecessary range step values in more cases.
  • Fix SimplifyExp.simplifyCall so that simplified arguments aren't discarded in some cases when the call itself couldn't be simplified.
15:09 Changeset in OpenModelica [baf3ba92] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu2_model_interface.c.inc

Remove duplicate updateBoundParameter calls (#6824)

  • It will be called in initialization function anyway
    • Fixes memory leak
    • Hopefully this produces less errors
15:09 Changeset in OpenModelica [f6349ba] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Add the modifier value to combo box if its not there already

15:09 Changeset in OpenModelica [e0a8d3d] by Adrian Pop <adrian.pop@…>
  • in /

Update OMSimulator (#6844)

15:09 Changeset in OpenModelica [74f72fe] by Adrian Pop <adrian.pop@…>
  • 2 edits in /

Fix indexing in ArrayConnections.transMulti.

15:09 Changeset in OpenModelica [9960cdcd] by Adrian Pop <adrian.pop@…>
  • 4 edits in OMCompiler/Compiler

fix ticket #6129

  • filter out partial classes
  • fix memory issues
  • speedup subtype search
15:09 Changeset in OpenModelica [1019c41e] by Adrian Pop <adrian.pop@…>
  • 7 edits in /

Array connection improvements.

  • Make sure all iterators get unique components when creating them and not sharing a constant literal, to make the simplification for removing unused for loops work correctly.
  • Avoid creating unnecessary for loops for ranges with the same lower and upper bound.
15:08 Changeset in OpenModelica [5c431b26] by Adrian Pop <adrian.pop@…>
  • 5 edits in /

Fix -d=-nfScalarize for multidimensional eqs

  • Generalize Flatten.vectorizeEquation/Algorithm for multiple dimensions.
15:07 Changeset in OpenModelica [c9471b8] by Adrian Pop <adrian.pop@…>
  • 19 edits
    14 adds
    3 deletes in /

Set based graph connection handling

  • Implemented data structures and functions for set based graphs.
  • Implemented new connection handling based on set based graphs, activated by -d=arrayConnect flag (also requires -d=-nfScalarize).
  • Added simplifications of for equations that unwraps loops where the iterator isn't used or the iteration range is a single value.
  • Renamed BaseVector to Vector and changed it to use type variables instead of redeclare.
  • Implemented simply AdjacencyList data structure.
15:06 Changeset in OpenModelica [b36f16e] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Set the default place holder text for replaceable

Fixes ticket:6127

15:06 Changeset in OpenModelica [2332b51] by Adrian Pop <adrian.pop@…>
  • in /

Updated libraries

  • libraries 827b0a1...b6dce16 (1):

    Bump libraries

15:05 Changeset in OpenModelica [e5acdde] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Fixes for #6127

  • add a line to remove the modifier
  • do not disable any item as it doesn't work properly
  • remove class comment quotes
  • TODO! use of setPlaceholderText to grey out the default doesn't work yet
15:05 Changeset in OpenModelica [dbd3f0e4] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/Template/CodegenFMU.tpl

partial fix for ticket #6161

15:05 Changeset in OpenModelica [ed3bb8a] by Adrian Pop <adrian.pop@…>
  • in /

Updated libraries

  • libraries 81e0f6e...827b0a1 (1):

    Bump libraries

15:04 Changeset in OpenModelica [86a96f6] by Adrian Pop <adrian.pop@…>
  • 2 edits in OMEdit/OMEditLIB/OMS

fix ElementPropertiesDialog before instantiation (#6785)

  • fix start values in elementPropertiesDialog before instantiation
  • allow causality=parameter and delete start values
  • improve code readability
14:51 Changeset in OpenModelica [e727407d] by Adrian Pop <adrian.pop@…>
  • 1 edit in libraries

Updated libraries

  • libraries 0d29040...81e0f6e (1):

    Bump libraries

14:51 Changeset in OpenModelica [87caa274] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMSens_Qt

Update OMSens_Qt (#6833)

14:51 Changeset in OpenModelica [767eac84] by Adrian Pop <adrian.pop@…>
  • 5 edits in OMCompiler/Compiler

update OMSimulator API in omc (#6831)

14:51 Changeset in OpenModelica [85d2ae4c] by Adrian Pop <adrian.pop@…>
  • 1 edit
    2 adds in testsuite/omsimulator

Add FMI test case for enumerations including omc and OMSimulator (#6772)

14:51 Changeset in OpenModelica [c87ea76] by Adrian Pop <adrian.pop@…>
  • 1 edit in .gitignore

Add OMSetup to .gitignore (#6830)

14:49 Changeset in OpenModelica [2d464ffb] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMSimulator

Update OMSimulator (#6829)

14:46 Changeset in OpenModelica [8dbe6e6] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/BackEnd/BackendDAEUtil.mo

[BE] do not allow incomplete function inverting

14:46 Changeset in OpenModelica [3c46939] by Adrian Pop <adrian.pop@…>
  • 1 edit in OMCompiler/Compiler/FrontEnd/AbsynUtil.mo

remove unqualified import

14:05 Changeset in OpenModelica [33347250]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 8 edits in OMCompiler/Compiler

remove tabs

14:04 Changeset in OpenModelica [b782523] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/.cmake/meta_modelica_source_list.cmake

[cmake] Add new MetaModelica sources to the list.

14:04 Changeset in OpenModelica [d36146f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/README.cmake.md

[cmake] Update documentation.

14:04 Changeset in OpenModelica [d4a68940] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Add a custom install target 'install_omc'.

  • This target builds and installs just omc. It is provided just for convenience to allow people to use something similar to what they are used to do , that is issue 'make install_omc', instead of having to run CMake's separate installation script.
14:04 Changeset in OpenModelica [a7fdcec] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 add in OMCompiler/README.cmake.md

[cmake] Add initial README from PR description.

  • This will be updated as we go.
14:04 Changeset in OpenModelica [f587cb65] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/3rdParty

[cmake] Build Boehm GC as a static library as well

  • We now build gc as a static lib. This means there are no more shared libraries in compilation of omc (except libOpenModelicaCompiler itself if needed, of course.)
  • This also means there is no need to install gc with omc for using just omc.
  • See referenced 3rdParty commit for changes.
14:04 Changeset in OpenModelica [ea3c8823] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/CMakeLists.txt

[cmake] Use ccache if asked to and is available.

  • ccache can speedup compilation quite a bit since we handle dependencies at MM level and usually will recompile C files even when not needed because a MM file (which the MM of our C file depends on) has been modified without changing its interface.
  • As a bonus you will also not have to recompile C/C++ sources so much when you switch between branches with git.
14:04 Changeset in OpenModelica [88b5250f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    1 delete in OMCompiler/Compiler

[cmake] Remove unnecessary package_list file.

  • The list of MM filenames part of the compilation is now generated by cmake itself during build system generation. The file contains a list of just the filenames (no path, no extension) to be read by the simple dep_scanner executable.
  • Add some comments to the CMakeLists file. There needs to be more. Maybe writing a whole standalone documentation can even be better as soon as this is stable.
14:04 Changeset in OpenModelica [d0e20bb] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler/Compiler/.cmake

[cmake] Add new file UnorderedSet to compilation.

14:04 Changeset in OpenModelica [2e1f3837] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Fixes for libzmq-static linking.

  • Add the transitively needed libraries when linking to libzq-static.
  • See the commit/diff on 3rdParty submodule for details.
14:04 Changeset in OpenModelica [cc36b37] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/CMakeLists.txt

[cmake] Add default installation folder.

  • To avoid installing into system folder like /usr or /usr/local we add a default install dir as:

<Project_root>/install_cmake

if the user has not specified an installation directory (i.e. has not
set CMAKE_INSTALL_PREFIX when configuring)

14:04 Changeset in OpenModelica [577c0c0b] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Add a separate installation component.

  • So we now have separate install component "compiler". This allows to install just omc and its runtime dependencies. You can, for example, specify this component as follows:

cmake -DCOMPONENT=compiler -P cmake_install.cmake

in your root build directory.

  • CMake will install everything built by default. If you build just omc and then try to make install it will start building everything first.
14:04 Changeset in OpenModelica [16b92f9d] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 6 edits in OMCompiler

[cmake] Install omc and libOpenModelicaCompiler.

  • Install omc executable to the RUNTIME (default bin) directory.
  • Install libOpenModelica compiler to the LIBRARY (lib) directory.
  • Install ModelicaBuiltin files to the <LIBRARY>/omlibrary (lib/omlibrary) directory.
  • Set the <install_prefix>/lib as an rpath dir to installed components.
  • There are some fixes done to 3rdParty FMIL and CMinPack projects. FMI is adjusted to use CMAKE_INSTALL_PREFIX instead of its own fixed FMILIB_INSTALL_PREFIX. The decision where to install should be left to the user.

Check the 3rdParty submodule logs for more info.

14:04 Changeset in OpenModelica [2349d7b8] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] expat as subdirectory instead of external.

  • Add expat as a subdirectory instead of as an external project. There is no need, as far as I can see, to have it as an external project. It has a cmake configuration support and that is what is used when building it as external project. It can just be added as a subdirectory instead.
  • The main problem was that it the way exapt was setup as the external project and then imported library added some dependencies on non-existing target (that the external project needs to build first). This creates a problem for strict build systems like "Ninja".
  • See the commit on the 3rdParty submodule for more changes.
14:04 Changeset in OpenModelica [fbadea3f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/CMakeLists.txt

[cmake] Set default build type to Debug.

14:04 Changeset in OpenModelica [fc194da] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler/Compiler/runtime

[cmake] Fix include path and wrong file extension.

14:04 Changeset in OpenModelica [7f25d743] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 3 edits
    1 add in OMCompiler

[cmake] Add missing MM dependency updater.

  • If a MM source is modfied and its interface has changed then the MM source files that depend on it need to be retranslated.

There is a tiny cmake script added to instigate this. It reads the
reverse dependencies (dependees) of the modified MM file and touches
their "stamps" so that they get translated again.

Note right now they are not checked for interface "change". There might
be a need to have this, but we will see if it is so as we go.

This was left for later while I fix the other CMake issues.

14:04 Changeset in OpenModelica [ad2dc198] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

[CMake] Fixing missing $

14:04 Changeset in OpenModelica [1e4d18b] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[CMAKE] Update gitignore and UUID lib

14:04 Changeset in OpenModelica [cb001a0b] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

[cmake] A quick fix for uuid linkage.

  • On Windows uuid.lib is added to every exe or dll linkage by cmake.
  • On other systems we need to link it explicitly.
  • There is no cmake module for finding uuid yet. I will add one later but for now jsut find_library should suffice assuming that the uuid headers will be in the system include directories.
14:04 Changeset in OpenModelica [c4208ad] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/cmake_3.14.cmake

[cmake] Fix Windows/MinGW only link libraries.

14:04 Changeset in OpenModelica [965cc7b7] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Change Intl linkage approach.

  • libintl can be part of GNU libc in Linux. Then a linking command like "-lintl" would not work since there is no intl.
  • So instead use the old cmake way specifying ${INTL_LIBRARIES} which can be just empty.
  • Until we get a namespaced version like Intl::Intl that can be empty when libintl does not exist we can be happy with this.
14:04 Changeset in OpenModelica [780c1e84] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Make corba actually optional.

  • There was an option to disable corba already. However, compilation was just supposed to fail if there was no corba support. Now it is fixed.
  • Corba support is now disabled by default. -> OMC_USE_CORBA is OFF by default.
14:04 Changeset in OpenModelica [76fcdf3] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Fix implicit function declaration flag.

  • Apply -Werror=implicit-function-declaration only to our code. There are some libs (e.g. FMI Zlib on Linux builds) that fail to set up things properly and end up using implicit declaration. Until those get fixed upstream we require it only for our own code.
  • Also require it only for C code. Recent gcc versions complains about it being used on C++ sources.
  • Comment out cmake -E cat command. "cat" for cmake script mode is not available until CMake 3.18.
  • Remove locale=en. Was pushed in by mistake.
14:04 Changeset in OpenModelica [66b8954] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

[cmake] Look for LAPACK instead of BLAS.

  • We want LAPACK libs in addition to just BLAS.
  • FindLapack will find both.
14:04 Changeset in OpenModelica [2d64a9a] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 7 edits in OMCompiler

[cmake] Rename libgc to libomcgc

  • libgc is renamed to libomcgc. This was done for the library built by autotools config. So we will do it here as well.

I am guessing this is done so that we would not link to installed
gc inadvertently.

  • Previously there was no problem since the gcc and MSVC builds of OpenModelica libraries used the autotools and CMake builds of 3rdParty/gc respectively. So they used the different names omcgc and gc-lib for the library built from the same code.

Now we are trying to unify things to CMake which means the names
need to be consistent.

  • Check the 3rdParty commit for more changes.
  • By default, the new CMake config for 3rdParty/gc builds shared libs. OpenModelica MSVC targets expects static libs. The option GC_BUILD_SHARED_LIBS is set to OFF for those builds.
14:04 Changeset in OpenModelica [e4c20a4] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/3rdParty

[cmake] Fix Boehm GC CMake Compilation.

  • This now fixes the Boehm GC issues. It should be possible to build and use static or shared libOpenModelicaCompiler either in debug or release builds without problems.
  • - The old CMakeLists.txt was really not usable. The new one seems to be a lot improved and all options are handled properly as they are for the autoconf configuration.
  • This now requires CMake 3.1. I guess this is okay because there is no way anyone was using the old CMakeLists anyway.
  • GC_BUILD_SHARED_LIBS is used to set a new variable GC_LIBRARY_BUILD_TYPE to either SHARED or STATIC. This way we can choose how to build gc lib.
14:04 Changeset in OpenModelica [a319b8fd] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/3rdParty

[cmake] Update 3rdParty.

  • We now use fmillib static version.
  • We build lpsolve55 as a static library.
14:04 Changeset in OpenModelica [acdc3fe4] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    2 adds in OMCompiler/Compiler

[cmake] Add omc.exe compilation.

  • We can now build omc.exe.
  • libOpenModelicaCompiler is built as a static library. Building it as a shared library should also work except that Boehm GC is creating problems as always. The omc.exe that is built from a shared libOpenModelicaCompiler starts but does not do anything and just hangs.

There is some proper configuration that needs to be used to compile
and also USE Boehm GC correctly with CMake.
In the meantime a static libOpenModelicaCompiler and a statically
linked omc.exe should be just fine.

14:04 Changeset in OpenModelica [e3138910] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Link to static fmilib

  • We link to the static fmilib instead of fmilib_shared.
14:04 Changeset in OpenModelica [610c20cc] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/CMakeLists.txt

[cmake] Disallow implicit function declaration.

  • implicit function declaration should be forbidden for all C source files. We want to be strict with include headers and directories. If implicit declaration is allowed for C sources it messes things up and makes it difficult to track what comes from where.
14:04 Changeset in OpenModelica [66a59d6d] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 3 edits
    2 adds in OMCompiler

[cmake] Corba support for omniORB on MinGW/OMdev.

  • Corba support for MinGW/OMDev is enabled by the variable OMC_USE_CORBA
  • The file omdev_omniorb_setup.cmake sets up the omniORB libraries and idl compiler for use with CMake.
  • The file omc_omniorb_corba_target.cmake provided a macro for conveniently adding corba targets.
14:04 Changeset in OpenModelica [86e2a29f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

[cmake] Being the remote developer robot

  • Just adding what mahge told me
14:04 Changeset in OpenModelica [041ceef] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

[cmake] Update find_package for CURL

14:04 Changeset in OpenModelica [5958ed7] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler

[cmake] Prefix sundials cmake variables.

  • BUILD_STATIC_LIBS -> SUNDIALS_BUILD_STATIC_LIBS

This is to avoid conflicts with other libraries.

14:04 Changeset in OpenModelica [0846120c] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/3rdParty

[cmake] Update 3rdParty.

  • The CMake related changes to 3rdParty are now moved to a separate branch - CMakeBuildSupport. This points to that branch now.
14:04 Changeset in OpenModelica [662060f4] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits
    2 adds in OMCompiler

[cmake] Selectively include old/new cmake source.

  • The CMakeLists.txt in SimulationRuntime/c is actually used for compilation of simulationruntimemsvc library. Therefor we need to keep it for now.

To do this we include one of the old or new cmake sources in the
main CMakelists.tx file in c/ folder based on a variable that is
either defined or undefined depening on which compilation
(new cmake or makefile.omdev.mingw) is used.

14:04 Changeset in OpenModelica [f922c1f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    8 moves
    2 adds
    3 deletes in OMCompiler/Compiler

[cmake] Move compilation out of boot folder

  • We used to configure and compile the MetaModelica files from the perspective of the Compiler/boot folder. this was done just to simplify things at the begining since it made it easier to compare things with the old approach which works from that folder.

Now MetaModelica related compilations are done from the perspective
of the Compiler/ folder. This is more logical.

14:04 Changeset in OpenModelica [a4d5b72] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 deletes in OMCompiler/Compiler/Template

[cmake] Cleanup unused files.

  • The compilation of susan template targets is now handled by the CMakeLists file in OMCompiler.
14:04 Changeset in OpenModelica [e125477] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/boot/.cmake/template_compilation.cmake

[cmake] Reduce info printed during configure step.

14:04 Changeset in OpenModelica [e111493] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler/Compiler/boot

[cmake] Fix the directory where file is expected.

14:04 Changeset in OpenModelica [f197333] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/Makefile.common

[cmake] Define OMC_BOOTSTRAPPING for bootstrapping.

  • OMC_BOOTSTRAPPING is defined when compiling the runtime libs for bootstrapping. This define is used to pick the correct OpenModelicaBootstrappingHeader.h.
14:04 Changeset in OpenModelica [b9047a1c] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/Template/DAEDumpTV.mo

[cmake] Remove non-existing package from TypeView.

  • There was a definition for a package named 'Connect' in DAEDumpTV.mo. There is no package named 'Connect' in the MetaModelica sources. There is one nested in DAE package (DAE.Connect). This was not detected as error because the package is not used in DAEDumpTpl.tpl anyway. So I guess the remove-unused-packages scrip removed it anyway.
14:04 Changeset in OpenModelica [15902e0] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler/Compiler/boot/.cmake

[cmake] Add missing susan template targets.

  • Some susan template files were not being translated to MetaModelica because they were not added to the cmake file. They are added now.
14:04 Changeset in OpenModelica [add041b] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    3 moves
    1 add in OMCompiler/Compiler/boot

[cmake] Move CMake related files to a subdirectory

14:04 Changeset in OpenModelica [049bdea9] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 5 edits
    10 adds in OMCompiler/Compiler

[cmake] Initial MetaModelica compilation support.

14:04 Changeset in OpenModelica [2aaa189f] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Parser/omc_antlr_target_macros.cmake

[cmake] Do not report antlr analysis.

  • There is no need to report antlr grammar info every time the files are recompiled. The information just clutters the output.
14:04 Changeset in OpenModelica [7e573177] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Compiler/runtime/CMakeLists.txt

[cmake] Link omcruntime to blas.

  • I am not sure which blas we are supposed to use. There are some sources in 3rdParty/dgesv. I will check later if they need to be used somewhere.
14:04 Changeset in OpenModelica [b5b95099] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 4 edits in OMCompiler

[cmake] Relative OpenModelicaBootstrappingHeader.h

  • Fix OpenModelicaBootstrappingHeader inclusion on Parser/. If OMC_BOOTSTRAPPING is defined include it from Compiler/boot/tarball-include. Otherwise include it from Compiler/.
  • Some target_include_directories are not needed anymore. include directory propagation is managed by what libraries a target links to, i.e., cmake will automatically propagate the public include directories of a given library when the library is linked to some other target.
14:04 Changeset in OpenModelica [6f81d96] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 13 edits in OMCompiler

[cmake] Clarify BootstrappingHeader inclusion.

  • We include OpenModelicaBootstrappingHeader.h with a relative path now.
  • If OMC_BOOTSTRAPPING is defined it is included from Compiler/boot/tarball-include. Otherwise include it from Compiler/.

We can, of course, give OMCompiler/Compiler dir as an include directory to
the libraries in runtime.
However, there is an omc_fil.h in Compiler/Util (it should not be there but it is there for now)
there is also an omc_file.h in SimulationRuntime/c/util.

We link to OpenModelicaRuntime which is built in SimulationRuntime/c/ and we
automatically provide SimulationRuntime/c/ as an include dir for things that link
to this library. This means for example runtime/omcruntime.a will get SimulationRuntime/c/
as an include dir automatically when linking to OpenModelicaRuntime.

If we give both Compiler/ and SimulationRuntime/c/ we essentially have two
files that can be reached as #include "util/omc_file.h". We should try to avoid
manually adding target_include dirs anyway. for this reason OMCompiler/Compiler/ is
not given as an include dir now. It was only needed for OpenModelicaBootstrappingHeader.h.
OpenModelicaBootstrappingHeader.h is now included by relative path.

14:04 Changeset in OpenModelica [27124b2] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler/Compiler/runtime

[CMake] Add runtime/omcgraphstream.

  • Add compilation for libomcgraphstream. Links to 3rdParty/graphstream libnetstream.a
14:04 Changeset in OpenModelica [e9ec81a] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Parser/CMakeLists.txt

[cmake] Add alias target for libomparse

  • OMCompiler/Parser (omparse) -> omc::parser
14:04 Changeset in OpenModelica [c3c1ac1] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 2 edits in OMCompiler/Compiler/Template

[cmake] Remove the temporary template target.

  • It was added just for testing whiled developing.
  • The generated mo files are now used by the libOpenModelica target. So the tpl files will be translated to mo if the mo files are missing.
14:04 Changeset in OpenModelica [0476685a] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/SimulationRuntime/c/CMakeLists.txt

[cmake] Added an interface include to fmilib.

  • There is an inteface include directory defined for fmilib in 3rdParty/CMakeLists.txt. That means we do not need to explicitly add the include directory here. Until FMIL sorts out their configuration usage we can deal with it like this.
  • 3rdParty module is updated.
14:04 Changeset in OpenModelica [c251417] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 10 edits in OMCompiler/Compiler/runtime

[cmake] Add runtime/omcbackendruntime compilation.

14:04 Changeset in OpenModelica [bca8c1e] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    2 adds in OMCompiler/Compiler

[cmake] Add Susan to MetaModelica compilation.

  • A macro is added for compiling a given susan template file to a MetaModelica .mo file using omc.

For convenience, a list of all the generated mo files is added
to the cmake variable TPL_OUTPUT_MO_FILES by the macro.

14:04 Changeset in OpenModelica [8356b1aa] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/Makefile.common

[cmake] Add prefixes to 3rdParty cmake options.

  • CMinPack shared library option is prefixed so that it does not conflict with other libraries build types.
    • BUILD_SHARED_LIBS -> CMINPACK_BUILD_SHARED_LIBS
  • Sundials options are prefixed so that they do not conflict with other libraries.
    • KLU_ENABLE -> SUNDIALS_KLU_ENABLE
    • LAPACK_ENABLE -> SUNDIALS_LAPACK_ENABLE
14:04 Changeset in OpenModelica [28fb3e1] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit in OMCompiler/3rdParty

[cmake] Update 3rdParty submodule.

  • Changes have been made to the submodule on mahge/cmake_config. It is mostly some minor fixes and a 3rdParty top level CMakeLists.txt
14:04 Changeset in OpenModelica [b9156e9] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 27 edits in OMCompiler

[cmake] Add CMake support for OMCompiler/runtime.

  • OMCompiler/runtime cannow be compiled using cmake.
    • Right now there is missing symbols from dgsev. I am not sure yet where to add them. Maybe dgsev can be added to simulationRuntime/c libraries. Other than that OMCompiler/runtime can be compiled with all symbols found at the moment.
  • We now use proper qualified names for libraries, e.g. omc::3rd::gc for the gc-lib in 3rdParty/gc. These names are added as aliases to the actual library. Use these everywhere. There should not be a single use of the actual library names.
14:04 Changeset in OpenModelica [a44b408] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 1 edit
    1 add in OMCompiler/Parser

[cmake] Move the antlr target macros new file.

  • They clutter things in the main cmake file.
14:04 Changeset in OpenModelica [c6856ffe] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 4 edits in OMCompiler

[cmake] Add OMParser to compilation.

  • Uses two macros for generating the C files from the antlr sources. One is used for antlr files that depend on base_modelica_lexer. The other is used for only Modelica.g right now.
14:04 Changeset in OpenModelica [df6240e] by Mahder Gebremedhin <mahder.gebremedhin@…>
  • 10 edits
    3 adds in OMCompiler

[cmake] Initial cmake configuration support.

13:41 Changeset in OpenModelica [298c569]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 6 edits in /

Array connection improvements

  • Fix connecting variables with different number of dimensions.
  • Avoid unnecessary range step values in more cases.
  • Fix SimplifyExp.simplifyCall so that simplified arguments aren't discarded in some cases when the call itself couldn't be simplified.
12:39 Changeset in OpenModelica [aa7fe5d7] by Per Östlund <perost86@…>
  • 6 edits in /

Array connection improvements

  • Fix connecting variables with different number of dimensions.
  • Avoid unnecessary range step values in more cases.
  • Fix SimplifyExp.simplifyCall so that simplified arguments aren't discarded in some cases when the call itself couldn't be simplified.
12:27 Changeset in OpenModelica [9273719] by Adrian Pop <adrian.pop@…>
  • 8 edits in OMCompiler/Compiler

remove tabs

11:01 Changeset in OpenModelica [151b3a63] by Martin Sjölund <martin.sjolund@…>
  • 1 delete in OMCompiler/Compiler/boot/bootstrap-sources.tar.xz

Remove the tarball

08:20 Changeset in OpenModelica [91ac78f]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 1 edit in OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu2_model_interface.c.inc

Remove duplicate updateBoundParameter calls (#6824)

  • It will be called in initialization function anyway
    • Fixes memory leak
    • Hopefully this produces less errors
07:53 Changeset in OpenModelica [bb85fb4] by Martin Sjölund <martin.sjolund@…>
  • 2 edits in OMCompiler/Compiler/runtime

Add preprocessor flag for bootstrapping archive

2020-10-20:

22:21 Changeset in OpenModelica [058d092e]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Add the modifier value to combo box if its not there already

17:29 Changeset in OpenModelica [700669a3] by Martin Sjölund <martin.sjolund@…>
  • 1 edit in OMCompiler/Compiler/runtime/settingsimpl.c

Test

17:21 Changeset in OpenModelica [6c0faf90] by Martin Sjölund <martin.sjolund@…>
  • 1 edit in OMCompiler/Compiler/runtime/settingsimpl.c

Stage 2 also needs OMHOME

17:08 Changeset in OpenModelica [a9da941c] by Martin Sjölund <martin.sjolund@…>
  • 1 edit in OMCompiler/Compiler/boot/Makefile.common

Change how OPENMODELICAHOME is handled

16:40 Changeset in OpenModelica [e7f512c] by Martin Sjölund <martin.sjolund@…>
  • 1 edit in OMCompiler/Compiler/runtime/settingsimpl.c

We need the special bootstrapping OPENMODELICAHOME because there is no shared object

16:39 Changeset in OpenModelica [edc1005]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by GitHub <noreply@…>
  • 1 edit in OMSimulator

Update OMSimulator (#6844)

16:26 Changeset in OpenModelica [04aaa67]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 2 edits in /

Fix indexing in ArrayConnections.transMulti.

16:26 Ticket #6164 (complex transfer function block uses wrong order of coefficients) closed by casella
wontfix: @ho, this is an issue of the Modelica Standard Library, which is …
16:24 Changeset in OpenModelica [d42dbda] by Martin Sjölund <martin.sjolund@…>
  • 5 edits in OMCompiler/Compiler/runtime

Update some sources that were different for bootstrapping

15:47 Changeset in OpenModelica [0c845239] by Martin Sjölund <martin.sjolund@…>
  • 1 edit in OMCompiler/Compiler/boot/tarball-include/OpenModelicaBootstrappingHeader.h

New bootstrapping header

15:47 Ticket #6164 (complex transfer function block uses wrong order of coefficients) created by ho
The coefficients of the denominator of the complex tranferFunction …
15:42 Changeset in OpenModelica [6a4053a] by Per Östlund <perost86@…>
  • 2 edits in /

Fix indexing in ArrayConnections.transMulti.

15:39 Changeset in OpenModelica [953bdfe7] by Martin Sjölund <martin.sjolund@…>
  • 3 edits in OMCompiler/Compiler

Update error types

15:14 Changeset in OpenModelica [ba08407d] by Lennart Ochel <lennart.ochel@…>
  • 1 edit in OMSimulator

Update OMSimulator

14:49 Changeset in OpenModelica [be36742d] by Adeel Asghar <adeel.asghar@…>
  • 1 edit in OMEdit/OMEditLIB/Element/ElementProperties.cpp

Add the modifier value to combo box if its not there already

14:03 Changeset in OpenModelica [f86be0fb]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by Adrian Pop <adrian.pop@…>
  • 4 edits in OMCompiler/Compiler

fix ticket #6129

  • filter out partial classes
  • fix memory issues
  • speedup subtype search
13:59 Changeset in OpenModelica [6b1a273] by Martin Sjölund <martin.sjolund@…>
  • 3 edits
    745 adds in OMCompiler

Fix gitignore

13:55 Changeset in OpenModelica [aa6ea041]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 7 edits in /

Array connection improvements.

  • Make sure all iterators get unique components when creating them and not sharing a constant literal, to make the simplification for removing unused for loops work correctly.
  • Avoid creating unnecessary for loops for ranges with the same lower and upper bound.
13:41 Changeset in OpenModelica [cd4c0cb7] by Martin Sjölund <martin.sjolund@…>
  • 7 edits
    9 adds
    5 deletes in OMCompiler

Update bootstrapping sources

13:01 Changeset in OpenModelica [c9c99128] by Per Östlund <perost86@…>
  • 7 edits in /

Array connection improvements.

  • Make sure all iterators get unique components when creating them and not sharing a constant literal, to make the simplification for removing unused for loops work correctly.
  • Avoid creating unnecessary for loops for ranges with the same lower and upper bound.
11:40 Changeset in OpenModelica [e773ed36]Added-citation-metadatamaintenance/v1.17maintenance/v1.18maintenance/v1.19maintenance/v1.20maintenance/v1.21maintenance/v1.22omlib-staging by perost <perost86@…>
  • 5 edits in /

Fix -d=-nfScalarize for multidimensional eqs

  • Generalize Flatten.vectorizeEquation/Algorithm for multiple dimensions.
11:03 Changeset in OpenModelica [c3c9429] by Per Östlund <perost86@…>
  • 5 edits in /

Fix -d=-nfScalarize for multidimensional eqs

  • Generalize Flatten.vectorizeEquation/Algorithm for multiple dimensions.
04:23 Changeset in OpenModelica [42da8451] by Adrian Pop <adrian.pop@…>
  • 4 edits in OMCompiler/Compiler

fix ticket #6129

  • filter out partial classes
  • fix memory issues
  • speedup subtype search
00:33 Ticket #6163 (Constrainedby clause not verified by the NF) created by casella
Consider the attached test package. The Component model is …
Note: See TracTimeline for information about the timeline view.