mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-19 13:29:54 +00:00
49 lines
1.5 KiB
CMake
49 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.28.3)
|
|
project(_______)
|
|
include(FindPackageHandleStandardArgs)
|
|
option(DEBUG "Debug mode" ON)
|
|
option(SANITIZERS "Enable sanitizers" OFF)
|
|
option(NATIVE "Use native instructions(for local use only)" OFF)
|
|
set(CMAKE_DISABLE_IN_SOURCE_BUILD TRUE)
|
|
set(VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION "5.1.2600.0")
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(EMBEDDED_INPUT
|
|
assets/icon.png
|
|
)
|
|
|
|
## Process Embeddeds ##
|
|
find_program(XXD_EXE
|
|
NAMES xxd xxd.exe
|
|
DOC "Location of the xxd executable"
|
|
HINTS
|
|
ENV PATH
|
|
/usr/bin /usr/local/bin .
|
|
)
|
|
|
|
macro(ProcessWithXXD outvar inputfile outdir)
|
|
get_filename_component(basefile ${inputfile} NAME)
|
|
set(outputfile ${outdir}/${basefile}.xxd)
|
|
set_source_files_properties(${outputfile} PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
add_custom_command(
|
|
OUTPUT ${outputfile}
|
|
COMMAND ${XXD_EXE} -i ${inputfile} ${outputfile}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
DEPENDS ${inputfile}
|
|
COMMENT "Generating XXD for ${inputfile}"
|
|
)
|
|
list(APPEND ${outvar}
|
|
${outputfile}
|
|
)
|
|
endmacro()
|
|
|
|
foreach(item ${EMBEDDED_INPUT})
|
|
ProcessWithXXD(EMBEDDED_SOURCE ${item} ${CMAKE_CURRENT_BINARY_DIR})
|
|
endforeach()
|
|
|
|
source_group("Embedded Source" FILES ${EMBEDDED_INPUT} ${EMBEDDED_SOURCE})
|
|
add_executable(${PROJECT_NAME} ${EMBEDDED_SOURCE} main.c)
|
|
find_package(SDL3 CONFIG)
|
|
find_package(SDL3_image CONFIG)
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE ${DEFINES})
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3 SDL3_image::SDL3_image)
|