54 lines
1.9 KiB
CMake

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)