Felipe97/llama-cpp-compiled
01.1k
1define_property(GLOBAL PROPERTY LICENSE_TEXT2 BRIEF_DOCS "Embedded licenses"3 FULL_DOCS "Global string containing all aggregated licenses"4)5 6function(license_add_file NAME FILE)7 if(NOT IS_ABSOLUTE "${FILE}")8 set(FILE "${CMAKE_CURRENT_SOURCE_DIR}/${FILE}")9 endif()10 if(EXISTS "${FILE}")11 set(TITLE "License for ${NAME}")12 string(REGEX REPLACE "." "=" UNDERLINE "${TITLE}")13 file(READ "${FILE}" TEXT)14 get_property(TMP GLOBAL PROPERTY LICENSE_TEXT)15 string(APPEND TMP "R\"=L=(${TITLE}\n${UNDERLINE}\n\n${TEXT})=L=\",\n")16 set_property(GLOBAL PROPERTY LICENSE_TEXT "${TMP}")17 else()18 message(WARNING "License file '${FILE}' not found")19 endif()20endfunction()21 22function(license_generate TARGET_NAME)23 message(STATUS "Generating embedded license file for target: ${TARGET_NAME}")24 get_property(TEXT GLOBAL PROPERTY LICENSE_TEXT)25 26 set(CPP_CONTENT "// Generated by CMake\n\n")27 string(APPEND CPP_CONTENT "const char* LICENSES[] = {\n")28 string(APPEND CPP_CONTENT "${TEXT}")29 string(APPEND CPP_CONTENT "nullptr\n")30 string(APPEND CPP_CONTENT "};\n")31 32 set(CPP_FILE "${CMAKE_BINARY_DIR}/license.cpp")33 file(WRITE "${CPP_FILE}" "${CPP_CONTENT}")34 35 if(TARGET ${TARGET_NAME})36 target_sources(${TARGET_NAME} PRIVATE "${CPP_FILE}")37 else()38 message(FATAL_ERROR "Target '${TARGET_NAME}' does not exist")39 endif()40endfunction()41 