Skip to content
/ mpio Public

Multi-platform common IO library

License

Notifications You must be signed in to change notification settings

cfnptr/mpio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

749784e · Jan 8, 2025

History

80 Commits
Aug 20, 2024
Jan 8, 2025
Jan 8, 2025
Jan 8, 2025
Oct 15, 2024
Jan 8, 2025
Jan 8, 2025
Jan 8, 2025
Jan 30, 2024
Oct 15, 2024
Jan 8, 2025
Oct 27, 2024
Nov 15, 2021
Oct 27, 2024

Repository files navigation

MPIO

A library providing generic interface for file system input / output operations across different platforms.

See the documentation.

Features

  • Common directory and file functions
  • App data and resources path getters
  • CPU name (brand, model) getters
  • Free and total RAM size getters
  • Logical, physical, performance CPU count getters
  • Current clock (time stamp) getter
  • C and C++ implementations

Supported operating systems

  • Windows (10/11)
  • Ubuntu (22.04/24.04)
  • macOS (14/15)

This list includes only those systems on which functionality testing is conducted. However, you can also compile it under any other Linux distribution or operating system.

Build requirements

Use building instructions to install all required tools and libraries.

CMake options

Name Description Default value
MPIO_BUILD_SHARED Build MPIO shared library ON
MPIO_BUILD_TESTS Build MPIO library tests ON

CMake targets

Name Description Windows macOS Linux
mpio-static Static MPIO library .lib .a .a
mpio-shared Dynamic MPIO library .dll .dylib .so

Cloning

git clone https://github.com/cfnptr/mpio

Building CI

  • Windows: ./scripts/build-release.bat
  • macOS / Ubuntu: ./scripts/build-release.sh