git commit -m "first commit"

This commit is contained in:
2026-05-28 10:29:58 +07:00
commit 167c52aeb6
2048 changed files with 740251 additions and 0 deletions

141
navigations/navfn/CMakeLists.txt Executable file
View File

@@ -0,0 +1,141 @@
cmake_minimum_required(VERSION 3.0.2)
project(navfn)
include(CheckIncludeFile)
find_package(catkin REQUIRED
COMPONENTS
cmake_modules
costmap_2d
geometry_msgs
message_generation
nav_core
nav_msgs
pluginlib
rosconsole
roscpp
tf2_ros
sensor_msgs
visualization_msgs
)
find_package(Eigen3 REQUIRED)
include_directories(
include
${catkin_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIRS}
)
add_definitions(${EIGEN3_DEFINITIONS})
# services
add_service_files(
DIRECTORY srv
FILES
MakeNavPlan.srv
SetCostmap.srv
)
generate_messages(
DEPENDENCIES
geometry_msgs
)
catkin_package(
INCLUDE_DIRS
include
LIBRARIES
navfn
CATKIN_DEPENDS
geometry_msgs
message_runtime
nav_core
nav_msgs
pluginlib
roscpp
sensor_msgs
visualization_msgs
)
check_include_file(sys/time.h HAVE_SYS_TIME_H)
if (HAVE_SYS_TIME_H)
add_definitions(-DHAVE_SYS_TIME_H)
endif (HAVE_SYS_TIME_H)
add_library (navfn src/navfn.cpp src/navfn_ros.cpp)
target_link_libraries(navfn
${catkin_LIBRARIES}
)
add_dependencies(navfn ${PROJECT_NAME}_generate_messages_cpp ${catkin_EXPORTED_TARGETS})
add_executable(navfn_node src/navfn_node.cpp)
target_link_libraries(navfn_node
navfn
)
install(TARGETS navfn_node
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS navfn
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
)
install(DIRECTORY include/navfn/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
install(FILES bgp_plugin.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
### The problem with FindFLTK is that it only reports success if *all*
### fltk components are installed, but we only need the core library.
# include (FindFLTK)
include (CheckIncludeFileCXX)
check_include_file_cxx (FL/Fl.H NAVFN_HAVE_FLTK)
check_include_file_cxx (pgm.h NAVFN_HAVE_NETPBM)
message (STATUS "NAVFN_HAVE_FLTK: ${NAVFN_HAVE_FLTK}, NETPBM: ${NAVFN_HAVE_NETPBM}")
# Just linking -lfltk is not sufficient on OS X
if (NAVFN_HAVE_FLTK AND NAVFN_HAVE_NETPBM AND NOT APPLE)
message (STATUS "FLTK found: adding navtest to build")
add_executable (navtest src/navtest/navtest.cpp src/navtest/navwin.cpp)
set (FLTK_SKIP_FLUID 1)
set (FLTK_SKIP_FORMS 1)
set (FLTK_SKIP_IMAGES 1)
find_package(FLTK)
if(FLTK_FOUND)
target_link_libraries (navtest navfn netpbm ${FLTK_LIBRARIES})
else (FLTK_FOUND)
target_link_libraries (navtest navfn netpbm fltk)
endif (FLTK_FOUND)
else (NAVFN_HAVE_FLTK)
message (STATUS "FLTK orf NETPBM not found: cannot build navtest")
endif (NAVFN_HAVE_FLTK AND NAVFN_HAVE_NETPBM AND NOT APPLE)
### For some reason (on cmake-2.4.7 at least) the "check" for pgm.h
### always succeeds, even if pgm.h is not installed. It seems to be
### caused by a bug in the rule that attempts to build the C source:
### instead of directly calling e.g. 'gcc -c
### /CMakeFiles/CMakeTmp/CheckIncludeFile.c' it goes through some make
### infrastructure, which reports "Nothing to be done for
### `CMakeFiles/cmTryCompileExec.dir/build'" and calls that a success.
###
### As a workaround we simply force everyone to install libnetpbm
#
# include (CheckIncludeFile)
# check_include_file (pgm.h NAVFN_HAVE_NETPBM)
# message (STATUS "NAVFN_HAVE_NETPBM: ${NAVFN_HAVE_NETPBM}")
# if (NAVFN_HAVE_NETPBM)
# message (STATUS "found pgm.h")
# add_definitions (-DNAVFN_HAVE_NETPBM)
#target_link_libraries (navfn -lnetpbm)
# else (NAVFN_HAVE_NETPBM)
# message (STATUS "pgm.h not found (optional)")
# endif (NAVFN_HAVE_NETPBM)
if(CATKIN_ENABLE_TESTING)
add_subdirectory(test)
endif()