Skip to content
Snippets Groups Projects
Commit 7e289848 authored by Bhatu's avatar Bhatu
Browse files

Always checkout Eigen3 and SEAL while building SCI

Locally check them out in extern/ directory so that programs can be linked
against SCI without manually putting them in the networks directory and
modifying the CMake file.

See CompileTFGraph.py for seeing how to build and link programs directly.
parent a349497b
No related branches found
No related tags found
No related merge requests found
find_package(OpenMP REQUIRED) find_package(OpenMP REQUIRED)
# set(CMAKE_FIND_DEBUG_MODE 1) # set(CMAKE_FIND_DEBUG_MODE 1)
find_package(SEAL 3.3.2 EXACT QUIET) message(STATUS "SEAL 3.3.2 was not found: clone and install SEAL locally")
if (NOT SEAL_FOUND) if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src/CMakeLists.txt")
message(STATUS "SEAL 3.3.2 was not found: clone and install SEAL locally") find_package(Git REQUIRED)
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src/CMakeLists.txt") message(STATUS "initialize Git submodule: extern/SEAL")
find_package(Git REQUIRED) execute_process(COMMAND git submodule update --init --recursive extern/SEAL
message(STATUS "initialize Git submodule: extern/SEAL") WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
execute_process(COMMAND git submodule update --init --recursive extern/SEAL endif ()
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
endif ()
if(APPLE) if(APPLE)
execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build . execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build .
-DCMAKE_C_COMPILER=${MAC_GCC} -DCMAKE_CXX_COMPILER=${MAC_GPP} -DCMAKE_C_COMPILER=${MAC_GCC} -DCMAKE_CXX_COMPILER=${MAC_GPP}
...@@ -18,29 +16,26 @@ else () ...@@ -18,29 +16,26 @@ else ()
execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build . execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build .
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src") WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src")
endif() endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src") WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src")
find_package(SEAL 3.3.2 EXACT REQUIRED PATHS "${PROJECT_SOURCE_DIR}/build/") find_package(SEAL 3.3.2 EXACT REQUIRED PATHS "${PROJECT_SOURCE_DIR}/build/")
endif ()
find_package(Eigen3 3.3 NO_MODULE QUIET) message(STATUS "Eigen 3.3 was not found: clone and install Eigen3 locally")
if (NOT Eigen3_FOUND) if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/eigen/CMakeLists.txt")
message(STATUS "Eigen 3.3 was not found: clone and install Eigen3 locally") find_package(Git REQUIRED)
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/eigen/CMakeLists.txt") message(STATUS "initialize Git submodule: extern/eigen")
find_package(Git REQUIRED) execute_process(COMMAND git submodule update --init --recursive extern/eigen
message(STATUS "initialize Git submodule: extern/eigen") WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
execute_process(COMMAND git submodule update --init --recursive extern/eigen
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
endif ()
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory build
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/eigen/")
execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build ..
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/eigen/build")
execute_process(COMMAND ${CMAKE_COMMAND} --build .. --target install
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/eigen/build")
message(STATUS "${PROJECT_SOURCE_DIR}")
find_package(Eigen3 3.3 REQUIRED NO_MODULE PATHS "${PROJECT_SOURCE_DIR}/build/")
endif () endif ()
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory build
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/eigen/")
execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build ..
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/eigen/build")
execute_process(COMMAND ${CMAKE_COMMAND} --build .. --target install
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/eigen/build")
message(STATUS "${PROJECT_SOURCE_DIR}")
find_package(Eigen3 3.3 REQUIRED NO_MODULE PATHS "${PROJECT_SOURCE_DIR}/build/")
add_library(SCI-LinearHE add_library(SCI-LinearHE
conv-field.cpp conv-field.cpp
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment