cmake_minimum_required (VERSION 3.5.1) project(demo CXX) # Common compiler options among built types set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--allow-multiple-definition") set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Specific compiler options for Debug or Release builds set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0 -ggdb -Wall -fopenmp -pedantic") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -Wall -fopenmp -pedantic -O1") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O1 -fopenmp") find_package(Palisade REQUIRED PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../PALISADE/) set( CMAKE_CXX_FLAGS ${PALISADE_CXX_FLAGS} ) set( CMAKE_EXE_LINKER_FLAGS ${PALISADE_EXE_LINKER_FLAGS} ) include_directories( ${OPENMP_INCLUDES} ) include_directories( ${PALISADE_INCLUDE} ) include_directories( ${PALISADE_INCLUDE}/core ) include_directories( ${PALISADE_INCLUDE}/pke ) #add_library(libplinkio SHARED IMPORTED) #set_target_properties(libplinkio PROPERTIES # IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/../../PLINK/libplinkio/install/lib/libplinkio.so" # INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/../../PLINK/libplinkio/install/include") link_directories( ${PALISADE_LIBDIR} ) link_directories( ${OPENMP_LIBRARIES} ) link_directories( ${LIBPLINKIO_LIBDIR} ) link_libraries( ${PALISADE_LIBRARIES} ) find_package(MPI REQUIRED) include_directories(${MPI_CXX_INCLUDE_PATH}) find_package(Boost REQUIRED mpi serialization) include_directories(${Boost_INCLUDE_DIR}) file(GLOB mem_src "${CMAKE_SOURCE_DIR}/avail_mem.cpp") ### ADD YOUR EXECUTABLE(s) HERE ### add_executable( EXECUTABLE-NAME SOURCES ) ### ### EXAMPLE: #add_executable( demo-logistic demo-logistic.cpp ) add_executable( demo-chi2 demo-chi2.cpp ${mem_src}) target_link_libraries(demo-chi2 Boost::serialization Boost::mpi ${MPI_CXX_LIBRARIES}) #libplinkio)