-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathCMakeLists.txt
41 lines (41 loc) · 1.76 KB
/
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
30
31
32
33
34
35
36
37
38
39
40
41
cmake_minimum_required(VERSION 3.2)
project(wmdrelax)
set(CMAKE_MODULE_PATH ${CMAKE_HOME_DIRECTORY}/cmake)
find_package(OpenMP REQUIRED)
if (NOT DISABLE_PYTHON)
if (APPLE)
# workaround
# https://github.com/Homebrew/legacy-homebrew/issues/25118
# https://cmake.org/Bug/view.php?id=14809
find_program(PYTHON_CONFIG_EXECUTABLE python3-config)
message("-- Found python3-config: ${PYTHON_CONFIG_EXECUTABLE}")
execute_process(COMMAND ${PYTHON_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PYTHON_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
message("-- Discovered Python 3.x prefix: ${PYTHON_PREFIX}")
set(PYTHON_EXECUTABLE "${PYTHON_PREFIX}/bin/python3")
endif()
find_package(PythonInterp 3 REQUIRED)
find_package(PythonLibs 3 REQUIRED)
if (NOT NUMPY_INCLUDES)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print(numpy.get_include())" OUTPUT_VARIABLE NUMPY_INCLUDES)
endif()
endif()
#set(CMAKE_VERBOSE_MAKEFILE on)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wno-sign-compare -Werror -std=c++11 ${OpenMP_CXX_FLAGS}")
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto")
endif()
include_directories(or-tools/src)
set(SOURCE_FILES or-tools/src/graph/min_cost_flow.cc or-tools/src/graph/max_flow.cc
or-tools/src/base/stringprintf.cc or-tools/src/base/logging.cc
or-tools/src/base/sysinfo.cc or-tools/src/util/stats.cc)
if (PYTHONLIBS_FOUND)
list(APPEND SOURCE_FILES python.cc)
endif()
add_library(wmdrelax SHARED ${SOURCE_FILES})
if (PYTHONLIBS_FOUND)
include_directories(${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDES})
target_link_libraries(wmdrelax ${PYTHON_LIBRARIES})
endif()
if (SUFFIX)
set_target_properties(wmdrelax PROPERTIES SUFFIX ${SUFFIX})
endif()