63 lines
1.5 KiB
CMake
63 lines
1.5 KiB
CMake
|
|
# 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})
|
|
set_target_properties(nf2ff PROPERTIES CXX_STANDARD 11)
|
|
if (WIN32)
|
|
target_compile_definitions(nf2ff PRIVATE -DBUILD_NF2FF_LIB )
|
|
endif (WIN32)
|
|
|
|
TARGET_LINK_LIBRARIES( nf2ff
|
|
${TinyXML_LIBRARY}
|
|
${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)
|
|
if (WIN32)
|
|
INSTALL(TARGETS nf2ff DESTINATION bin)
|
|
else()
|
|
INSTALL(TARGETS nf2ff DESTINATION lib${LIB_SUFFIX})
|
|
endif()
|
|
|
|
INSTALL(FILES nf2ff.h DESTINATION include/openEMS)
|
|
|
|
|
|
#TODO tarball, debug, release
|