Metadata-Version: 2.1
Name: liba
Version: 0.1.1rc0
Summary: An algorithm library based on C/C++ language
Home-page: https://github.com/tqfx/liba.git
Author: tqfx
Author-email: tqfx@foxmail.com
License: MPL-2.0
Description: # An algorithm library {#mainpage}
        
        [![conan](https://github.com/tqfx/liba/actions/workflows/conan.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/conan.yml)
        [![xmake](https://github.com/tqfx/liba/actions/workflows/xmake.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/xmake.yml)
        [![msvc](https://github.com/tqfx/liba/actions/workflows/msvc.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/msvc.yml)
        [![linux](https://github.com/tqfx/liba/actions/workflows/linux.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/linux.yml)
        [![macos](https://github.com/tqfx/liba/actions/workflows/macos.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/macos.yml)
        [![mingw](https://github.com/tqfx/liba/actions/workflows/mingw.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/mingw.yml)
        [![msys2](https://github.com/tqfx/liba/actions/workflows/msys2.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/msys2.yml)
        [![freebsd](https://github.com/tqfx/liba/actions/workflows/freebsd.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/freebsd.yml)
        [![doxygen](https://github.com/tqfx/liba/actions/workflows/doxygen.yml/badge.svg)](https://github.com/tqfx/liba/actions/workflows/doxygen.yml)
        
        ## required tools
        
        - C/C++ compiler: [gnu](https://gcc.gnu.org) or [llvm](https://clang.llvm.org) or [msvc](https://visualstudio.microsoft.com/visual-cpp-build-tools) etc
        
        ## optional tools
        
        - [lua](https://www.lua.org)
        - [java](https://www.oracle.com/java)
        - [rust](https://www.rust-lang.org)
        - [xmake](https://xmake.io)
        - [cmake](https://cmake.org)
        - [conan](https://conan.io)
        - [vcpkg](https://vcpkg.io)
        - [python](https://www.python.org)
        
        ## build
        
        ### xmake
        
        ```bash
        xmake f -m release
        xmake --build --all
        xmake install --all
        ```
        
        ### cmake
        
        ```bash
        cmake -S . -B build
        cmake --build build
        cmake --install build
        ```
        
        ### vcpkg
        
        ```bash
        cmake -S . -B build -DENABLE_VCPKG=ON
        ```
        
        ```bash
        cp -r build/vcpkg/* $VCPKG_INSTALLATION_ROOT
        ```
        
        ```pwsh
        cp -r -Force build/vcpkg/* $ENV:VCPKG_INSTALLATION_ROOT
        ```
        
        ### conan
        
        ```bash
        conan create .
        ```
        
        ### cargo
        
        ```bash
        cargo build --release
        ```
        
        ### cython
        
        ```bash
        python setup.py build_ext --inplace
        ```
        
        ### wheel
        
        ```bash
        python setup.py bdist_wheel
        ```
        
        ## usage
        
        ### C/C++
        
        #### xmake.lua
        
        ```lua
        add_requires("a")
        ```
        
        ### CMakeLists.txt
        
        ```cmake
        find_package(liba CONFIG REQUIRED)
        target_link_libraries(<TARGET> PRIVATE liba::a)
        ```
        
        #### conanfile.txt
        
        ```txt
        [requires]
        liba/[~0.1]
        ```
        
        ### Lua
        
        ```lua
        local a = require("liba")
        print("version", a.version())
        ```
        
        ### Java
        
        ```java
        import liba.ac;
        import liba.ax;
        ```
        
        ### Rust
        
        #### Cargo.toml
        
        ```toml
        [build-dependencies]
        liba = "*"
        ```
        
        #### main.rs
        
        ```rs
        use liba;
        fn main() {
            println!("version {}", liba::version());
        }
        ```
        
        ### Python
        
        ```py
        import libac
        print("version", libac.version())
        import libax
        print("version", libax.version())
        ```
        
        ## Copyright {#copyright}
        
        Copyright (C) 2020-present tqfx, All rights reserved.
        
        This Source Code Form is subject to the terms of the Mozilla Public
        License, v. 2.0. If a copy of the MPL was not distributed with this
        file, You can obtain one at https://mozilla.org/MPL/2.0/.
        
Keywords: algorithms
Platform: CPython
Classifier: Programming Language :: C
Classifier: Programming Language :: C++
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Description-Content-Type: text/markdown
