]> git.mdlowis.com Git - projs/libcds.git/commitdiff
Updated README
authorMike D. Lowis <mike@mdlowis.com>
Fri, 7 Dec 2012 21:23:25 +0000 (16:23 -0500)
committerMike D. Lowis <mike@mdlowis.com>
Fri, 7 Dec 2012 21:23:25 +0000 (16:23 -0500)
README.md

index a5f91050d92726bc1f9e856abab8ab0154a04389..83a9a14cb90c3b390bedad4af21b712d5d904cf6 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,25 +1,82 @@
-===============================================================================
-Project Goals
-===============================================================================
+C Data Structures Lib
+==============================================
 
-===============================================================================
-Build Requirements
-===============================================================================
+    Version:    0.1
+    Created By: Michael D. Lowis
+    Email:      mike@mdlowis.com
+
+About This Project
+----------------------------------------------
+This library is meant to be a collection of common data structures, implemented
+in C, that can be used in any C or C++ program. The goal is to implement many
+of the same data structures that the C++ STL provides, in pure C.
+
+License
+----------------------------------------------
+Unless explicitly stated otherwise, all code and documentation contained within
+this repository is released under the BSD 2-Clause license. The text for this
+license can be found in the LICENSE.md file.
+
+Requirements For Building
+----------------------------------------------
+The only external dependencies currently required to build this library are
+Premake 4 and a toolchain that is supported by Premake.
 
-===============================================================================
 Build Instructions
-===============================================================================
+----------------------------------------------
+This project uses Premake 4 in order to generate cross-platform build scripts.
+The first step in building the library is to generate the build scripts for
+your system. Premake supports a variety of different build environments and you
+will need to select the target that you wish to use. To list the available
+targets simply run the following command:
+
+    premake4 --help
+
+You should then be presented with a list of options for premake with a section
+at the end that looks like this:
+
+    ACTIONS
+
+     clean             Remove all binaries and generated files
+     codeblocks        Generate Code::Blocks project files
+     codelite          Generate CodeLite project files
+     gmake             Generate GNU makefiles for POSIX, MinGW, and Cygwin
+     vs2002            Generate Microsoft Visual Studio 2002 project files
+     vs2003            Generate Microsoft Visual Studio 2003 project files
+     vs2005            Generate Microsoft Visual Studio 2005 project files
+     vs2008            Generate Microsoft Visual Studio 2008 project files
+     vs2010            Generate Visual Studio 2010 project files (experimental)
+     xcode3            Generate Apple Xcode 3 project files (experimental)
+
+This is the list of build script targets that are supported. To generate build
+scripts to use with GNU Make for instantce, you could choose the gmake target
+by using the following command:
+
+    premake4 gmake
+
+Once the Make scripts are generated you can build the project and run all unit
+tests with the following command:
+
+    make
+
+You can build just the with the following command:
+
+    make cds
 
-===============================================================================
-Installation Instructions
-===============================================================================
+You can build and execute just the unit tests with the following command:
 
-===============================================================================
-Unit Tests
-===============================================================================
+    make tests
 
-===============================================================================
-TODO
-===============================================================================
+Project Files and Directories
+----------------------------------------------
 
+    build/         This is the directory where all output files will be placed.
+    source/        The source for the project.
+    tests/         Unit test and mock files.
+    tools/         Tools required by the build system.
+    Doxyfile       Doxygen documentation generator configuration.
+    LICENSE.md     The software license notification.
+    premake4.lua   A premake4 configuration file for generating build scripts.
+    project.vim    A VIM script with project specific configurations.
+    README.md      You're reading this file right now!