# gipsy danger

Gipsy is the super-build for the mk6 C-language codeline. This codeline builds on the work of Continuity and libmecha.
mk3 and mk4 codelines for those products are available from the historic "csrc" git repo.

It is the philosophy of the build that there is no intelligence or configuration provided in the root directory (gypsy/),
other than selecting which modules will build in a given environment. Therefore, every subdirectory of gipsy should be able
to have cmake (or whatever local build tool) run independently. 

## Building

### Linux & MacOS Command Line

~~~
cmake .
make
~~~

### XCode

~~~
cmake . -GXcode
~~~

### Clion

Open the gipsy directory into CLion as a project.

## Adding Modules

### Test-Application Example

~~~
cmake_minimum_required(VERSION 3.6)
project(hello)

set(CMAKE_C_STANDARD 99)
add_executable(hello main.c)
target_link_libraries(hello LINK_PUBLIC mecha)
~~~

### Mecha-Dependent Library Example

~~~
cmake_minimum_required(VERSION 3.6)
project(libexample)
set(CMAKE_C_STANDARD 99)
set(SOURCE_FILES example.c example.h)
add_library(libadif STATIC ${SOURCE_FILES})
target_link_libraries(libadif LINK_PUBLIC mecha)
target_include_directories(libexample PUBLIC .)
~~~
