Skip to content

Commit

Permalink
HElib v2.0.0 Release
Browse files Browse the repository at this point in the history
HElib 2.0.0, January 2021
=========================
(tagged as v2.0.0)

* Contains API changes that are not backwards compatible with v1.x.x
  * Changes to Context API
  * Must use ContextBuilder to build context
  * New serialization APIs: binary and JSON
* CKKS coding tutorials
* Bug fixes

Co-Authored-by: @faberga 
Co-Authored-by: @jlhcrawford 
Co-Authored-by: @shaih 
Co-Authored-by: @hamishun 
Co-Authored-by: @victorshoup 
Co-Authored-by: @esteffin
  • Loading branch information
faberga authored Jan 19, 2021
2 parents 060d36d + 0232d60 commit 2e408fa
Show file tree
Hide file tree
Showing 144 changed files with 36,013 additions and 4,978 deletions.
14 changes: 14 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
Release Changes
===============

HElib 2.0.0, January 2021
=========================
(tagged as v2.0.0)

* Contains API changes that are not backwards compatible with v1.x.x
* Changes to Context API
* Must use ContextBuilder to build context
* New serialization APIs: binary and JSON
* CKKS coding tutorials
* Bug fixes

HElib 1.3.1, December 2020
=========================
(tagged as v1.3.1)
Expand Down
12 changes: 12 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)

project(helib_superbuild LANGUAGES C CXX)

# STRINGS avoids having the 2 newline characters at the end of the string.
# Alternatively it's possible to use file(READ ...) and then
# string(REGEX REPLACE "\n$" "" HELIB_VERSION "${HELIB_VERSION}")
file(STRINGS "${PROJECT_SOURCE_DIR}/VERSION" HELIB_VERSION)

# Fail if the target architecture is not 64-bit.
if (NOT (CMAKE_SIZEOF_VOID_P EQUAL 8))
message(FATAL_ERROR "HElib requires a 64-bit architecture.")
Expand Down Expand Up @@ -43,6 +48,8 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})

# Location of the root folder of HElib (the one where this file is)
set(HELIB_PROJECT_ROOT_DIR "${PROJECT_SOURCE_DIR}")
# Location of the cmake extra files
set(HELIB_CMAKE_EXTRA_DIR "${PROJECT_SOURCE_DIR}/cmake")
# Prefix of the header files (directory to be added to the include list)
Expand All @@ -53,6 +60,8 @@ set(HELIB_HEADER_DIR "${HELIB_INCLUDE_DIR}/helib")
set(HELIB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/src")
# Location of the google tests
set(HELIB_TESTS_DIR "${PROJECT_SOURCE_DIR}/tests")
# Location of the dependencies
set(HELIB_DEPENDENCIES_DIR "${PROJECT_SOURCE_DIR}/dependencies")
# Location of the directory containing the test binary (runTests). If
# PACKAGE_BUILD=ON, this location will be changed to reflect the tests location.
set(HELIB_TEST_BIN_DIR "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
Expand Down Expand Up @@ -325,11 +334,14 @@ if (PACKAGE_BUILD)
-DFETCH_GMP=${FETCH_GMP}
-DENABLE_TEST=${ENABLE_TEST}
-DHELIB_DEBUG=${HELIB_DEBUG}
-DHELIB_PROJECT_ROOT_DIR=${HELIB_PROJECT_ROOT_DIR}
-DHELIB_CMAKE_EXTRA_DIR=${HELIB_CMAKE_EXTRA_DIR}
-DHELIB_INCLUDE_DIR=${HELIB_INCLUDE_DIR}
-DHELIB_HEADER_DIR=${HELIB_HEADER_DIR}
-DHELIB_SOURCE_DIR=${HELIB_SOURCE_DIR}
-DHELIB_TESTS_DIR=${HELIB_TESTS_DIR}
-DHELIB_DEPENDENCIES_DIR=${HELIB_DEPENDENCIES_DIR}
-DHELIB_VERSION=${HELIB_VERSION}
BUILD_ALWAYS ON)

if (ENABLE_TEST)
Expand Down
7 changes: 3 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ tests, designing and coding new examples or writing tutorials are all examples
of helpful contributions.

A contribution to HElib can be initiated through GitHub pull request (PR).
HElib is written in C++14 and uses `clang-format` for the formatting of the code.
Requiremens and installation instructions can be found in [INSTALL.md](INSTALL.md).
When making code contributions to HElib, we ask that you follow the `C++14`
HElib is written in C++17 and uses `clang-format` for the formatting of the code.
Requirements and installation instructions can be found in [INSTALL.md](INSTALL.md).
When making code contributions to HElib, we ask that you follow the `C++17`
coding standard and format your code using the [clang format](.clang-format)
style file included in this distribution. Please provide unit/regression
tests that are relevant to your code contribution.
Expand All @@ -27,4 +27,3 @@ Whether you are contributing a new feature, updating or bug fixing the code else
HElib test suite uses the [Google Test Framework](https://github.com/google/googletest). Additional information on HElib's test suite can be found in [TESTS.md](TESTS.md). Please remember to provide unit/regression tests that are relevant to your code contribution.

Once all the tests have passed, and you are satisfied with your contribution, open a pull request into the `master` branch from **your fork of the repository** to request adding your contributions into the main code base.

Loading

0 comments on commit 2e408fa

Please sign in to comment.