CMAKE_MINIMUM_REQUIRED(VERSION 3.17)
PROJECT(single_test)
SET(CMAKE_CXX_STANDARD 14)
SET(MXINDEX_HOME /usr/local/Ascend/mxIndex CACHE STRING "")
SET(FAISS_HOME /usr/local/faiss/faiss1.10.0 CACHE STRING "")
SET(GTEST_HOME /usr/local/gtest CACHE STRING "")
SET(DRIVER_HOME /usr/local/Ascend/driver CACHE STRING "")
SET(OPENBLAS /opt/OpenBLAS CACHE STRING "")
SET(TOOLKIT_HOME /usr/local/Ascend/ascend-toolkit/latest CACHE STRING "")
IF (${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "aarch64")
ADD_COMPILE_OPTIONS(-fPIE -fstack-protector-all -fPIC -Wall -O3 -D_FORTIFY_SOURCE=2 -frename-registers -fpeel-loops -fopenmp -march=armv8.2-a -mabi=lp64)
ELSE ()
ADD_COMPILE_OPTIONS(-fPIE -fstack-protector-all -fPIC -Wall -O3 -D_FORTIFY_SOURCE=2 -frename-registers -fpeel-loops -fopenmp)
ENDIF ()
ADD_LINK_OPTIONS(-Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -s -pie -fopenmp)
MESSAGE("-- Key Configurations: ")
MESSAGE(NOTICE " MXINDEX_HOME is ${MXINDEX_HOME}")
MESSAGE(NOTICE " FAISS_HOME is ${FAISS_HOME}")
MESSAGE(NOTICE " GTEST_HOME is ${GTEST_HOME}")
MESSAGE(NOTICE " DRIVER_HOME is ${DRIVER_HOME}")
MESSAGE(NOTICE " OPENBLAS is ${OPENBLAS}")
INCLUDE_DIRECTORIES(
${MXINDEX_HOME}/include
${FAISS_HOME}/include
${GTEST_HOME}/include
${OPENBLAS}/include
${DRIVER_HOME}/include/dvpp
${TOOLKIT_HOME}/include/
/usr/local/include
)
LINK_DIRECTORIES(
${OPENBLAS}/lib
${MXINDEX_HOME}/host/lib
${FAISS_HOME}/lib
${GTEST_HOME}/lib
${DRIVER_HOME}/lib64/driver
${TOOLKIT_HOME}/lib64
/usr/local/lib
)
LINK_LIBRARIES(
faiss
ascendfaiss
gtest
c_sec
openblas
ascendcl
)
ADD_COMPILE_OPTIONS(-g)
FILE(GLOB TEST_SRC_FILES "TestAscend*.cpp")
FOREACH(FILE_PATH ${TEST_SRC_FILES})
STRING(REGEX REPLACE ".+/(.+)\\..*" "\\1" FILE_NAME ${FILE_PATH})
ADD_EXECUTABLE(${FILE_NAME} ${FILE_PATH} ${ASCENDFAISS_HOST_SRC})
ENDFOREACH(FILE_PATH)