summaryrefslogtreecommitdiff
path: root/openEMS/nf2ff/CMakeLists.txt
blob: 86811b4092a553f12018aaeb979f13ce8a08f9bb (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
43
44
45
46
47
48
49
50
51
52
53
54
# define build type
IF( DEFINED CMAKE_BUILD_TYPE )
  SET( CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Set to either \"Release\" or \"Debug\"" )
ELSE()
  SET( CMAKE_BUILD_TYPE Release CACHE STRING "Set to either \"Release\" or \"Debug\"" )
ENDIF()

PROJECT(nf2ff CXX)
cmake_minimum_required(VERSION 2.8)

set(LIB_VERSION_MAJOR 0)
set(LIB_VERSION_MINOR 1)
set(LIB_VERSION_PATCH 0)
set(LIB_VERSION_STRING ${LIB_VERSION_MAJOR}.${LIB_VERSION_MINOR}.${LIB_VERSION_PATCH})

set(VERSION "v${LIB_VERSION_STRING}")

set(SOURCES
  nf2ff.cpp
  nf2ff_calc.cpp
  ../tools/array_ops.cpp
  ../tools/useful.cpp
  ../tools/hdf5_file_reader.cpp
  ../tools/hdf5_file_writer.cpp
)

#ADD_SUBDIRECTORY( ../tools )
set(HEADERS
  nf2ff.h
  nf2ff_calc.h
)

add_library( nf2ff SHARED ${SOURCES})
set_target_properties(nf2ff PROPERTIES VERSION ${LIB_VERSION_STRING} SOVERSION ${LIB_VERSION_MAJOR})

TARGET_LINK_LIBRARIES( nf2ff
  tinyxml
  ${HDF5_LIBRARIES}
  ${Boost_LIBRARIES}
  ${MPI_LIBRARIES}
)

ADD_EXECUTABLE( nf2ff_bin main.cpp )
SET_TARGET_PROPERTIES(nf2ff_bin PROPERTIES OUTPUT_NAME nf2ff)
TARGET_LINK_LIBRARIES(nf2ff_bin nf2ff)

INSTALL(TARGETS nf2ff_bin DESTINATION bin)
INSTALL(TARGETS nf2ff     DESTINATION lib${LIB_SUFFIX})

INSTALL(FILES ${HEADERS} DESTINATION include/openEMS)


#TODO tarball, debug, release