aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2025-09-16 18:44:19 +0200
committercrueter <crueter@eden-emu.dev>2025-09-16 18:44:19 +0200
commit6699361b7e76590409ba973e28978ffe0e9cc143 (patch)
tree40ee6748a997aac74e9b049261241fb1ecdb4a01 /CMakeModules
parent19036c59b571056ac410d3ec46ca07cd08d28c9d (diff)
[cmake] fix freebsd and openbsd, remove CPMUtil Eden copyright (#496)
CPMUtil is technically a completely separate project created and maintained solely by me, so it should actually be copyrighted to me Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/496 Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'CMakeModules')
-rw-r--r--CMakeModules/CPMUtil.cmake23
1 files changed, 5 insertions, 18 deletions
diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake
index db9cce4c66..f76a16c103 100644
--- a/CMakeModules/CPMUtil.cmake
+++ b/CMakeModules/CPMUtil.cmake
@@ -1,17 +1,6 @@
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# SPDX-FileCopyrightText: Copyright 2025 crueter
# SPDX-License-Identifier: GPL-3.0-or-later
-# Created-By: crueter
-# Docs will come at a later date, mostly this is to just reduce boilerplate
-# and some cmake magic to allow for runtime viewing of dependency versions
-
-# Future crueter: Wow this was a lie and a half, at this point I might as well make my own CPN
-# haha just kidding... unless?
-
-# TODO(crueter): Remember to get more than 6 hours of sleep whenever making giant cmake changes
if (MSVC OR ANDROID)
set(BUNDLED_DEFAULT ON)
else()
@@ -27,6 +16,7 @@ option(CPMUTIL_FORCE_SYSTEM
cmake_minimum_required(VERSION 3.22)
include(CPM)
+# cpmfile parsing
set(CPMUTIL_JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cpmfile.json")
if (EXISTS ${CPMUTIL_JSON_FILE})
@@ -35,12 +25,11 @@ else()
message(WARNING "[CPMUtil] cpmfile ${CPMUTIL_JSON_FILE} does not exist, AddJsonPackage will be a no-op")
endif()
-# utility
+# Utility stuff
function(cpm_utils_message level name message)
message(${level} "[CPMUtil] ${name}: ${message}")
endfunction()
-# utility
function(array_to_list array length out)
math(EXPR range "${length} - 1")
@@ -53,7 +42,6 @@ function(array_to_list array length out)
set("${out}" "${NEW_LIST}" PARENT_SCOPE)
endfunction()
-# utility
function(get_json_element object out member default)
string(JSON out_type ERROR_VARIABLE err TYPE "${object}" ${member})
@@ -73,14 +61,13 @@ function(get_json_element object out member default)
set("${out}" "${outvar}" PARENT_SCOPE)
endfunction()
-# Kinda cancerous but whatever
+# The preferred usage
function(AddJsonPackage)
set(oneValueArgs
NAME
# these are overrides that can be generated at runtime, so can be defined separately from the json
DOWNLOAD_ONLY
- SYSTEM_PACKAGE
BUNDLED_PACKAGE
)
@@ -90,6 +77,7 @@ function(AddJsonPackage)
"${ARGN}")
list(LENGTH ARGN argnLength)
+
# single name argument
if(argnLength EQUAL 1)
set(JSON_NAME "${ARGV0}")
@@ -199,7 +187,6 @@ function(AddJsonPackage)
endif()
set(options ${options} ${JSON_OPTIONS})
-
# end options
# system/bundled
@@ -241,7 +228,7 @@ endfunction()
function(AddPackage)
cpm_set_policies()
- # TODO(crueter): docs, git clone
+ # TODO(crueter): git clone?
#[[
URL configurations, descending order of precedence: