2018-08-21 00:25:44 +02:00
|
|
|
## CMakeLists.txt
|
|
|
|
#
|
2023-08-31 11:17:07 +02:00
|
|
|
# Author: Daniel Krebs <github@daniel-krebs.net>
|
|
|
|
# SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2018-08-21 00:25:44 +02:00
|
|
|
#
|
2018-08-21 16:54:58 +02:00
|
|
|
# VILLAScommon
|
2023-08-31 11:17:07 +02:00
|
|
|
|
2018-08-21 00:25:44 +02:00
|
|
|
|
|
|
|
add_library(villas-common SHARED
|
2024-02-29 21:40:05 +01:00
|
|
|
base64.cpp
|
|
|
|
buffer.cpp
|
|
|
|
common.cpp
|
|
|
|
compat.cpp
|
|
|
|
cpuset.cpp
|
|
|
|
dsp/pid.cpp
|
|
|
|
hist.cpp
|
|
|
|
kernel/kernel.cpp
|
|
|
|
kernel/rt.cpp
|
|
|
|
list.cpp
|
|
|
|
log.cpp
|
|
|
|
memory_manager.cpp
|
|
|
|
memory.cpp
|
|
|
|
plugin.cpp
|
|
|
|
popen.cpp
|
|
|
|
table.cpp
|
|
|
|
task.cpp
|
|
|
|
terminal.cpp
|
|
|
|
timing.cpp
|
|
|
|
tool.cpp
|
|
|
|
utils.cpp
|
|
|
|
uuid.cpp
|
|
|
|
version.cpp
|
2018-08-21 00:25:44 +02:00
|
|
|
)
|
|
|
|
|
2019-06-27 01:37:56 +02:00
|
|
|
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
2024-02-29 21:40:05 +01:00
|
|
|
target_sources(villas-common PRIVATE tsc.cpp)
|
2018-10-21 20:25:55 +01:00
|
|
|
endif()
|
|
|
|
|
2018-08-22 11:29:39 +02:00
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL Linux)
|
2024-02-29 21:40:05 +01:00
|
|
|
target_sources(villas-common PRIVATE
|
|
|
|
kernel/pci.cpp
|
|
|
|
kernel/vfio_device.cpp
|
|
|
|
kernel/vfio_group.cpp
|
|
|
|
kernel/vfio_container.cpp
|
|
|
|
)
|
2018-08-21 15:55:32 +02:00
|
|
|
endif()
|
|
|
|
|
2018-08-21 00:25:44 +02:00
|
|
|
target_include_directories(villas-common PUBLIC
|
2024-02-29 21:40:05 +01:00
|
|
|
${OPENSSL_INCLUDE_DIR}
|
|
|
|
${CURL_INCLUDE_DIRS}
|
|
|
|
${PROJECT_BINARY_DIR}/common/include
|
|
|
|
${PROJECT_SOURCE_DIR}/common/include
|
2018-08-21 00:25:44 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
target_link_libraries(villas-common PUBLIC
|
2024-02-29 21:40:05 +01:00
|
|
|
PkgConfig::JANSSON
|
|
|
|
PkgConfig::UUID
|
|
|
|
${OPENSSL_LIBRARIES}
|
|
|
|
${CURL_LIBRARIES}
|
|
|
|
${CMAKE_DL_LIBS}
|
|
|
|
spdlog::spdlog
|
|
|
|
fmt::fmt
|
|
|
|
stdc++
|
2018-08-21 00:25:44 +02:00
|
|
|
)
|
2018-08-21 13:24:17 +02:00
|
|
|
|
2019-04-06 18:21:47 +02:00
|
|
|
if(WITH_CONFIG)
|
2024-02-29 21:40:05 +01:00
|
|
|
target_link_libraries(villas-common PUBLIC
|
|
|
|
PkgConfig::LIBCONFIG
|
|
|
|
)
|
2019-04-06 18:21:47 +02:00
|
|
|
endif()
|
|
|
|
|
2018-08-23 16:02:02 +02:00
|
|
|
target_compile_definitions(villas-common PUBLIC
|
2024-02-29 21:40:05 +01:00
|
|
|
-D__STDC_FORMAT_MACROS -D_GNU_SOURCE
|
2018-08-21 13:24:17 +02:00
|
|
|
)
|
2019-01-07 14:46:40 +01:00
|
|
|
|
2019-01-13 00:43:17 +01:00
|
|
|
set_target_properties(villas-common PROPERTIES
|
|
|
|
VERSION ${CMAKE_PROJECT_VERSION}
|
|
|
|
SOVERSION 1
|
|
|
|
)
|
|
|
|
|
2019-01-07 14:46:40 +01:00
|
|
|
install(
|
|
|
|
TARGETS villas-common
|
|
|
|
EXPORT VILLASCommonConfig
|
|
|
|
COMPONENT lib
|
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
)
|
|
|
|
|
|
|
|
install(
|
2024-02-29 19:22:42 +01:00
|
|
|
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/common/include/villas/
|
2019-01-07 14:46:40 +01:00
|
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/villas
|
|
|
|
COMPONENT devel
|
|
|
|
FILES_MATCHING
|
|
|
|
PATTERN "*.h"
|
2019-01-13 00:43:04 +01:00
|
|
|
PATTERN "*.hpp"
|
2019-01-07 14:46:40 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
install(
|
|
|
|
DIRECTORY ${PROJECT_BINARY_DIR}/include/villas/
|
|
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/villas
|
|
|
|
COMPONENT devel
|
|
|
|
FILES_MATCHING
|
|
|
|
PATTERN "*.h"
|
2019-01-13 00:43:04 +01:00
|
|
|
PATTERN "*.hpp"
|
2019-01-07 14:46:40 +01:00
|
|
|
)
|