Giter Club home page Giter Club logo

liblcm's Introduction

LCModel Library

Description

The library for the SIL Language and Culture Model.

The liblcm library is the core FieldWorks model for linguistic analyses of languages. Tools in this library provide the ability to store and interact with language and culture data, including anthropological, text corpus, and linguistics data.

Instructions

  1. Install Required Software

    • git
    • Visual Studio 2019 (with C++), MonoDevelop, or JetBrains Rider
  2. Clone the liblcm repository

    • Open a terminal (or git bash on Windows) and cd into a desired directory.
    • Run git clone https://github.com/sillsdev/liblcm.git
  3. Build liblcm

    • cd into the directory of the cloned liblcm repository.

    On Windows:

    • Run the appropriate vsvars*.bat. Alternatively, LCM.sln can be built from within Visual Studio.
    • Run build.cmd to build the liblcm library.

    On Linux:

    • Run build.sh to build the liblcm library.

By default, this will build liblcm in the Debug configuration. To build with a different configuration, use:

build.(cmd|sh) (Debug|Release)

Debugging

The LCModel library consumes multiple libpalaso files as NuGet packages. FieldWorks and other projects consume LCModel as a NuGet package. Several options to debug across NuGet dependencies are discussed on this wiki. To publish and consume LCModel through local sources:

  • Set an environment variable LOCAL_NUGET_REPO with the path to a folder on your computer (or local network) to publish locally-built packages
  • See these instructions to enable local package sources
  • build /t:pack will pack nuget packages and publish them to LOCAL_NUGET_REPO

Tests

Linux

In JetBrains Rider

Open the solution in Rider and run them all there. Right-click the solution and choose "Run Unit Tests".

In a terminal

  • Install NUnit.ConsoleRunner

  • then run (adjust the version number 3.11.1 accordingly):

     (. environ && cd artifacts/Debug/net461/ && mono --debug ~/.nuget/packages/nunit.consolerunner/3.11.1/tools/nunit3-console.exe *Tests.dll )

Windows

With ReSharper

Open the solution in Visual Studio and run them all there. Right-click the solution and choose "Run Unit Tests".

Without ReSharper

To run the tests for a single test dll:

  1. Go to the liblcm directory.

  2. Execute: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe"

    Note: Running the tests after building the solution from inside VS resulted in a BadImageFormatException. Running the tests after building from the cmd prompt worked.

  3. Go to the liblcm\artifacts\Debug\net461 directory.

  4. Execute: ..\..\..\packages\NUnit.ConsoleRunner.3.9.0\tools\nunit3-console.exe SIL.LCModel.Tests.dll

    (Or specify one of the other SIL.LCModel*Tests.dll)

  5. To debug the tests from Visual Studio: Immediately after the tests have started running "Attach to Process..." and select nunit-agent.exe.

liblcm's People

Contributors

alistairimrie avatar andrew-polk avatar andyblack avatar ann-bush avatar ddaspit avatar ericpyle avatar ermshiperete avatar gmartin7 avatar gtryus avatar hahn-kev avatar jamesprabu avatar jasonleenaylor avatar johnthomson avatar josiahfmccoy avatar jwickberg avatar katherinejensen00 avatar kenzook avatar manjula-t-ecgroup avatar mark-sil avatar marksvc avatar mccarthyrb avatar neilmayhew avatar papeh avatar raymondluong3 avatar regnrand avatar rmunn avatar sommerladj avatar stephenmcconnel avatar tobiasnickelwycliff avatar tombogle avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

liblcm's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.