Browse Source

adding CMakeListsUser.txt template

Rener Oliveira (Ubuntu WSL) 2 years ago
parent
commit
5c95bb58a3
1 changed files with 48 additions and 0 deletions
  1. 48 0
      CMakeLists.txt

+ 48 - 0
CMakeLists.txt

@@ -0,0 +1,48 @@
+cmake_minimum_required (VERSION 3.5.1)
+
+### To use gcc/g++ on a Macintosh, you must set the Compilers
+### here, not inside the project
+##if(APPLE)
+##       set(CMAKE_C_COMPILER "/usr/local/bin/gcc-7")
+##       set(CMAKE_CXX_COMPILER "/usr/local/bin/g++-7")
+##endif()
+### TODO: for now, we use CLang for Mac
+###
+### In order to create OpenFHE's static libraries you should enable
+### the BUILD_STATIC option. For that, you run "cmake .. -DBUILD_STATIC=ON".
+### After having your link completed you will find static libs
+### with the suffix "_static" in ./build/libs/.
+### Examples: OPENFHEpke_static.a, OPENFHEcore_static.a, etc.
+### After you run "make install" in your build directory, you can build your custom application.
+### If you need your application to be linked statically, then run "cmake .. -DBUILD_STATIC=ON"
+
+project(demo CXX)
+set(CMAKE_CXX_STANDARD 17)
+option( BUILD_STATIC "Set to ON to include static versions of the library" OFF)
+
+find_package(OpenFHE)
+
+set( CMAKE_CXX_FLAGS ${OpenFHE_CXX_FLAGS} )
+
+include_directories( ${OPENMP_INCLUDES} )
+include_directories( ${OpenFHE_INCLUDE} )
+include_directories( ${OpenFHE_INCLUDE}/third-party/include )
+include_directories( ${OpenFHE_INCLUDE}/core )
+include_directories( ${OpenFHE_INCLUDE}/pke )
+### add directories for other OpenFHE modules as needed for your project
+
+link_directories( ${OpenFHE_LIBDIR} )
+link_directories( ${OPENMP_LIBRARIES} )
+if(BUILD_STATIC)
+    set( CMAKE_EXE_LINKER_FLAGS "${OpenFHE_EXE_LINKER_FLAGS} -static")
+    link_libraries( ${OpenFHE_STATIC_LIBRARIES} )
+else()
+    set( CMAKE_EXE_LINKER_FLAGS ${OpenFHE_EXE_LINKER_FLAGS} )
+    link_libraries( ${OpenFHE_SHARED_LIBRARIES} )
+endif()
+
+### ADD YOUR EXECUTABLE(s) HERE
+### add_executable( EXECUTABLE-NAME SOURCES )
+###
+### EXAMPLE:
+### add_executable( test demo-simple-example.cpp )