40 lines
1.5 KiB
CMake

include_directories( ../src/core/include )
include_directories( ../src/core/lib )
include_directories( ../src/pke/include )
include_directories( ../src/binfhe/include )
set( REGEX_FLAG -DHAVE_STD_REGEX )
if ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
set( WARNING_FLAG "" )
else()
set( WARNING_FLAG -Wno-unused-but-set-variable )
endif()
if( BUILD_SHARED )
set (BMLIBS PUBLIC PALISADEpke PUBLIC PALISADEbinfhe PUBLIC PALISADEcore ${THIRDPARTYLIBS} PUBLIC benchmark ${OpenMP_CXX_FLAGS})
endif()
if( BUILD_STATIC )
set (BMLIBS ${BMLIBS} PUBLIC PALISADEpke_static PUBLIC PALISADEbinfhe_static PUBLIC PALISADEcore_static ${THIRDPARTYSTATICLIBS} PUBLIC benchmark ${OpenMP_CXX_FLAGS})
endif()
set (BMAPPS "")
file (GLOB BMARK_SRC_FILES CONFIGURE_DEPENDS src/*.cpp)
foreach (app ${BMARK_SRC_FILES})
get_filename_component ( exe ${app} NAME_WE )
add_executable ( ${exe} ${app} )
set_property(TARGET ${exe} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/benchmark)
target_include_directories( ${exe} PUBLIC ../third-party/google-benchmark/include )
set_target_properties( ${exe} PROPERTIES COMPILE_FLAGS
"${REGEX_FLAG} -DHAVE_STEADY_CLOCK -DNDEBUG ${WARNING_FLAG}" )
target_link_libraries ( ${exe} ${BMLIBS} )
set (BMAPPS ${BMAPPS} ${exe})
endforeach()
add_custom_target( allbenchmark )
add_dependencies( allbenchmark ${BMAPPS} )
add_custom_command( OUTPUT benchmarkinfocmd COMMAND echo Builds benchmark lib and these apps: ${BMAPPS} )
add_custom_target( benchmarkinfo DEPENDS benchmarkinfocmd )