[RELEASE] u22-v03
This version is submitted to U22 breau.
This commit is contained in:
20
cmake/anysrc.cmake
Normal file
20
cmake/anysrc.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
function(target_any_sources target)
|
||||
set(bin2c ${LEFTONE_TOOL_DIR}/bin2c.sh)
|
||||
|
||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
foreach (path ${ARGN})
|
||||
get_filename_component(dirname ${path} DIRECTORY)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/anysrc/${dirname})
|
||||
|
||||
set(name ${target}_${path}_)
|
||||
set(in ${CMAKE_CURRENT_SOURCE_DIR}/${path})
|
||||
set(out ${CMAKE_CURRENT_BINARY_DIR}/anysrc/${path})
|
||||
add_custom_command(
|
||||
OUTPUT ${out}.c ${out}.h
|
||||
COMMAND cat ${in} | ${bin2c} ${name} ${out}
|
||||
DEPENDS ${path} ${bin2c}
|
||||
COMMENT "converting ${path} to C header")
|
||||
target_sources(${target} PRIVATE ${out}.c ${out}.h)
|
||||
endforeach()
|
||||
endfunction()
|
20
cmake/sos.cmake
Normal file
20
cmake/sos.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
function(target_source_of_source target)
|
||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/sos)
|
||||
foreach (file ${ARGN})
|
||||
get_filename_component(name ${file} NAME_WE)
|
||||
|
||||
set(sos_target sos-${target}-${name})
|
||||
set(in ${CMAKE_CURRENT_SOURCE_DIR}/${file})
|
||||
set(out ${CMAKE_CURRENT_BINARY_DIR}/sos/${file})
|
||||
|
||||
add_executable(${sos_target} ${in})
|
||||
add_custom_command(
|
||||
OUTPUT ${out}
|
||||
COMMAND ${sos_target} > ${out}
|
||||
DEPENDS ${sos_target}
|
||||
COMMENT "generating ${file}")
|
||||
target_sources(${target} PRIVATE ${out})
|
||||
endforeach()
|
||||
endfunction()
|
Reference in New Issue
Block a user