dev: Сборка для Linux Sitara
This commit is contained in:
parent
7d65fcf69f
commit
da63bec594
@ -2,7 +2,9 @@ cmake_minimum_required (VERSION 3.0)
|
|||||||
|
|
||||||
project (PN_ECHO_TEST VERSION 0.0.1)
|
project (PN_ECHO_TEST VERSION 0.0.1)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
|
set(TARGET_NAME pn_echo_test)
|
||||||
|
|
||||||
set(INC_DIRS ${INC_DIRS} ../../src/profinet)
|
set(INC_DIRS ${INC_DIRS} ../../src/profinet)
|
||||||
set(INC_DIRS ${INC_DIRS} ../../src/nlohmann_json)
|
set(INC_DIRS ${INC_DIRS} ../../src/nlohmann_json)
|
||||||
@ -19,8 +21,15 @@ set(SRC_FILES ${SRC_FILES} ./CreatePipes.cpp)
|
|||||||
set(SRC_FILES ${SRC_FILES} ../../src/file_api/file_api.cpp)
|
set(SRC_FILES ${SRC_FILES} ../../src/file_api/file_api.cpp)
|
||||||
set(SRC_FILES ${SRC_FILES} ./main.cpp)
|
set(SRC_FILES ${SRC_FILES} ./main.cpp)
|
||||||
|
|
||||||
set(Boost_USE_STATIC_LIBS ON)
|
set(SITARA_DEPOT ${CMAKE_SOURCE_DIR}/../../sitara_depot)
|
||||||
set(Boost_USE_STATIC_RUNTIME ON)
|
|
||||||
|
include(${SITARA_DEPOT}/compile/sitara_compile_flags.cmake)
|
||||||
|
|
||||||
|
# óáèðàåò ïðåäóïðåæäåíèÿ nlohman json î GCC7.1
|
||||||
|
add_compile_options(-Wno-psabi)
|
||||||
|
|
||||||
|
#set(Boost_USE_STATIC_LIBS ON)
|
||||||
|
#set(Boost_USE_STATIC_RUNTIME ON)
|
||||||
|
|
||||||
find_package(Boost 1.74.0)
|
find_package(Boost 1.74.0)
|
||||||
if(Boost_FOUND)
|
if(Boost_FOUND)
|
||||||
@ -32,13 +41,21 @@ endif()
|
|||||||
message("Boost dir: " ${Boost_INCLUDE_DIRS})
|
message("Boost dir: " ${Boost_INCLUDE_DIRS})
|
||||||
message("Boost libs:" ${Boost_LIBRARIES})
|
message("Boost libs:" ${Boost_LIBRARIES})
|
||||||
|
|
||||||
#Копирование тестового файла конфигурации устройства Profinet
|
add_executable(${TARGET_NAME} ./main.cpp ${SRC_FILES})
|
||||||
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sample_app_echo_config.json
|
|
||||||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
|
||||||
|
|
||||||
add_executable(pn_echo_test ./main.cpp ${SRC_FILES})
|
target_include_directories(${TARGET_NAME} PRIVATE
|
||||||
|
|
||||||
target_include_directories(pn_echo_test PRIVATE
|
|
||||||
./
|
./
|
||||||
${INC_DIRS}
|
${INC_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_link_libraries (${TARGET_NAME} PUBLIC ${Boost_LIBRARIES} pthread c rt)
|
||||||
|
|
||||||
|
install(
|
||||||
|
TARGETS ${TARGET_NAME}
|
||||||
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/sample_app_echo_config.json
|
||||||
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||||
|
)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"app_settings":
|
"app_settings":
|
||||||
{
|
{
|
||||||
"app_out_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_inp",
|
"app_out_pipe_name": "/home/root/pnet/profinet_io_dev_inp",
|
||||||
"app_inp_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_out"
|
"app_inp_pipe_name": "/home/root/pnet/profinet_io_dev_out"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,10 +24,10 @@ set(SITARA_DEPOT ${CMAKE_SOURCE_DIR}/../sitara_depot)
|
|||||||
|
|
||||||
include(${SITARA_DEPOT}/compile/sitara_compile_flags.cmake)
|
include(${SITARA_DEPOT}/compile/sitara_compile_flags.cmake)
|
||||||
|
|
||||||
# убирает предупреждения nlohman json о GCC7.1
|
# убирает предупреждения nlohman json о GCC7.1
|
||||||
add_compile_options(-Wno-psabi)
|
add_compile_options(-Wno-psabi)
|
||||||
|
|
||||||
#Если не собирается с ошибкой линкера undefined reference pthread, то добавить флаг линкера:
|
#Если не собирается с ошибкой линкера undefined reference pthread, то добавить флаг линкера:
|
||||||
#add_link_options(-lrt)
|
#add_link_options(-lrt)
|
||||||
add_executable(${TARGET_NAME} ./main.cpp ${SRC_FILES})
|
add_executable(${TARGET_NAME} ./main.cpp ${SRC_FILES})
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
|
|||||||
set(LIB_LIST profinet osal ${Boost_LIBRARIES})
|
set(LIB_LIST profinet osal ${Boost_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# убирает предупреждения nlohman json о GCC7.1
|
# убирает предупреждения nlohman json о GCC7.1
|
||||||
add_compile_options(-Wno-psabi)
|
add_compile_options(-Wno-psabi)
|
||||||
|
|
||||||
set(LIB_ARCH_DIR x86_64)
|
set(LIB_ARCH_DIR x86_64)
|
||||||
@ -56,7 +56,7 @@ endif()
|
|||||||
|
|
||||||
target_link_directories(${TARGET_NAME} PUBLIC ${LIBS_INSTALL_PATH}/lib/${LIB_ARCH_DIR})
|
target_link_directories(${TARGET_NAME} PUBLIC ${LIBS_INSTALL_PATH}/lib/${LIB_ARCH_DIR})
|
||||||
|
|
||||||
#Если не собирается с ошибкой линкера undefined reference pthread, то после ${Boost_LIBRARIES} добавить pthread или -lpthread:
|
#Если не собирается с ошибкой линкера undefined reference pthread, то после ${Boost_LIBRARIES} добавить pthread или -lpthread:
|
||||||
#target_link_libraries (${TARGET_NAME} PUBLIC profinet osal ${Boost_LIBRARIES} pthread)
|
#target_link_libraries (${TARGET_NAME} PUBLIC profinet osal ${Boost_LIBRARIES} pthread)
|
||||||
|
|
||||||
target_link_libraries (${TARGET_NAME} PUBLIC ${LIB_LIST} pthread c rt)
|
target_link_libraries (${TARGET_NAME} PUBLIC ${LIB_LIST} pthread c rt)
|
||||||
@ -67,13 +67,13 @@ install(
|
|||||||
)
|
)
|
||||||
|
|
||||||
install(FILES
|
install(FILES
|
||||||
# Копирование заглушки скрипта установки параметров сети.
|
# Копирование заглушки скрипта установки параметров сети.
|
||||||
# Если не копировать, то в недрах pnet после fork вызовется exit и
|
# Если не копировать, то в недрах pnet после fork вызовется exit и
|
||||||
# вызовутся деструкторы объектов, что может привести к непредвиденным последствиям.
|
# вызовутся деструкторы объектов, что может привести к непредвиденным последствиям.
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/set_network_parameters
|
${CMAKE_CURRENT_SOURCE_DIR}/set_network_parameters
|
||||||
#Копирование файла конфигурации
|
#Копирование файла конфигурации
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/program_configure.json
|
${CMAKE_CURRENT_SOURCE_DIR}/program_configure.json
|
||||||
#Копирование тестового файла конфигурации устройства Profinet
|
#Копирование тестового файла конфигурации устройства Profinet
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/profinet_device_configure.json
|
${CMAKE_CURRENT_SOURCE_DIR}/profinet_device_configure.json
|
||||||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||||
)
|
)
|
@ -8,7 +8,7 @@ bool App::Init(std::string profinet_config_file)
|
|||||||
ProfinetPipesSettings profinet_pipe_settings;
|
ProfinetPipesSettings profinet_pipe_settings;
|
||||||
|
|
||||||
/// Читаем настройки из файла
|
/// Читаем настройки из файла
|
||||||
if (!programconf_getProfinetSettings("program_configure.json", profinet_settings, profinet_pipe_settings))
|
if (!programconf_getProfinetSettings(profinet_config_file, profinet_settings, profinet_pipe_settings))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
{
|
{
|
||||||
"ticks_us": 1000,
|
"ticks_us": 1000,
|
||||||
"cyclic_ms": 100,
|
"cyclic_ms": 100,
|
||||||
"eth_dev_name": "enp6s1",
|
"eth_dev_name": "eth0",
|
||||||
"profinet_device_config": "profinet_device_configure.json",
|
"profinet_device_config": "profinet_device_configure.json",
|
||||||
"enable_pipes": true,
|
"enable_pipes": true,
|
||||||
"out_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_out",
|
"out_pipe_name": "/home/root/pnet/profinet_io_dev_out",
|
||||||
"inp_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_inp"
|
"inp_pipe_name": "/home/root/pnet/profinet_io_dev_inp"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user