minecraft-pi-reborn/cmake/util/util.cmake
TheBrokenRail 91ff082c97
All checks were successful
Build / Build (AMD64, Server) (push) Successful in 9m39s
Build / Build (AMD64, Client) (push) Successful in 9m57s
Build / Build (ARM64, Server) (push) Successful in 8m59s
Build / Build (ARM64, Client) (push) Successful in 9m17s
Build / Build (ARMHF, Server) (push) Successful in 6m35s
Build / Build (ARMHF, Client) (push) Successful in 8m47s
Build / Test (Server) (push) Successful in 11m17s
Build / Release (push) Has been skipped
Build / Test (Client) (push) Successful in 16m22s
Create AppImages Using CPack
2024-01-20 02:10:18 -05:00

34 lines
1.3 KiB
CMake

# Symlink Function
function(install_symlink target link)
get_filename_component(parent "${link}" DIRECTORY)
if(parent STREQUAL "")
set(parent ".")
endif()
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/symlink/${parent}")
file(CREATE_LINK "${target}" "${CMAKE_BINARY_DIR}/symlink/${link}" SYMBOLIC)
install(FILES "${CMAKE_BINARY_DIR}/symlink/${link}" DESTINATION "${parent}")
endfunction()
# Embed Resources
set(util_list_dir "${CMAKE_CURRENT_LIST_DIR}")
function(embed_resource target file)
# Get C Name
get_filename_component(name "${file}" NAME)
string(MAKE_C_IDENTIFIER "${name}" name)
# Add Command
add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${name}.c"
COMMAND "${CMAKE_COMMAND}"
ARGS "-DEMBED_IN=${CMAKE_CURRENT_SOURCE_DIR}/${file}" "-DEMBED_OUT=${CMAKE_CURRENT_BINARY_DIR}/${name}.c" "-P" "${util_list_dir}/embed-resource.cmake"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${file}" "${util_list_dir}/embed-resource.cmake"
)
# Add To Target
target_sources("${target}" PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/${name}.c")
endfunction()
# Nicer Output
function(message log_level)
if((NOT MESSAGE_QUIET) OR (NOT (log_level STREQUAL "STATUS" OR log_level MATCHES "^CHECK_")))
_message("${log_level}" ${ARGN})
endif()
endfunction()