Skip to content

Commit 2e408fa

Browse files
authored
HElib v2.0.0 Release
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
2 parents 060d36d + 0232d60 commit 2e408fa

File tree

144 files changed

+36013
-4978
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+36013
-4978
lines changed

CHANGES.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
Release Changes
2+
===============
3+
4+
HElib 2.0.0, January 2021
5+
=========================
6+
(tagged as v2.0.0)
7+
8+
* Contains API changes that are not backwards compatible with v1.x.x
9+
* Changes to Context API
10+
* Must use ContextBuilder to build context
11+
* New serialization APIs: binary and JSON
12+
* CKKS coding tutorials
13+
* Bug fixes
14+
115
HElib 1.3.1, December 2020
216
=========================
317
(tagged as v1.3.1)

CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
1414

1515
project(helib_superbuild LANGUAGES C CXX)
1616

17+
# STRINGS avoids having the 2 newline characters at the end of the string.
18+
# Alternatively it's possible to use file(READ ...) and then
19+
# string(REGEX REPLACE "\n$" "" HELIB_VERSION "${HELIB_VERSION}")
20+
file(STRINGS "${PROJECT_SOURCE_DIR}/VERSION" HELIB_VERSION)
21+
1722
# Fail if the target architecture is not 64-bit.
1823
if (NOT (CMAKE_SIZEOF_VOID_P EQUAL 8))
1924
message(FATAL_ERROR "HElib requires a 64-bit architecture.")
@@ -43,6 +48,8 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
4348
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
4449
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
4550

51+
# Location of the root folder of HElib (the one where this file is)
52+
set(HELIB_PROJECT_ROOT_DIR "${PROJECT_SOURCE_DIR}")
4653
# Location of the cmake extra files
4754
set(HELIB_CMAKE_EXTRA_DIR "${PROJECT_SOURCE_DIR}/cmake")
4855
# Prefix of the header files (directory to be added to the include list)
@@ -53,6 +60,8 @@ set(HELIB_HEADER_DIR "${HELIB_INCLUDE_DIR}/helib")
5360
set(HELIB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/src")
5461
# Location of the google tests
5562
set(HELIB_TESTS_DIR "${PROJECT_SOURCE_DIR}/tests")
63+
# Location of the dependencies
64+
set(HELIB_DEPENDENCIES_DIR "${PROJECT_SOURCE_DIR}/dependencies")
5665
# Location of the directory containing the test binary (runTests). If
5766
# PACKAGE_BUILD=ON, this location will be changed to reflect the tests location.
5867
set(HELIB_TEST_BIN_DIR "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
@@ -325,11 +334,14 @@ if (PACKAGE_BUILD)
325334
-DFETCH_GMP=${FETCH_GMP}
326335
-DENABLE_TEST=${ENABLE_TEST}
327336
-DHELIB_DEBUG=${HELIB_DEBUG}
337+
-DHELIB_PROJECT_ROOT_DIR=${HELIB_PROJECT_ROOT_DIR}
328338
-DHELIB_CMAKE_EXTRA_DIR=${HELIB_CMAKE_EXTRA_DIR}
329339
-DHELIB_INCLUDE_DIR=${HELIB_INCLUDE_DIR}
330340
-DHELIB_HEADER_DIR=${HELIB_HEADER_DIR}
331341
-DHELIB_SOURCE_DIR=${HELIB_SOURCE_DIR}
332342
-DHELIB_TESTS_DIR=${HELIB_TESTS_DIR}
343+
-DHELIB_DEPENDENCIES_DIR=${HELIB_DEPENDENCIES_DIR}
344+
-DHELIB_VERSION=${HELIB_VERSION}
333345
BUILD_ALWAYS ON)
334346

335347
if (ENABLE_TEST)

CONTRIBUTING.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ tests, designing and coding new examples or writing tutorials are all examples
55
of helpful contributions.
66

77
A contribution to HElib can be initiated through GitHub pull request (PR).
8-
HElib is written in C++14 and uses `clang-format` for the formatting of the code.
9-
Requiremens and installation instructions can be found in [INSTALL.md](INSTALL.md).
10-
When making code contributions to HElib, we ask that you follow the `C++14`
8+
HElib is written in C++17 and uses `clang-format` for the formatting of the code.
9+
Requirements and installation instructions can be found in [INSTALL.md](INSTALL.md).
10+
When making code contributions to HElib, we ask that you follow the `C++17`
1111
coding standard and format your code using the [clang format](.clang-format)
1212
style file included in this distribution. Please provide unit/regression
1313
tests that are relevant to your code contribution.
@@ -27,4 +27,3 @@ Whether you are contributing a new feature, updating or bug fixing the code else
2727
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.
2828

2929
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.
30-

0 commit comments

Comments
 (0)