[cmake] CPMUtil rewrite of the day number 852 (#4130)

Composite PR for several changes to CPMUtil, most notably:
- https://git.crueter.xyz/CMake/CPMUtil/pulls/19
- https://git.crueter.xyz/CMake/CPMUtil/pulls/22
- https://git.crueter.xyz/CMake/CPMUtil/pulls/24
- https://git.crueter.xyz/CMake/CPMUtil/pulls/25

These contain a lot of changes that generally simplify control flow and improve ease-of-use. Read those descriptions and patchsets for more info.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4130
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
This commit is contained in:
crueter
2026-07-06 23:11:39 +02:00
parent 4c65780f11
commit 66b073ab8d
45 changed files with 2306 additions and 2992 deletions
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/env -S cmake -P
# SPDX-FileCopyrightText: Copyright 2026 crueter
# SPDX-License-Identifier: LGPL-3.0-or-later
cmake_minimum_required(VERSION 3.31)
include(${CMAKE_CURRENT_LIST_DIR}/../ScriptUtils.cmake)
function(usage)
echo([=[
Usage: cpmutil.sh package rm [PACKAGE]...
Delete a package or packages' cpmfile definition.
]=])
endfunction()
set(NO_ALL TRUE)
parse_script_args(args)
get_cpmfile_content(object)
# Remove key
foreach(key ${args})
string(JSON object REMOVE "${object}" ${key})
endforeach()
# write
get_cpmfile_path(file)
file(WRITE ${file} "${object}")
format_cpmfile()