diff --git a/build.sh b/build.sh
index 7ce5a56f1eda831dcab33d5a6f54e25115dc8ef4..f9b9418d36d0fc80d78a107f11f9c6e2d1e0c3d0 100755
--- a/build.sh
+++ b/build.sh
@@ -113,6 +113,18 @@ fi
 
 . ${HERE}/targets/${BUILD_TARGET}.sh
 
+# Add -DBUILD_DIAGTOOL=ON if the target is windows
+if [ "$BUILD_TARGET" == "windows" ]; then
+    BUILD_OPTIONS[${#BUILD_OPTIONS[@]}]="-DBUILD_DIAGTOOL=ON"
+fi
+# Add -DBUILD_DIAGTOOL=ON the target is linux
+if [ "$BUILD_TARGET" == "linux" ]; then
+    BUILD_OPTIONS[${#BUILD_OPTIONS[@]}]="-DBUILD_DIAGTOOL=ON"
+fi
+# Add -DBUILD_DIAGTOOL=ON the target is osx
+if [ "$BUILD_TARGET" == "osx" ]; then
+    BUILD_OPTIONS[${#BUILD_OPTIONS[@]}]="-DBUILD_DIAGTOOL=ON"
+fi
 #all base logic from here
 mkdir -p ${BUILD_DIR}/build
 mkdir -p ${BUILD_DIR}/dist
@@ -136,4 +148,4 @@ echo "${CMAKE[@]} ${MHERE}/../ -DCREATE_DEFAULT_CONFIG=OFF ${BUILD_OPTIONS[@]}"
 export INSTALL_ROOT=${BUILD_DIR}/dist
 "${CMAKE[@]}" ${MHERE}/../ -DCREATE_DEFAULT_CONFIG=OFF ${BUILD_OPTIONS[@]}  
 "${MAKE[@]}"  -j $NPROC
-"${MAKE[@]}" install DESTDIR=${INSTALL_ROOT}
+"${MAKE[@]}" install DESTDIR=${INSTALL_ROOT}
\ No newline at end of file
diff --git a/packaging/osx.sh b/packaging/osx.sh
index 7be67b604d2ab0e3dfe9e6eaa112cea3366b27bf..7fb5e5961f5f98889d8aa3149585702e63dbe97d 100644
--- a/packaging/osx.sh
+++ b/packaging/osx.sh
@@ -114,6 +114,9 @@ PACK_LINUX()
 		rcodesign sign --code-signature-flags runtime \
 		--p12-file ${OSX_PKEY_INSTALLER} --p12-password ${OSX_PKEY_INSTALLER_PASS} \
 		${PAYLOAD_BUILD}/CellframeNode.app/Contents/MacOS/cellframe-node-config
+		rcodesign sign --code-signature-flags runtime \
+  		--p12-file ${OSX_PKEY_INSTALLER} --p12-password ${OSX_PKEY_INSTALLER_PASS} \
+  		${PAYLOAD_BUILD}/CellframeNode.app/Contents/MacOS/cellframe-diagtool
 	fi
 
 	cp ${PACKAGE_DIR}/preinstall ${SCRIPTS_BUILD}