1. Выделение разделяемой памяти учитывает количество требуемой памяти 2. Выложил собранные библиотеки pnet и osal 3. Добавил общее описание в readme.md
50 lines
1.8 KiB
CMake
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})
|