From bd57f345ed9dbed1d81683e48199626de2ea9044 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 27 Jun 2025 10:18:39 -0700 Subject: Restructure project --- cmake/txt2c.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 cmake/txt2c.txt (limited to 'cmake/txt2c.txt') diff --git a/cmake/txt2c.txt b/cmake/txt2c.txt new file mode 100644 index 0000000..0cb11a9 --- /dev/null +++ b/cmake/txt2c.txt @@ -0,0 +1,44 @@ +function(txt2c target) + set(BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/${target}") + file(MAKE_DIRECTORY ${BUILD_DIR}) + message(${BUILD_DIR}) + + set(TEXT_FILES) + set(SOURCE_FILES) + set(INCLUDE_DIRECTORIES) + foreach(filepath IN ITEMS ${ARGN}) + set(textfile "${CMAKE_CURRENT_SOURCE_DIR}/${filepath}") + list(APPEND TEXT_FILES ${textfile}) + + set(srcfile "${BUILD_DIR}/${filepath}.c") + list(APPEND SOURCE_FILES ${srcfile}) + + get_filename_component(include_dir ${srcfile} DIRECTORY) + list(APPEND INCLUDE_DIRECTORIES ${include_dir}) + endforeach() + + foreach(filepath IN ITEMS ${TEXT_FILES}) + message(${filepath}) + endforeach() + + foreach(filepath IN ITEMS ${SOURCE_FILES}) + message(${filepath}) + endforeach() + + foreach(filepath IN ITEMS ${INCLUDE_DIRECTORIES}) + message(${filepath}) + endforeach() + + add_custom_command(OUTPUT ${SOURCE_FILES} + COMMAND "${PROJECT_SOURCE_DIR}/bin/txt2c.py" ${TEXT_FILES} ${SOURCE_FILES} + WORKING_DIRECTORY ${BUILD_DIR} + DEPENDS ${ARGN} + COMMENT "Generating ${target}") + + add_library(${target} + ${SOURCE_FILES}) + + target_include_directories(${target} PUBLIC + ${BUILD_DIR} + ${INCLUDE_DIRECTORIES}) +endfunction() -- cgit v1.2.3