How to add resource file to catkin_ws using Qt5 & CMake

asked 2020-05-06 16:10:31 -0500

RayROS gravatar image

I have been trying to include in my CMake file a resource folder on Qt5 to populate mu GUI with icons. Project compiles but when I launch the GUI, there are no icons, which means that catkin_make does not see correctly the resource folder:

Belwo is my CMAKE file:

cmake_minimum_required(VERSION 2.8.3)
project(lidar_deck_gui)
add_compile_options(-std=c++11)
find_package(catkin REQUIRED COMPONENTS 
  roscpp
  pcl_conversions
  pcl_ros
  std_msgs
  lidar_boat_detection
  rviz
)
### QT stuff 

set(CMAKE_AUTOMOC ON)  
set(CMAKE_AUTORCC ON)  
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5PrintSupport)
#find all the qt UI stuff
file(GLOB UI
    "src/filterPCDInterface/*.ui"
)

message("Adding filter_interface UI files: " )
foreach(source ${UI})
    message("  - " ${source})
endforeach(source)

#make them into headers
qt5_wrap_ui (MB_UI_HDRS  ${UI})

message("Generating filter_interface UI Headers: " )
foreach(source ${MB_UI_HDRS})
    message("  - " ${source})
endforeach(source)

# Generate resources 
qt5_add_resources(RESOURCES_RCC ${RESOURCE})
include_directories(include ${catkin_INCLUDE_DIRS})

file(GLOB UI
    "ui/*.ui"
)

file(GLOB SRCS
    "src/filterPCDInterface/*.h"
    "src/filterPCDInterface/*.cpp"
    "src/filterPCDInterface/*.hpp"
)

file(GLOB QT_SRCS
    "src/filterPCDInterface/*.h"
    "src/filterPCDInterface/*.cpp"
    "src/filterPCDInterface/*.hpp"
)

file(GLOB RESOURCES_RCC
    "src/filterPCDInterface/qrc/res/*.png"
)

## Declare a catkin package
catkin_package()

add_executable(filterpcdinterface ${MB_UI_HDRS} ${QT_SRCS} ${SRCS} ${RESOURCE})
target_link_libraries(filterpcdinterface  Qt5::Widgets  Qt5::PrintSupport Qt5::Core ${catkin_LIBRARIES} ${PCL_LIBRARIES} )

Any help is greatly appreciated to solve this issue

edit retag flag offensive close merge delete