-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy pathCMakeLists.txt
29 lines (25 loc) · 994 Bytes
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
cmake_minimum_required (VERSION 2.9)
project (KGRAPH)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -msse2 -O3 -std=c++17 -fPIC -march=native")
find_package(OpenMP REQUIRED)
if (OPENMP_FOUND)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
find_package(Boost REQUIRED COMPONENTS timer chrono system program_options)
set(LIB_SRC kgraph.cpp)
include_directories(${KGRAPH_SOURCE_DIR} ${KGRAPH_SOURCE_DIR}/3rd/xsimd/include)
add_library(kgraph SHARED ${LIB_SRC})
add_library(kgrapha STATIC ${LIB_SRC})
set_target_properties(kgrapha PROPERTIES OUTPUT_NAME kgraph)
add_executable(index index.cpp)
add_executable(search search.cpp)
set(TOOLS index search)
foreach(TOOL ${TOOLS})
target_link_libraries(${TOOL} kgrapha ${Boost_LIBRARIES} rt)
endforeach(TOOL)
install (FILES kgraph.h kgraph-data.h DESTINATION include)
install (TARGETS kgraph kgrapha
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)