2024-02-04 23:42:51 -05:00
# generated from catkin/cmake/template/pkgConfig.cmake.in
# append elements to a list and remove existing duplicates from the list
# copied from catkin/cmake/list_append_deduplicate.cmake to keep pkgConfig
# self contained
macro ( _list_append_deduplicate listname )
if ( NOT "${ARGN}" STREQUAL "" )
if ( ${ listname } )
list ( REMOVE_ITEM ${ listname } ${ ARGN } )
endif ( )
list ( APPEND ${ listname } ${ ARGN } )
endif ( )
endmacro ( )
# append elements to a list if they are not already in the list
# copied from catkin/cmake/list_append_unique.cmake to keep pkgConfig
# self contained
macro ( _list_append_unique listname )
foreach ( _item ${ ARGN } )
list ( FIND ${ listname } ${ _item } _index )
if ( _index EQUAL -1 )
list ( APPEND ${ listname } ${ _item } )
endif ( )
endforeach ( )
endmacro ( )
# pack a list of libraries with optional build configuration keywords
# copied from catkin/cmake/catkin_libraries.cmake to keep pkgConfig
# self contained
macro ( _pack_libraries_with_build_configuration VAR )
set ( ${ VAR } "" )
set ( _argn ${ ARGN } )
list ( LENGTH _argn _count )
set ( _index 0 )
while ( ${ _index } LESS ${ _count } )
list ( GET _argn ${ _index } lib )
if ( "${lib}" MATCHES "^(debug|optimized|general)$" )
math ( EXPR _index "${_index} + 1" )
if ( ${ _index } EQUAL ${ _count } )
message ( FATAL_ERROR "_pack_libraries_with_build_configuration() the list of libraries '${ARGN}' ends with '${lib}' which is a build configuration keyword and must be followed by a library" )
endif ( )
list ( GET _argn ${ _index } library )
list ( APPEND ${ VAR } "${lib}${CATKIN_BUILD_CONFIGURATION_KEYWORD_SEPARATOR}${library}" )
else ( )
list ( APPEND ${ VAR } "${lib}" )
endif ( )
math ( EXPR _index "${_index} + 1" )
endwhile ( )
endmacro ( )
# unpack a list of libraries with optional build configuration keyword prefixes
# copied from catkin/cmake/catkin_libraries.cmake to keep pkgConfig
# self contained
macro ( _unpack_libraries_with_build_configuration VAR )
set ( ${ VAR } "" )
foreach ( lib ${ ARGN } )
string ( REGEX REPLACE "^(debug|optimized|general)${CATKIN_BUILD_CONFIGURATION_KEYWORD_SEPARATOR}(.+)$" "\\1;\\2" lib "${lib}" )
list ( APPEND ${ VAR } "${lib}" )
endforeach ( )
endmacro ( )
if ( tutorial_pkg_CONFIG_INCLUDED )
return ( )
endif ( )
set ( tutorial_pkg_CONFIG_INCLUDED TRUE )
# set variables for source/devel/install prefixes
if ( "TRUE" STREQUAL "TRUE" )
set ( tutorial_pkg_SOURCE_PREFIX /home/husarion/ros_ws/src/tutorial_pkg )
set ( tutorial_pkg_DEVEL_PREFIX /home/husarion/ros_ws/devel )
set ( tutorial_pkg_INSTALL_PREFIX "" )
set ( tutorial_pkg_PREFIX ${ tutorial_pkg_DEVEL_PREFIX } )
else ( )
set ( tutorial_pkg_SOURCE_PREFIX "" )
set ( tutorial_pkg_DEVEL_PREFIX "" )
set ( tutorial_pkg_INSTALL_PREFIX /home/husarion/ros_ws/install )
set ( tutorial_pkg_PREFIX ${ tutorial_pkg_INSTALL_PREFIX } )
endif ( )
# warn when using a deprecated package
if ( NOT "" STREQUAL "" )
set ( _msg "WARNING: package 'tutorial_pkg' is deprecated" )
# append custom deprecation text if available
if ( NOT "" STREQUAL "TRUE" )
set ( _msg "${_msg} ()" )
endif ( )
message ( "${_msg}" )
endif ( )
# flag project as catkin-based to distinguish if a find_package()-ed project is a catkin project
set ( tutorial_pkg_FOUND_CATKIN_PROJECT TRUE )
if ( NOT " " STREQUAL " " )
set ( tutorial_pkg_INCLUDE_DIRS "" )
set ( _include_dirs "" )
if ( NOT " " STREQUAL " " )
set ( _report "Check the issue tracker '' and consider creating a ticket if the problem has not been reported yet." )
elseif ( NOT " " STREQUAL " " )
set ( _report "Check the website '' for information and consider reporting the problem." )
else ( )
set ( _report "Report the problem to the maintainer 'husarion <husarion@todo.todo>' and request to fix the problem." )
endif ( )
foreach ( idir ${ _include_dirs } )
if ( IS_ABSOLUTE ${ idir } AND IS_DIRECTORY ${ idir } )
set ( include ${ idir } )
elseif ( "${idir} " STREQUAL "include " )
get_filename_component ( include "${tutorial_pkg_DIR}/../../../include" ABSOLUTE )
if ( NOT IS_DIRECTORY ${ include } )
message ( FATAL_ERROR "Project 'tutorial_pkg' specifies '${idir}' as an include dir, which is not found. It does not exist in '${include}'. ${_report}" )
endif ( )
else ( )
message ( FATAL_ERROR "Project 'tutorial_pkg' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '/home/husarion/ros_ws/src/tutorial_pkg/${idir}'. ${_report}" )
endif ( )
_list_append_unique ( tutorial_pkg_INCLUDE_DIRS ${ include } )
endforeach ( )
endif ( )
set ( libraries "" )
foreach ( library ${ libraries } )
# keep build configuration keywords, target names and absolute libraries as-is
if ( "${library}" MATCHES "^(debug|optimized|general)$" )
list ( APPEND tutorial_pkg_LIBRARIES ${ library } )
elseif ( ${ library } MATCHES "^-l" )
list ( APPEND tutorial_pkg_LIBRARIES ${ library } )
elseif ( ${ library } MATCHES "^-" )
# This is a linker flag/option (like -pthread)
# There's no standard variable for these, so create an interface library to hold it
if ( NOT tutorial_pkg_NUM_DUMMY_TARGETS )
set ( tutorial_pkg_NUM_DUMMY_TARGETS 0 )
endif ( )
# Make sure the target name is unique
set ( interface_target_name "catkin::tutorial_pkg::wrapped-linker-option${tutorial_pkg_NUM_DUMMY_TARGETS}" )
while ( TARGET "${interface_target_name}" )
math ( EXPR tutorial_pkg_NUM_DUMMY_TARGETS "${tutorial_pkg_NUM_DUMMY_TARGETS}+1" )
set ( interface_target_name "catkin::tutorial_pkg::wrapped-linker-option${tutorial_pkg_NUM_DUMMY_TARGETS}" )
endwhile ( )
add_library ( "${interface_target_name}" INTERFACE IMPORTED )
if ( "${CMAKE_VERSION}" VERSION_LESS "3.13.0" )
set_property (
T A R G E T
" $ { i n t e r f a c e _ t a r g e t _ n a m e } "
A P P E N D P R O P E R T Y
I N T E R F A C E _ L I N K _ L I B R A R I E S " $ { l i b r a r y } " )
else ( )
target_link_options ( "${interface_target_name}" INTERFACE "${library}" )
endif ( )
list ( APPEND tutorial_pkg_LIBRARIES "${interface_target_name}" )
elseif ( TARGET ${ library } )
list ( APPEND tutorial_pkg_LIBRARIES ${ library } )
elseif ( IS_ABSOLUTE ${ library } )
list ( APPEND tutorial_pkg_LIBRARIES ${ library } )
else ( )
set ( lib_path "" )
set ( lib "${library}-NOTFOUND" )
# since the path where the library is found is returned we have to iterate over the paths manually
2024-02-05 02:17:28 -05:00
foreach ( path /home/husarion/ros_ws/devel/lib;/home/husarion/ros_ws/devel/lib;/home/husarion/husarion_ws/devel/lib;/opt/ros/melodic/lib )
2024-02-04 23:42:51 -05:00
find_library ( lib ${ library }
P A T H S $ { p a t h }
N O _ D E F A U L T _ P A T H N O _ C M A K E _ F I N D _ R O O T _ P A T H )
if ( lib )
set ( lib_path ${ path } )
break ( )
endif ( )
endforeach ( )
if ( lib )
_list_append_unique ( tutorial_pkg_LIBRARY_DIRS ${ lib_path } )
list ( APPEND tutorial_pkg_LIBRARIES ${ lib } )
else ( )
# as a fall back for non-catkin libraries try to search globally
find_library ( lib ${ library } )
if ( NOT lib )
message ( FATAL_ERROR "Project '${PROJECT_NAME}' tried to find library '${library}'. The library is neither a target nor built/installed properly. Did you compile project 'tutorial_pkg'? Did you find_package() it before the subdirectory containing its code is included?" )
endif ( )
list ( APPEND tutorial_pkg_LIBRARIES ${ lib } )
endif ( )
endif ( )
endforeach ( )
set ( tutorial_pkg_EXPORTED_TARGETS "" )
# create dummy targets for exported code generation targets to make life of users easier
foreach ( t ${ tutorial_pkg_EXPORTED_TARGETS } )
if ( NOT TARGET ${ t } )
add_custom_target ( ${ t } )
endif ( )
endforeach ( )
set ( depends "" )
foreach ( depend ${ depends } )
string ( REPLACE " " ";" depend_list ${ depend } )
# the package name of the dependency must be kept in a unique variable so that it is not overwritten in recursive calls
list ( GET depend_list 0 tutorial_pkg_dep )
list ( LENGTH depend_list count )
if ( ${ count } EQUAL 1 )
# simple dependencies must only be find_package()-ed once
if ( NOT ${ tutorial_pkg_dep } _FOUND )
find_package ( ${ tutorial_pkg_dep } REQUIRED NO_MODULE )
endif ( )
else ( )
# dependencies with components must be find_package()-ed again
list ( REMOVE_AT depend_list 0 )
find_package ( ${ tutorial_pkg_dep } REQUIRED NO_MODULE ${ depend_list } )
endif ( )
_list_append_unique ( tutorial_pkg_INCLUDE_DIRS ${ ${tutorial_pkg_dep } _INCLUDE_DIRS} )
# merge build configuration keywords with library names to correctly deduplicate
_pack_libraries_with_build_configuration ( tutorial_pkg_LIBRARIES ${ tutorial_pkg_LIBRARIES } )
_pack_libraries_with_build_configuration ( _libraries ${ ${tutorial_pkg_dep } _LIBRARIES} )
_list_append_deduplicate ( tutorial_pkg_LIBRARIES ${ _libraries } )
# undo build configuration keyword merging after deduplication
_unpack_libraries_with_build_configuration ( tutorial_pkg_LIBRARIES ${ tutorial_pkg_LIBRARIES } )
_list_append_unique ( tutorial_pkg_LIBRARY_DIRS ${ ${tutorial_pkg_dep } _LIBRARY_DIRS} )
list ( APPEND tutorial_pkg_EXPORTED_TARGETS ${ ${tutorial_pkg_dep } _EXPORTED_TARGETS} )
endforeach ( )
set ( pkg_cfg_extras "" )
foreach ( extra ${ pkg_cfg_extras } )
if ( NOT IS_ABSOLUTE ${ extra } )
set ( extra ${ tutorial_pkg_DIR } / ${ extra } )
endif ( )
include ( ${ extra } )
endforeach ( )