Commit Graph

8 Commits

Author SHA1 Message Date
Alexander Chernyakhovsky ab4d165854 Remove test targets from "all"
Since the tests take a while to compile and link, and install depends
on all, users would have to build the tests even if they don't need
them. Create a new "check" target that has the tests in it, and remove
the tests from all.
2016-05-29 17:40:05 -04:00
Eran Tromer 7873aec530 CMake: use CCache if available 2016-05-22 20:55:43 +03:00
Eran Tromer e8d4934813 Enable BINARY_OUTPUT by default 2016-05-22 20:55:43 +03:00
Eran Tromer 12352b60d4 CMake: add -DOPT=FLAGS=... 2016-05-22 20:55:43 +03:00
Eran Tromer 0b3d563504 CMake: add flags for USE_ASM, BINARY_OUTPUT and MONTGOMERY_OUTPUT 2016-05-22 20:55:43 +03:00
Eran Tromer a958bb7eb4 CMake: fix -DCURVE option 2016-05-22 20:55:43 +03:00
Eran Tromer d02974f60e CMake: fix -DPERFORMANCE 2016-05-22 20:55:43 +03:00
Alexander Chernyakhovsky f5894bf774 Introduce a CMake-based build system
This change removes prepare-depends.sh and Makefile, replacing it with
a CMake-based build system and git submodules of the needed
dependencies.

Notably, this simplifies the build of libsnark to be just
  git clone --recursive git://github.com/scipr-lab/libsnark.git
  cd libsnark
  mkdir build && cd build && cmake .. && make

Since CMake also supports Ninja (apt-get install ninja-build on Debian
and derivatives), an even faster build could be obtained by using
  cmake -GNinja .. && ninja

README.md has been updated to reflect the new build system.

All options supported by the Makefile are also supported by the CMake.

As an added benefit, users of libsnark can embed libsnark as a git
submodule and add it to their CMakeLists.txt, without having to
install it.

This change is a rebase of the earlier patch sent to the scipr-lab
developers, updated for new features introduced since then.
2016-05-22 20:55:43 +03:00