summaryrefslogtreecommitdiff
path: root/geom_matching/wasserstein/mpi/CMakeLists.txt
blob: aaaf8aa64638738a49a82ae0a7b8745c06845240 (plain)
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
cmake_minimum_required(VERSION 3.1.0)

project(hera_mpi)

option(SILENCE "Turn off some warnings." OFF)

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
  add_definitions(-DDEBUG)
  remove_definitions(-DNDEBUG)
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Fast")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native -ffast-math")
  add_definitions(-DNDEBUG)
  remove_definitions(-DDEBUG)
endif()

if(SILENCE)
  message(WARNING "Silence flag currently ignored.")
  add_definitions(-DSILENCE)
endif(SILENCE)

include(TestBigEndian)
test_big_endian(BIG_ENDIAN)
if(BIG_ENDIAN)
  add_definitions(-DBIGENDIAN)
endif()

find_package(MPI REQUIRED)
include_directories(${MPI_INCLUDE_PATH})
link_directories(${MPI_LIBRARIES})

find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})

include_directories("../include")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_COMPILE_FLAGS} -Wall -pedantic -Wextra -std=c++14")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MPI_LINK_FLAGS}")

add_executable(hera_mpi main.cpp)
target_link_libraries(hera_mpi ${MPI_LIBRARIES} ${Boost_LIBRARIES})