diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f3c2e2485dce0054ba5f80c4dcb854b5c823839..b8a12b6d9465ff2c927d55f5a0511d8154c70c50 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1146,5 +1146,14 @@ INCLUDE(CPack)
 
 ENDIF(OTB_USE_CPACK)
 
+FILE(GLOB otbconfigfileCreation_SRCS "${OTB_SOURCE_DIR}/CMake/GenerateConfigProperties.cpp")
+SET(otbconfigfile_DEFAULT "${OTB_BINARY_DIR}/otb.conf")
 
-          ARGS "${otbconfigfile_DEFAULT}" "${OTB_STREAM_IMAGE_SIZE_TO_ACTIVATE_STREAMING}" "${OTB_STREAM_MAX_SIZE_BUFFER_FOR_STREAMING}"
\ No newline at end of file
+ADD_EXECUTABLE(GenerateConfigProperties ${otbconfigfileCreation_SRCS})
+
+ADD_CUSTOM_COMMAND(
+          TARGET GenerateConfigProperties
+          POST_BUILD
+          COMMAND GenerateConfigProperties
+          ARGS "${otbconfigfile_DEFAULT}" "${OTB_STREAM_IMAGE_SIZE_TO_ACTIVATE_STREAMING}" "${OTB_STREAM_MAX_SIZE_BUFFER_FOR_STREAMING}"
+          COMMENT "Generating ${otbconfigfile_DEFAULT}" )
\ No newline at end of file