Update minimum required CMake to 3.17.2 (#5041)

* Update minimum required CMake to 3.17.2

- For Wasm build, update to emscripten/emsdk:3.1.28 which has 3.22.1
- Move the docker-compose.yml down to the source/wasm directory.

Fixes: #5040

* Fix working directory for invocation of wasm build
diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml
index d9a9c5c..008a867 100644
--- a/.github/workflows/wasm.yml
+++ b/.github/workflows/wasm.yml
@@ -9,6 +9,6 @@
     steps:
       - uses: actions/checkout@v2
       - name: Build web
-        run: docker-compose up
+        run: docker-compose -f source/wasm/docker-compose.yml --project-directory . up
       - name: Run tests
         run: node test/wasm/test.js
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 63eeae8..f9bfb4a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-cmake_minimum_required(VERSION 2.8.12)
+cmake_minimum_required(VERSION 3.17.2)
 if (POLICY CMP0048)
   cmake_policy(SET CMP0048 NEW)
 endif()
diff --git a/docker-compose.yml b/source/wasm/docker-compose.yml
similarity index 83%
rename from docker-compose.yml
rename to source/wasm/docker-compose.yml
index fb6d114..2340fdb 100644
--- a/docker-compose.yml
+++ b/source/wasm/docker-compose.yml
@@ -1,7 +1,7 @@
 version: "3"
 services:
   build:
-    image: emscripten/emsdk:2.0.2
+    image: emscripten/emsdk:3.1.28
     environment:
       GITHUB_RUN_NUMBER: ${GITHUB_RUN_NUMBER:-}
     working_dir: /app