diff --git a/CMake/OTBModuleMacros.cmake b/CMake/OTBModuleMacros.cmake
index abcd1cae022458f3c178b549ff7dc862940d04cd..50f7d398733b50f0743c1c1f8325250b3d8056ba 100644
--- a/CMake/OTBModuleMacros.cmake
+++ b/CMake/OTBModuleMacros.cmake
@@ -240,14 +240,17 @@ macro(otb_module_target_label _target_name)
 endmacro()
 
 macro(otb_module_target_name _name)
-  set_property(TARGET ${_name} PROPERTY VERSION 1)
-  set_property(TARGET ${_name} PROPERTY SOVERSION 1)
-  if("${_name}" MATCHES "^[Oo][Tt][Bb]")
-    set(_otb "")
-  else()
-    set(_otb "otb")
+  get_property(_target_type TARGET ${_name} PROPERTY TYPE)
+  if (NOT ${_target_type} STREQUAL "EXECUTABLE")
+    set_property(TARGET ${_name} PROPERTY VERSION 1)
+    set_property(TARGET ${_name} PROPERTY SOVERSION 1)
+    if("${_name}" MATCHES "^[Oo][Tt][Bb]")
+      set(_otb "")
+    else()
+      set(_otb "otb")
+    endif()
+    set_property(TARGET ${_name} PROPERTY OUTPUT_NAME ${_otb}${_name}-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
   endif()
-  set_property(TARGET ${_name} PROPERTY OUTPUT_NAME ${_otb}${_name}-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR})
 endmacro()
 
 macro(otb_module_target_export _name)