-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
66 lines (53 loc) · 1.64 KB
/
Copy pathCMakeLists.txt
File metadata and controls
66 lines (53 loc) · 1.64 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
cmake_minimum_required(VERSION 2.8.11)
project(ndarray)
option(NDARRAY_TEST "Enable tests?" ON)
option(NDARRAY_SWIG "Enable Swig?" ON)
option(NDARRAY_BOOST_PYTHON "Enable Boost Python?" OFF)
option(NDARRAY_PYBIND11 "Enable Pybind11?" OFF)
# enable C++11 support
add_definitions(-std=c++11)
# put our local cmake find scripts at the beginning of the cmake
# module search path
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
# find required packages
find_package(PythonInterp REQUIRED)
find_package(PythonLibs REQUIRED)
find_package(NumPy REQUIRED)
find_package(Boost COMPONENTS unit_test_framework REQUIRED)
find_package(FFTW REQUIRED)
# allow user to specify EIGEN_DIR as an environment variable
# this is necessary to integrate with build systems that install Eigen
# in non-standard locations
set(EIGEN3_INCLUDE_DIR $ENV{EIGEN_DIR})
if(NOT EIGEN3_INCLUDE_DIR)
find_package(Eigen3 REQUIRED)
else()
set(EIGEN3_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR}/include)
endif(NOT EIGEN3_INCLUDE_DIR)
if (NDARRAY_SWIG)
find_package(SWIG REQUIRED)
endif (NDARRAY_SWIG)
if (NDARRAY_PYBIND11)
find_package(Pybind11 REQUIRED)
endif (NDARRAY_PYBIND11)
include_directories(
${PROJECT_SOURCE_DIR}/include
${PYTHON_INCLUDE_DIRS}
${NUMPY_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${FFTW_INCLUDES}
${EIGEN3_INCLUDE_DIR}
${PYBIND11_INCLUDE_DIR}
)
add_subdirectory(include)
if(NDARRAY_TEST)
enable_testing()
add_subdirectory(tests)
endif(NDARRAY_TEST)
# installation
install(DIRECTORY include/ DESTINATION include/
FILES_MATCHING PATTERN "*.h")
if(NDARRAY_SWIG)
install(DIRECTORY include/ DESTINATION include/
FILES_MATCHING PATTERN "*.i")
endif(NDARRAY_SWIG)