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)
# set(CMAKE_FIND_DEBUG_MODE 1)
find_package(SEAL 3.3.2 EXACT QUIET)
if (NOT SEAL_FOUND)
message(STATUS "SEAL 3.3.2 was not found: clone and install SEAL locally")
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src/CMakeLists.txt")
find_package(Git REQUIRED)
message(STATUS "initialize Git submodule: extern/SEAL")
execute_process(COMMAND git submodule update --init --recursive extern/SEAL
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
endif ()
message(STATUS "SEAL 3.3.2 was not found: clone and install SEAL locally")
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src/CMakeLists.txt")
find_package(Git REQUIRED)
message(STATUS "initialize Git submodule: extern/SEAL")
execute_process(COMMAND git submodule update --init --recursive extern/SEAL
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
endif ()
if(APPLE)
execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build .
-DCMAKE_C_COMPILER=${MAC_GCC} -DCMAKE_CXX_COMPILER=${MAC_GPP}
......@@ -18,29 +16,26 @@ else ()
execute_process(COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_SOURCE_DIR}/build .
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src")
find_package(SEAL 3.3.2 EXACT REQUIRED PATHS "${PROJECT_SOURCE_DIR}/build/")
endif ()
execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/extern/SEAL/native/src")
find_package(SEAL 3.3.2 EXACT REQUIRED PATHS "${PROJECT_SOURCE_DIR}/build/")
find_package(Eigen3 3.3 NO_MODULE QUIET)
if (NOT Eigen3_FOUND)
message(STATUS "Eigen 3.3 was not found: clone and install Eigen3 locally")
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/eigen/CMakeLists.txt")
find_package(Git REQUIRED)
message(STATUS "initialize Git submodule: extern/eigen")
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/")
message(STATUS "Eigen 3.3 was not found: clone and install Eigen3 locally")
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/eigen/CMakeLists.txt")
find_package(Git REQUIRED)
message(STATUS "initialize Git submodule: extern/eigen")
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/")
add_library(SCI-LinearHE
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