diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..68b8351 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: c +compiler: + - gcc + - clang +# Change this to your needs +script: cmake . && make diff --git a/README b/README index b2bd1cc..b605f06 100644 --- a/README +++ b/README @@ -37,51 +37,52 @@ This project's homepage is at http://lolcode.org. For help, visit http://groups.google.com/group/lci-general. To report a bug, go to http://github.com/justinmeza/lci/issues. -Created and maintained by Justin J. Meza . +Created and maintained by Justin J. Meza (http://justinmeza.com). + PREREQUISITES -1. You must have CMake installed (www.cmake.org). - a) If you're using a Linux distro with package managment CMake should be in +1. You must have CMake installed (www.cmake.org). + + - If you're using a Linux distro with package managment CMake should be in your repositories. 2. Python 2.7+ or Python 2.x with the argparse module installed. INSTALLATION: THE EASY WAY ON LINUX OR MAC OSX -1. run the script install.py. Note that +Run the script install.py. Note that $ ./install.py -h - will display a list of relavent install options. For - example, if I wanted to install lci to the directory - "/home/kurtis/opt" I would run: +will display a list of relavent install options. For example, to install lci to +the directory "/home/foo/opt", run: + + $ ./install.py --prefix="/home/foo/opt" - $ ./install.py --prefix="/home/kurtis/opt" - INSTALLATION: THE MORE INVOLVED WAY ON LINUX OR MAC OSX -1. Configure lci using CMake. This can be as simple as opening up the terminal, - navigating to the directory containing lci and typing: +1. Configure lci using CMake. This can be as simple as opening up the terminal, + navigating to the directory containing lci and typing: $ cmake . You can also provide any other argument to the CMake configuration process - you'd like. To enable Memory testing turn the PERFORM_MEM_TESTS option on - like so: +you'd like. To enable Memory testing turn the PERFORM_MEM_TESTS option on like +so: $ cmake -DPERFORM_MEM_TESTS:BOOL=ON . - You can also use the "ccmake" command or the CMake GUI if you prefer. - See the cmake documentation for more details. + You can also use the "ccmake" command or the CMake GUI if you prefer. See +the cmake documentation for more details. 2. Build the project: $ make 3. Install - + $ make install 4. (Optional) Build documentation: @@ -91,38 +92,3 @@ INSTALLATION: THE MORE INVOLVED WAY ON LINUX OR MAC OSX 5. (Optional) Run tests: $ ctest - -INSTALLATION ON WINDOWS - -(Note that the instructions were written from the point of view of Windows 7, -but in practice, any modern version will work.) - -1. Add MinGW and Python to your PATH. - - - Start > right-click Computer > Properties > Advanced system settings - > Environment Variables.... - - - Select the "PATH" variable and click "Edit...". - - - Add ";C:\MinGW\bin;C:\Python32" to the end. - -3. Open an Administrator shell - - - Start > All Programs > Accessories > right-click Command Prompt - > Run as administrator. - -4. Navigate to the project directory using the "cd" command, for example, - - > cd C:\Users\%user%\Documents\lci - -5. run the script install.py. Note that - - > install.py -h - - will display a list of relavent install options. For - example, if I wanted to install lci to the directory - "C:\Program Files\lci" I would run: - - > install.py --prefix="C:/Program Files/lci" - - (notice that forward slashes are used to separate directories.) diff --git a/README.md b/README.md new file mode 100644 index 0000000..0b4cc15 --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# lci + +lci is a LOLCODE (http://lolcode.org) interpreter written in C and is designed +to be correct, portable, fast, and precisely documented. + +- correct: Every effort has been made to test lci's conformance to the LOLCODE + language specification. Unit tests come packaged with the lci source code. + +- portable: lci follows the widely ported ANSI C specification allowing it to + compile on a broad range of systems. + +- fast: Much effort has gone into producing simple and efficient code whenever + possible to the extent that the above points are not compromized. + +- precisely documented: lci uses Doxygen to generate literate code + documentation, browsable here. + +This project's homepage is at http://lolcode.org. For help, visit +http://groups.google.com/group/lci-general. To report a bug, go to +http://github.com/justinmeza/lci/issues. + +Created and maintained by Justin J. Meza (http://justinmeza.com). + +### Prerequisites + +1. You must have CMake installed (http://www.cmake.org). + + - If you're using a Linux distro with package managment CMake should be in + your repositories. + +1. Python 2.7+ or Python 2.x with the argparse module installed. + +### Installation: The Easy Way on Linux or OSX + +Run the script install.py. Note that + +`$ ./install.py -h` + +will display a list of relavent install options. For example, to install lci to +the directory `/home/foo/opt`, run: + +`$ ./install.py --prefix="/home/foo/opt"` + +### Installation: The More Involved Way on Linux or OSX + +1. Configure lci using CMake. This can be as simple as opening up the terminal, + navigating to the directory containing lci and typing: + + `$ cmake .` + + You can also provide any other argument to the CMake configuration process +you'd like. To enable Memory testing turn the `PERFORM_MEM_TESTS` option on +like so: + + `$ cmake -DPERFORM_MEM_TESTS:BOOL=ON .` + + You can also use the `ccmake` command or the CMake GUI if you prefer. See +the cmake documentation for more details. + +1. Build the project: + + `$ make` + +1. Install + + `$ make install` + +1. (Optional) Build documentation: + + `$ make doc` + +1. (Optional) Run tests: + + `$ ctest` + +### License + +Copyright (C) 2010-2015 Justin J. Meza + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program. If not, see . + +### Prerequisites + +