Coder Social home page Coder Social logo

llvmplayground's Introduction

LLVMPlayground

This is a CMake project I use to experiment with LLVM and Clang libraries, by writing small example programs that use them.

To use it yourself, build and install into your path LLVM, Clang, and clang-format, then run:

git clone https://github.com/modocache/LLVMPlayground.git
make -C LLVMPlayground

The example programs are in LLVMPlayground/build/playground. For example, to run a program that uses llvm::MemoryBuffer, run:

./LLVMPlayground/build/playground/memorybuffer

To add your own example program, add a call to add_playground_executable to the CMakeLists.txt file.

How this project is built

The source files in this LLVMPlayground repository are configured and built using CMake. As explained in this article, LLVM, Clang, and Swift also use CMake.

Projects that use CMake require two invocations of the cmake executable: one to configure the project, and one to build it based on that configuration.

The Makefile in this project handles this "configure and then build" dance for the LLVMPlayground project. Running make does the following:

  1. Runs cmake in order to configure the LLVMPlayground project. When configuring, CMake automatically discovers LLVM and Clang if they exist in your PATH. This allows the LLVMPlayground executables to be linked against LLVM and Clang libraries.
  2. Runs cmake --build in order to build the executables in LLVMPlayground.

llvmplayground's People

Contributors

modocache avatar

Stargazers

Professor  avatar Javier Honduvilla Coto avatar Jeremy Legendre avatar Myles Hollowed avatar abdul dakkak avatar Roy avatar Ivan Vavilov avatar dukebarman avatar Özgür Odabaşı avatar Ziyang Xu avatar Dan Fowler avatar segfault  avatar Min-Yih Hsu avatar Stefan Gränitz avatar Victor Zverovich avatar Max Desiatov avatar Jorg Doku avatar Matt avatar Anyuan avatar John Regner avatar RoCry avatar Dmitry Loginov avatar  avatar 夏 avatar Francesco avatar Thiago Holanda avatar Denis Denisov avatar  avatar Dominik Bucher avatar  avatar Daniel Rodríguez Troitiño avatar Wes Wickwire avatar Puyan Lotfi avatar Marcin Krzyzanowski avatar Mark Sinkovics avatar Alexander Ignition avatar Kostiantyn Koval avatar AlexDenisov avatar Luciano Almeida avatar Yoshimasa Niwa avatar Rodrigo Reis avatar Edward Valentini avatar Mark Anderson avatar Rajat avatar Tim Kersey avatar Finn Gaida avatar UnsafePointer<T> avatar Boris Bügling avatar Sasi Kiran Malladi avatar Benjamin Herzog avatar Viktoras Laukevičius avatar

Watchers

Matt avatar Dmitry Loginov avatar Alexander Ignition avatar  avatar  avatar

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.