netgen/libsrc/core/CMakeLists.txt

75 lines
2.5 KiB
CMake
Raw Normal View History

2019-07-09 21:07:19 +05:00
add_library(ngcore SHARED
archive.cpp
bitarray.cpp
2019-09-23 17:01:35 +05:00
exception.cpp
2019-07-09 21:07:19 +05:00
localheap.cpp
logging.cpp
2019-08-06 17:16:13 +05:00
flags.cpp
2019-07-09 21:07:19 +05:00
paje_trace.cpp
profiler.cpp
2019-08-29 17:21:18 +05:00
table.cpp
2019-07-09 21:07:19 +05:00
taskmanager.cpp
utils.cpp
)
2018-12-28 17:43:15 +05:00
# Pybind11 2.3 Issue https://github.com/pybind/pybind11/issues/1604
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
target_compile_options(ngcore PUBLIC -fsized-deallocation -faligned-allocation)
endif()
2019-08-06 18:50:08 +05:00
if(USE_PYTHON)
target_sources(ngcore PRIVATE python_ngcore.cpp)
target_compile_definitions(ngcore PUBLIC NETGEN_PYTHON NG_PYTHON)
2019-08-06 18:50:08 +05:00
endif(USE_PYTHON)
2018-12-28 17:43:15 +05:00
target_compile_definitions(ngcore PRIVATE NGCORE_EXPORTS)
if(NOT WIN32)
target_compile_options(ngcore PRIVATE -fvisibility=hidden)
endif(NOT WIN32)
2019-08-28 21:41:42 +05:00
if(WIN32)
target_compile_options(ngcore PUBLIC /bigobj)
endif(WIN32)
target_compile_definitions(ngcore PUBLIC $<$<CONFIG:DEBUG>:NETGEN_ENABLE_CHECK_RANGE>)
target_include_directories(ngcore INTERFACE $<INSTALL_INTERFACE:${NG_INSTALL_DIR_INCLUDE}> $<INSTALL_INTERFACE:${NG_INSTALL_DIR_INCLUDE}/include>)
if(CHECK_RANGE)
target_compile_definitions(ngcore PUBLIC NETGEN_ENABLE_CHECK_RANGE)
endif(CHECK_RANGE)
2018-12-28 17:43:15 +05:00
if(USE_SPDLOG)
include_directories(${SPDLOG_INCLUDE_DIR})
install(DIRECTORY ${SPDLOG_INCLUDE_DIR}
DESTINATION ${NG_INSTALL_DIR_INCLUDE}
)
add_dependencies(ngcore project_spdlog)
target_compile_definitions(ngcore PUBLIC NETGEN_USE_SPDLOG)
if(DEBUG_LOG)
target_compile_definitions(ngcore PUBLIC NETGEN_LOG_DEBUG)
endif(DEBUG_LOG)
endif(USE_SPDLOG)
2018-11-29 22:35:30 +05:00
install(TARGETS ngcore DESTINATION ${NG_INSTALL_DIR} COMPONENT netgen)
target_link_libraries(ngcore PUBLIC netgen_mpi PRIVATE netgen_python ${CMAKE_THREAD_LIBS_INIT})
2018-12-28 17:43:15 +05:00
install(FILES ngcore.hpp archive.hpp type_traits.hpp version.hpp ngcore_api.hpp logging.hpp
2019-02-12 00:01:07 +05:00
exception.hpp symboltable.hpp paje_trace.hpp utils.hpp profiler.hpp mpi_wrapper.hpp
2019-08-06 17:16:13 +05:00
array.hpp taskmanager.hpp concurrentqueue.h localheap.hpp python_ngcore.hpp flags.hpp
2019-08-29 17:21:18 +05:00
xbool.hpp signal.hpp bitarray.hpp table.hpp hashtable.hpp
DESTINATION ${NG_INSTALL_DIR_INCLUDE}/core COMPONENT netgen_devel)
if(ENABLE_CPP_CORE_GUIDELINES_CHECK)
set_target_properties(ngcore PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
endif(ENABLE_CPP_CORE_GUIDELINES_CHECK)
2018-12-28 17:43:15 +05:00
if(USE_PYTHON)
2019-08-06 18:50:08 +05:00
pybind11_add_module(pyngcore SHARED python_ngcore_export.cpp)
target_link_libraries(pyngcore PUBLIC ngcore netgen_python)
2018-12-28 17:43:15 +05:00
set_target_properties(pyngcore PROPERTIES INSTALL_RPATH "${NG_RPATH_TOKEN}/${NETGEN_PYTHON_RPATH}")
install(TARGETS pyngcore DESTINATION ${NG_INSTALL_DIR_PYTHON} COMPONENT netgen)
endif(USE_PYTHON)