From 8112b29761abd540b2aa25b8760d6b88797810f5 Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Fri, 5 Jul 2024 15:47:49 -0400
Subject: [PATCH] contrib: remove pywinmake submodule

The submodule may need frequent bumps and should be managed
separately as a build tool by developers. This commit also adjusts
the CMakeLists.txt to restrict the generated build configurations
on Windows to only "Release" because as this is the only config
that is currently used and functional (PDBs are generated and other
debug mechanisms can be activated as needed).

Build instructions are added to the README.

Gitlab: #1027
Change-Id: I367a6ded1a53056bc862c37d8e64417415cc339f
---
 .gitmodules              |  4 ----
 CMakeLists.txt           |  3 ++-
 README.md                | 20 ++++++++++++++++++++
 extras/scripts/pywinmake |  1 -
 4 files changed, 22 insertions(+), 6 deletions(-)
 delete mode 160000 extras/scripts/pywinmake

diff --git a/.gitmodules b/.gitmodules
index d1f7bea6d2..e69de29bb2 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +0,0 @@
-[submodule "extras/scripts/pywinmake"]
-	path = extras/scripts/pywinmake
-	url = https://review.jami.net/pywinmake
-	branch = master
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dd6310e72d..b3969d14f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -351,6 +351,8 @@ if(MSVC)
    # Target
    ################################################################################
    include("CMake/Utils.cmake")
+   # Only generate Release configuration
+   set(CMAKE_CONFIGURATION_TYPES "Release" CACHE STRING "Limited configurations" FORCE)
    use_props(${PROJECT_NAME} "${CMAKE_CONFIGURATION_TYPES}" "${DEFAULT_CXX_PROPS}")
 
    ################################################################################
@@ -361,7 +363,6 @@ if(MSVC)
 
    # Supress generation of ZERO_CHECK
    set(CMAKE_SUPPRESS_REGENERATION true)
-   set(ROOT_NAMESPACE ringdaemon)
 
    ################################################################################
    # Output directory
diff --git a/README.md b/README.md
index b6f1fe4d5a..8e10f0418b 100644
--- a/README.md
+++ b/README.md
@@ -168,6 +168,26 @@ Or, use your favorite package manager to install the necessary tools
 (macports or brew):
 `automake pkg-config libtool gettext yasm`
 
+How to compile on Windows
+----
+
+First, obtain and install `pywinmake` which is used to build the dependencies.
+
+```bash
+git clone "https://review.jami.net/pywinmake"
+cd pywinmake
+python -m pip install .
+```
+
+The rest of the build process uses CMake.
+
+```bash
+mkdir build
+cd build
+cmake ..
+cmake --build . --config Release
+```
+
 # Compile the dependencies
 ```bash
 cd contrib
diff --git a/extras/scripts/pywinmake b/extras/scripts/pywinmake
deleted file mode 160000
index 1a4b65ddfa..0000000000
--- a/extras/scripts/pywinmake
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1a4b65ddfa2f528a3680e27120bbb8510dba28d6
-- 
GitLab