diff --git a/CMakeLists.txt b/CMakeLists.txt
index 44b3fff3f6699f82de1df192d6980aa0f137c7b0..3892d9b94325f20b38d2f8a1b13099786e466d8c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -262,8 +262,10 @@ endif()
 
 # Option to activate or not simulation mode (use Simgrid through StarPU)
 # ----------------------------------------------------------------------
+cmake_dependent_option(CHAMELEON_SIMULATION
+"Enable simulation mode using Simgrid through StarPU" OFF
+"CHAMELEON_SCHED_STARPU" OFF)
 if(CHAMELEON_SCHED_STARPU)
-    option(CHAMELEON_SIMULATION "Enable simulation mode using Simgrid through StarPU" OFF)
     if (NOT CHAMELEON_SIMULATION)
         message("-- ${BoldGreen}CHAMELEON_SIMULATION is set to OFF, turn it ON to use"
             " SIMULATION mode (only with StarPU compiled with SimGrid)${ColourReset}")
@@ -529,6 +531,12 @@ if(NOT CHAMELEON_SIMULATION)
 
             morse_export_imported_target(HIP HIP hip chameleon)
             morse_export_imported_target(HIP HIPBLAS hipblas chameleon)
+            if (CHAMELEON_USE_HIP_ROC)
+                morse_export_imported_target(roc hipblas rochipblas chameleon)
+                morse_export_imported_target(hip host hiphost chameleon)
+                morse_export_imported_target(hip device hipdevice chameleon)
+                morse_export_imported_target(hip amdhip64 hipamdhip64 chameleon)
+            endif()
         else(HIP_FOUND)
             message(FATAL_ERROR "CHAMELEON_USE_HIP requires HIP to be found")
         endif (HIP_FOUND)
diff --git a/cmake_modules/CHAMELEONConfig.cmake.in b/cmake_modules/CHAMELEONConfig.cmake.in
index b1f50a43812a77f5e92319868cb5bb5ed9bf1db6..2346b326cbf320c2eb6ca3d556ff330b32448e8d 100644
--- a/cmake_modules/CHAMELEONConfig.cmake.in
+++ b/cmake_modules/CHAMELEONConfig.cmake.in
@@ -37,6 +37,16 @@ if (@CHAMELEON_USE_CUDA@ AND NOT @CHAMELEON_SIMULATION@)
   include("${CMAKE_CURRENT_LIST_DIR}/cudaTargets.cmake")
   include("${CMAKE_CURRENT_LIST_DIR}/cublasTargets.cmake")
 endif()
+if (@CHAMELEON_USE_HIP@ AND NOT @CHAMELEON_SIMULATION@)
+  include("${CMAKE_CURRENT_LIST_DIR}/hipTargets.cmake")
+  include("${CMAKE_CURRENT_LIST_DIR}/hipblasTargets.cmake")
+  if (@CHAMELEON_USE_HIP_ROC@)
+    include("${CMAKE_CURRENT_LIST_DIR}/rochipblasTargets.cmake")
+    include("${CMAKE_CURRENT_LIST_DIR}/hiphostTargets.cmake")
+    include("${CMAKE_CURRENT_LIST_DIR}/hipdeviceTargets.cmake")
+    include("${CMAKE_CURRENT_LIST_DIR}/hipamdhip64Targets.cmake")
+  endif()
+endif()
 
 # add the targets file
 if (@CHAMELEON_USE_HMATOSS@)
diff --git a/cmake_modules/GenPkgConfig.cmake b/cmake_modules/GenPkgConfig.cmake
index 4cdb04163484a6610d57bf769196b2e7bd4b2a8d..37bbfb8c1e4fccb932d5e4303bb268f3529c1359 100644
--- a/cmake_modules/GenPkgConfig.cmake
+++ b/cmake_modules/GenPkgConfig.cmake
@@ -128,10 +128,20 @@ MACRO(GENERATE_PKGCONFIG_FILE)
         list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${QUARK_LIBRARIES_DEP}")
     elseif(CHAMELEON_SCHED_STARPU)
         list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_starpu)
-        if ( CHAMELEON_USE_MPI )
-            list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpumpi-${CHAMELEON_STARPU_VERSION})
+        if ( CHAMELEON_SIMULATION )
+            # need PUBLIC here because simulation mode with starpu requires to replace the
+            # main function by a starpu main one
+            if ( CHAMELEON_USE_MPI )
+                list(APPEND CHAMELEON_PKGCONFIG_REQUIRED starpumpi-${CHAMELEON_STARPU_VERSION})
+            else()
+                list(APPEND CHAMELEON_PKGCONFIG_REQUIRED starpu-${CHAMELEON_STARPU_VERSION})
+            endif()
         else()
-            list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpu-${CHAMELEON_STARPU_VERSION})
+            if ( CHAMELEON_USE_MPI )
+                list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpumpi-${CHAMELEON_STARPU_VERSION})
+            else()
+                list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpu-${CHAMELEON_STARPU_VERSION})
+            endif()
         endif()
     endif()
 
diff --git a/gpuhipblas/compute/CMakeLists.txt b/gpuhipblas/compute/CMakeLists.txt
index abaa7b40a6df131c6349f0d75c96a5c9304009ce..3c6349e809d97fbdc117798ac58e91826047fa72 100644
--- a/gpuhipblas/compute/CMakeLists.txt
+++ b/gpuhipblas/compute/CMakeLists.txt
@@ -70,7 +70,8 @@ target_include_directories(gpuhipblas PUBLIC
   $<INSTALL_INTERFACE:include>)
 set_property(TARGET gpuhipblas PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
 
-target_link_libraries(gpuhipblas PRIVATE coreblas HIP::HIPBLAS)
+target_link_libraries(gpuhipblas PRIVATE coreblas)
+target_link_libraries(gpuhipblas PUBLIC HIP::HIPBLAS)
 target_link_libraries(gpuhipblas PUBLIC MORSE::M)
 
 # export target coreblas