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})