Skip to content

Releases: OpenModelica/ColPack

Release list

ColPack 1.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 13:06
v1.1.0
87214b3

Prebuilt packages of ColPack 1.1.0. Each package contains the headers, the
static and shared libraries (Release) and the CMake package; see
README.md.
Using ColPack requires an OpenMP runtime: libgomp on Linux and MSYS2,
libomp from Homebrew on macOS and the LLVM OpenMP runtime of Visual Studio for MSVC.

Changes

2026-09-17 Andreas Heuermann
  Version 1.1.0
  First release of the fork https://github.com/OpenModelica/ColPack
  Includes all changes of https://github.com/CSCsw/ColPack since version 1.0.10 up to commit 9a7293a (2019-06-21)
    e.g. shared memory parallel graph coloring (SMPGC) and reading METIS graphs
  Based on the port of ColPack to OpenModelica by Felix Brandt and Linus Langenkamp
    in https://github.com/OpenModelica/OMCompiler-3rdParty (#214, #219)
  Build system
    CMakeLists.txt moved to the project root. The automake build and the Travis CI configuration are removed.
    CMake 3.12 or newer is required
    Options are renamed: ENABLE_EXAMPLES is now COLPACK_ENABLE_EXAMPLES, ENABLE_OPENMP is now COLPACK_ENABLE_OPENMP
    The recovery routines in src/Recovery are now compiled into the library
    OpenMP is linked via OpenMP::OpenMP_CXX, which fixes the build on macOS with libomp from Homebrew.
      Only the CXX component of OpenMP is required, also if a parent project enables C or Fortran
    MSVC is supported. It builds with /openmp:llvm, because OpenMP 2.0 does not support unsigned loop indices.
      This requires CMake 3.30 or newer.
    Windows builds use short intermediate paths (CMAKE_INTERMEDIATE_DIR_STRATEGY=SHORT), because the object paths
      of some examples exceed MAX_PATH. Building all examples on Windows requires CMake 4.2 or newer.
    ColPack can be used with add_subdirectory(): the library targets carry the include directories of the source tree,
      and all generated files are written to the current binary directory instead of the top-level one
    New option COLPACK_ENABLE_TESTS (default ON) builds the ColPack executable and the Basic examples and adds them as tests
    New option COLPACK_BUILD_SHARED (default ON) to skip building the shared library.
      Without the shared library the static library is named ColPack on Windows, too
  Installed CMake package
    All headers are installed to include/ColPack, and the exported targets use this include directory.
      Previously the Recovery headers were missing and the include directory was wrong.
    Targets are exported as ColPack::ColPack_static and ColPack::ColPack_shared (if COLPACK_BUILD_SHARED is ON)
    Libraries are installed to lib/ and the CMake package files to lib/cmake/ColPack/
    The examples are no longer installed
  Sources
    std::random_shuffle, removed in C++17, is replaced with std::shuffle (by Linus Langenkamp)
    The GCC builtin __sync_fetch_and_add is replaced with OpenMP critical and atomic constructs
    The alternative operator token 'and' is replaced with '&&'
    All C/C++ sources are formatted with clang-format, and the CMake files with gersemi
  CI
    GitHub Actions build and test on Linux, Windows (MSYS2 UCRT64 and MSVC) and macOS, and check the C/C++ formatting
    Pushing a version tag publishes a GitHub release with prebuilt packages for Linux, macOS and Windows