mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-08-16 05:21:22 +00:00
66b073ab8d
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>
36 lines
748 B
CMake
Executable File
36 lines
748 B
CMake
Executable File
#!/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 which [PACKAGE]...
|
|
|
|
Check if a package or packages are defined in the cpmfile.
|
|
]=])
|
|
endfunction()
|
|
|
|
set(NO_ALL TRUE)
|
|
parse_script_args(args)
|
|
set(exit 0)
|
|
|
|
get_cpmfile_content(object)
|
|
|
|
foreach(key ${args})
|
|
# Check if a key exists
|
|
string(JSON member ERROR_VARIABLE err GET "${object}" ${key})
|
|
|
|
if (NOT err)
|
|
echo("${key}")
|
|
else()
|
|
echo_error("${key} not defined in cpmfile")
|
|
set(exit 1)
|
|
endif()
|
|
endforeach()
|
|
|
|
cmake_language(EXIT ${exit}) |