# CMakeLists. # # Author: Steffen Vogel # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 if(DEFINED PROTOBUF_COMPILER AND PROTOBUF_FOUND) add_custom_command( OUTPUT villas.pb.cc villas.pb.h message.js sample.js timestamp.js value.js COMMAND ${PROTOBUF_COMPILER} --js_out=${CMAKE_CURRENT_BINARY_DIR} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} villas.proto MAIN_DEPENDENCY villas.proto WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) endif() if(DEFINED PROTOBUFC_COMPILER AND PROTOBUFC_FOUND) add_custom_command( OUTPUT villas.pb-c.c villas.pb-c.h COMMAND ${PROTOBUFC_COMPILER} --c_out=${CMAKE_CURRENT_BINARY_DIR} villas.proto MAIN_DEPENDENCY villas.proto WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) list(APPEND FORMAT_SRC protobuf.cpp ${CMAKE_CURRENT_BINARY_DIR}/villas.pb-c.c ) list(APPEND INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} ) list(APPEND LIBRARIES PkgConfig::PROTOBUFC ) endif() list(APPEND FORMAT_SRC column.cpp iotagent_ul.cpp json_edgeflex.cpp json_kafka.cpp json_reserve.cpp json.cpp line.cpp msg.cpp opal_asyncip.cpp raw.cpp value.cpp villas_binary.cpp villas_human.cpp ) add_library(formats STATIC ${FORMAT_SRC}) target_include_directories(formats PUBLIC ${INCLUDE_DIRS}) target_link_libraries(formats PUBLIC ${LIBRARIES})