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)
|
||||
|
||||
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/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} ./main.cpp)
|
||||
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(Boost_USE_STATIC_RUNTIME ON)
|
||||
set(SITARA_DEPOT ${CMAKE_SOURCE_DIR}/../../sitara_depot)
|
||||
|
||||
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)
|
||||
if(Boost_FOUND)
|
||||
@ -32,13 +41,21 @@ endif()
|
||||
message("Boost dir: " ${Boost_INCLUDE_DIRS})
|
||||
message("Boost libs:" ${Boost_LIBRARIES})
|
||||
|
||||
#Копирование тестового файла конфигурации устройства Profinet
|
||||
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sample_app_echo_config.json
|
||||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
||||
add_executable(${TARGET_NAME} ./main.cpp ${SRC_FILES})
|
||||
|
||||
add_executable(pn_echo_test ./main.cpp ${SRC_FILES})
|
||||
|
||||
target_include_directories(pn_echo_test PRIVATE
|
||||
target_include_directories(${TARGET_NAME} PRIVATE
|
||||
./
|
||||
${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_out_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_inp",
|
||||
"app_inp_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_out"
|
||||
"app_out_pipe_name": "/home/root/pnet/profinet_io_dev_inp",
|
||||
"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)
|
||||
|
||||
# убирает предупреждения nlohman json о GCC7.1
|
||||
# убирает предупреждения nlohman json о GCC7.1
|
||||
add_compile_options(-Wno-psabi)
|
||||
|
||||
#Если не собирается с ошибкой линкера undefined reference pthread, то добавить флаг линкера:
|
||||
#Если не собирается с ошибкой линкера undefined reference pthread, то добавить флаг линкера:
|
||||
#add_link_options(-lrt)
|
||||
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})
|
||||
endif()
|
||||
|
||||
# убирает предупреждения nlohman json о GCC7.1
|
||||
# убирает предупреждения nlohman json о GCC7.1
|
||||
add_compile_options(-Wno-psabi)
|
||||
|
||||
set(LIB_ARCH_DIR x86_64)
|
||||
@ -56,7 +56,7 @@ endif()
|
||||
|
||||
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 ${LIB_LIST} pthread c rt)
|
||||
@ -67,13 +67,13 @@ install(
|
||||
)
|
||||
|
||||
install(FILES
|
||||
# Копирование заглушки скрипта установки параметров сети.
|
||||
# Если не копировать, то в недрах pnet после fork вызовется exit и
|
||||
# вызовутся деструкторы объектов, что может привести к непредвиденным последствиям.
|
||||
# Копирование заглушки скрипта установки параметров сети.
|
||||
# Если не копировать, то в недрах pnet после fork вызовется exit и
|
||||
# вызовутся деструкторы объектов, что может привести к непредвиденным последствиям.
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/set_network_parameters
|
||||
#Копирование файла конфигурации
|
||||
#Копирование файла конфигурации
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/program_configure.json
|
||||
#Копирование тестового файла конфигурации устройства Profinet
|
||||
#Копирование тестового файла конфигурации устройства Profinet
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/profinet_device_configure.json
|
||||
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
)
|
@ -8,7 +8,7 @@ bool App::Init(std::string profinet_config_file)
|
||||
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;
|
||||
}
|
||||
|
@ -3,10 +3,10 @@
|
||||
{
|
||||
"ticks_us": 1000,
|
||||
"cyclic_ms": 100,
|
||||
"eth_dev_name": "enp6s1",
|
||||
"eth_dev_name": "eth0",
|
||||
"profinet_device_config": "profinet_device_configure.json",
|
||||
"enable_pipes": true,
|
||||
"out_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_out",
|
||||
"inp_pipe_name": "/home/svad/Projects/profinet_io_dev/profinet_io_dev_inp"
|
||||
"out_pipe_name": "/home/root/pnet/profinet_io_dev_out",
|
||||
"inp_pipe_name": "/home/root/pnet/profinet_io_dev_inp"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user