ProfinetConnector/src/CMakeLists.txt
Vadim Sychev 3c9774a173 dev(UML-981): Решение некоторых проблем и документирование кода
1. Выделение разделяемой памяти учитывает количество требуемой памяти
2. Выложил собранные библиотеки pnet и osal
3. Добавил общее описание в readme.md
2022-08-05 14:58:37 +03:00

50 lines
1.8 KiB
CMake

cmake_minimum_required (VERSION 3.0)
project (PN_DEV_TEST VERSION 0.0.1)
set(CMAKE_CXX_STANDARD 20)
set(LIBS_INSTALL_PATH ../libs)
set(PNET_PATH ../profinet_stack/p-net)
set(TARGET_NAME profinet_io_dev)
include(./utils/utils.cmake)
include(./profinet/profinet.cmake)
include(./nlohmann_json/nlohmann_json.cmake)
include(./file_api/file_api.cmake)
include(./configuration/configuration.cmake)
include (./interprocess/interprocess.cmake)
include (./shared_data/shared_data.cmake)
set(SRC_FILES ${SRC_FILES} ./app.cpp)
# Копирование заглушки скрипта установки параметров сети.
# Если не копировать, то в недрах pnet после fork вызовется exit и
# вызовутся деструкторы объектов, что может привести к непредвиденным последствиям.
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/set_network_parameters
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
#Копирование файла конфигурации
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/program_configure.json
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
#Копирование тестового файла конфигурации устройства Profinet
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/profinet_device_configure.json
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_executable(${TARGET_NAME} ./main.cpp ${SRC_FILES})
target_include_directories(${TARGET_NAME} PRIVATE
./
${INC_DIRS}
${LIBS_INSTALL_PATH}/include
${LIBS_INSTALL_PATH}/include/sys
${PNET_PATH}/build/src
${PNET_PATH}/src
${PNET_PATH}/src/ports/linux
)
target_link_directories(${TARGET_NAME} PUBLIC ${LIBS_INSTALL_PATH}/lib/x86_64)
target_link_libraries (${TARGET_NAME} PUBLIC profinet osal ${Boost_LIBRARIES})