@@ -89,21 +89,23 @@ endif()
8989
9090# faiss
9191if (NOT FAISS_PATH)
92- ExternalProject_Add(faiss
93- GIT_REPOSITORY https://github.com/facebookresearch/faiss.git
94- UPDATE_DISCONNECTED ${SKIP_UPDATE}
95- PREFIX faiss
96- SOURCE_DIR ${EXTERNAL_DIR} /faiss
97- BINARY_DIR ${EXTERNAL_DIR} /faiss
98- INSTALL_DIR ${PROJECT_BINARY_DIR} /faiss
99- CONFIGURE_COMMAND test -e makefile.inc ||
100- ${EXTERNAL_DIR} /faiss/configure --with-cuda=${CUDA_ROOT} --with-cuda-arch=${CUDA_ARCH}
101- BUILD_COMMAND test -e libfaiss.so || make -j
102- INSTALL_COMMAND test -e ${PROJECT_BINARY_DIR} /faiss/include /faiss/gpu/GpuIndexFlat.h ||
103- make install prefix =${PROJECT_BINARY_DIR} /faiss)
104- include_directories (${PROJECT_BINARY_DIR} /faiss/include )
105- link_directories (${PROJECT_BINARY_DIR} /faiss/lib)
106- set (FAISS_LIBRARY ${PROJECT_BINARY_DIR} /faiss/lib/libfaiss.so)
92+ if (NOT NO_FAISS)
93+ ExternalProject_Add(faiss
94+ GIT_REPOSITORY https://github.com/facebookresearch/faiss.git
95+ UPDATE_DISCONNECTED ${SKIP_UPDATE}
96+ PREFIX faiss
97+ SOURCE_DIR ${EXTERNAL_DIR} /faiss
98+ BINARY_DIR ${EXTERNAL_DIR} /faiss
99+ INSTALL_DIR ${PROJECT_BINARY_DIR} /faiss
100+ CONFIGURE_COMMAND test -e makefile.inc ||
101+ ${EXTERNAL_DIR} /faiss/configure --with-cuda=${CUDA_ROOT} --with-cuda-arch=${CUDA_ARCH}
102+ BUILD_COMMAND test -e libfaiss.so || make -j
103+ INSTALL_COMMAND test -e ${PROJECT_BINARY_DIR} /faiss/include /faiss/gpu/GpuIndexFlat.h ||
104+ make install prefix =${PROJECT_BINARY_DIR} /faiss)
105+ include_directories (${PROJECT_BINARY_DIR} /faiss/include )
106+ link_directories (${PROJECT_BINARY_DIR} /faiss/lib)
107+ set (FAISS_LIBRARY ${PROJECT_BINARY_DIR} /faiss/lib/libfaiss.so)
108+ endif ()
107109else ()
108110 get_filename_component (FAISS_PARENT ${FAISS_PATH} DIRECTORY )
109111 include_directories (${FAISS_PARENT} )
@@ -125,10 +127,12 @@ set(CMAKE_CUDA_FLAGS_DEBUG "-g -G")
125127set (CMAKE_CUDA_FLAGS_RELEASE "-O3" )
126128set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${CUDA_ARCH} " )
127129
128- if (FAST_COMPILE)
129- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFAST_COMPILE" )
130- set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -DFAST_COMPILE" )
131- endif ()
130+ foreach (MACRO FAST_COMPILE NO_FAISS)
131+ if (${${MACRO} })
132+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${MACRO} " )
133+ set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -D${MACRO} " )
134+ endif ()
135+ endforeach ()
132136
133137# output directory
134138set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib)
0 commit comments