47 lines
1.8 KiB
Org Mode
47 lines
1.8 KiB
Org Mode
|
[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]
|
||
|
|
||
|
* Genetic image generation
|
||
|
|
||
|
This project is a university assignment that aims at regenerating a reference
|
||
|
image from random shapes of random color applied. There will be lots of
|
||
|
different tests on what method is the best and/or the fastest to get a new
|
||
|
image as close as possible to the reference image.
|
||
|
|
||
|
* Technical information
|
||
|
|
||
|
This project is built with conan, ninja and cmake using clang-7 for C++17. To
|
||
|
use it, first install clang-7 and lldb 7, then run this:
|
||
|
#+begin_src shell
|
||
|
conan profile new default --detect
|
||
|
conan profile update settings.compiler=clang default
|
||
|
conan profile update settings.compiler.version=7.0 default
|
||
|
conan profile update settings.compiler.libcxx=libstdc++11 default
|
||
|
conan profile update env.CC=/bin/clang default
|
||
|
conan profile update env.CXX=/bin/clang++ default
|
||
|
#+end_src
|
||
|
If you do not wish to overwrite your ~default~ profile, you can instead create a
|
||
|
new one, for instance ~clang~. To do so, write the name of your new profile (in
|
||
|
this example ~clang~) instead of ~default~ in the commands shown above.
|
||
|
|
||
|
Then, To build and run the program, go to the root of the project and run this:
|
||
|
#+begin_src shell
|
||
|
mkdir build && cd build
|
||
|
conan install .. --build missing
|
||
|
export CC=clang
|
||
|
export CXX=clang++
|
||
|
cmake .. -G Ninja
|
||
|
cmake --build .
|
||
|
#+end_src
|
||
|
If you want to use another profile than your default one, you should run the
|
||
|
following line instead of the second line:
|
||
|
#+begin_src shell
|
||
|
conan install .. --build missing --profile <your_profile>
|
||
|
#+end_src
|
||
|
|
||
|
This project was built and tested using clang-7, lldb and gdb on Void Linux
|
||
|
(kernel 4.19) and Arch Linux (kernel 5.0).
|
||
|
|
||
|
* Credits
|
||
|
|
||
|
Awesome C++ project template by [[https://github.com/devkoriel/AwesomeCppTemplate][devkoriel]].
|