Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring 3rdParty libraries into OMSimulator's CMake build system. #1221

Merged
merged 16 commits into from
Aug 1, 2023

Conversation

mahge
Copy link
Contributor

@mahge mahge commented Jul 21, 2023

  • The 3rdParty libraries used to be built as individual standalone projects and then were installed. The installed versions of them was then consumed by OMSimulator.

    Now they are part of OMSimulators own build system. They get built and are used as if they were just another folder in the OMSimulator project. This simplifies management of them considerably.

  • There are a few remaining libraries. Some are not used at all so they are skipped for now. Some (pthreads for MSVC) still need some special treatment since they do not have CMake support yet.

  • Note that the top level compilation still starts from the Makefile or the bat scripts. This will be changed later once everything else is working.

  • OMTLMSimulator is disabled for now.

@mahge mahge added enhancement CI/Update Submodules Allow a pull request to update submodules labels Jul 21, 2023
@mahge mahge self-assigned this Jul 21, 2023
@mahge mahge changed the title Bring 3rdParty libraries into OMSimulators CMake build system. Bring 3rdParty libraries into OMSimulator's CMake build system. Jul 21, 2023
  - The 3rdParty libraries used to be built as individual standalone projects
    and then were installed. The installed versions of them was then consumed
    by OMSimulator.

    Now they are part of OMSimulators own build system. They get built and
    are used as if they were just another folder in the OMSimulator project.
    This simplifies management of them considerably.

  - There are a few remaining libraries. Some are not used at all so they
    are skipped for now. Some (pthreads for MSVC) still need some special
    treatment since they do not have CMake support yet.

  - Note that the top level compilation still starts from the Makefile
    or the bat scripts. This will be changed later once everything else
    is working.

  - OMTLMSimulator is disabled for now.
  - Remove 3rdParty libs that are now part of the unified configuration.
    There is no need to build them as standalone modules now.
@mahge mahge force-pushed the improve_cmake_config branch 3 times, most recently from 01a7d17 to edb498b Compare July 25, 2023 17:37
  - For now let it stay the way it was so the tests pass. It can be fixed
    later by another set of changes.

  - Remove the library architecture directory from the lib install directory.
    This will also be added later by another set of changes.
  - e.g. `<some_dir>/lib/x86_linux_gnu`.
  - Adjust the shell script `OMSimulatorPython` accordingly. It is now
    configured from `OMSimulatorPython.in` using CMake. CMake adds the
    current library architecture to it.
  - If OMSimulator is being build standalone (not as part of OpenModelica)
    we include the required settings from the file
    `config.cmake/OMSimulatorTopLevelSettings.cmake`, otherwise we use the
    settings from the OpenModelica project.

  - Require a minimum of CMake 3.14 everywhere (Linux, Windows, macOS ...)
@mahge mahge force-pushed the improve_cmake_config branch 2 times, most recently from 367465d to e4b5a28 Compare August 1, 2023 11:43
@mahge mahge merged commit e51bcdd into OpenModelica:master Aug 1, 2023
@mahge mahge deleted the improve_cmake_config branch August 1, 2023 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/Update Submodules Allow a pull request to update submodules enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant