Set gRPC_INSTALL to ON by default for MSVC and OFF if a subproject

Now that gRPC_INSTALL is forced off if using bundled third-party
libraries, it no longer makes sense to set it OFF by default for MSVC.

However, we do want to set it OFF by default if gRPC is being built as a
subproject of another project.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a97b7a5..23f3748 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,8 +49,9 @@
 option(gRPC_BUILD_TESTS "Build tests" OFF)
 
 set(gRPC_INSTALL_default ON)
-if (MSVC)
-    set(gRPC_INSTALL_default OFF)
+if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+  # Disable gRPC_INSTALL by default if building as a submodule
+  set(gRPC_INSTALL_default OFF)
 endif()
 set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL
     "Generate installation target: gRPC_ZLIB_PROVIDER, gRPC_CARES_PROVIDER, gRPC_SSL_PROVIDER and gRPC_PROTOBUF_PROVIDER must all be \"package\"")