Cleanup cmake functions
This commit is contained in:
@@ -87,18 +87,13 @@ function(compile_bootsector NAME SOURCE BASEADDR ENTRYPOINT)
|
||||
)
|
||||
endfunction()
|
||||
|
||||
# This function sets a property for specified module
|
||||
function(set_module_property MODULE PROPERTY FLAGS)
|
||||
if(NOT ${ARGC} EQUAL 3)
|
||||
message(FATAL_ERROR "Invalid number of arguments passwd to add_module_property() function")
|
||||
endif()
|
||||
get_target_property(VAL ${MODULE} ${PROPERTY})
|
||||
if(VAL)
|
||||
set(VAL "${VAL} ${FLAGS}")
|
||||
else()
|
||||
set(VAL "${FLAGS}")
|
||||
endif()
|
||||
set_property(TARGET ${MODULE} PROPERTY ${PROPERTY} ${VAL})
|
||||
# This function sets the the qemu disk image size (in MiB)
|
||||
function(set_disk_image_size SIZE)
|
||||
MATH(EXPR DISK_BLOCKS ${SIZE}*1024*1024/512)
|
||||
MATH(EXPR PART_BLOCKS ${DISK_BLOCKS}-2048)
|
||||
set(PROJECT_DISK_IMAGE_SIZE ${SIZE} CACHE INTERNAL "PROJECT_DISK_IMAGE_SIZE")
|
||||
set(PROJECT_DISK_IMAGE_BLOCKS ${DISK_BLOCKS} CACHE INTERNAL "PROJECT_DISK_IMAGE_BLOCKS")
|
||||
set(PROJECT_PART_IMAGE_BLOCKS ${PART_BLOCKS} CACHE INTERNAL "PROJECT_PART_IMAGE_BLOCKS")
|
||||
endfunction()
|
||||
|
||||
# This function installs specified directory recursively under destination directory
|
||||
@@ -117,6 +112,20 @@ function(set_install_target TARGET DESTINATION)
|
||||
install(TARGETS ${TARGET} DESTINATION ${EXECTOS_BINARY_DIR}/output/binaries/${DESTINATION})
|
||||
endfunction()
|
||||
|
||||
# This function sets a property for specified module
|
||||
function(set_module_property MODULE PROPERTY FLAGS)
|
||||
if(NOT ${ARGC} EQUAL 3)
|
||||
message(FATAL_ERROR "Invalid number of arguments passwd to add_module_property() function")
|
||||
endif()
|
||||
get_target_property(VAL ${MODULE} ${PROPERTY})
|
||||
if(VAL)
|
||||
set(VAL "${VAL} ${FLAGS}")
|
||||
else()
|
||||
set(VAL "${FLAGS}")
|
||||
endif()
|
||||
set_property(TARGET ${MODULE} PROPERTY ${PROPERTY} ${VAL})
|
||||
endfunction()
|
||||
|
||||
function(set_sdk_target FILENAME DESTINATION)
|
||||
install(DIRECTORY ${FILENAME} DESTINATION ${EXECTOS_BINARY_DIR}/output/sdk/${DESTINATION})
|
||||
endfunction()
|
||||
@@ -130,11 +139,3 @@ function(set_specfile SPECFILE EXPORTNAME)
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${FILENAME}.def ${CMAKE_CURRENT_BINARY_DIR}/${FILENAME}.c
|
||||
COMMAND ${CMAKE_SPEC_COMPILER} -a=${ARCH} -n=${EXPORTNAME} -d=${CMAKE_CURRENT_BINARY_DIR}/${FILENAME}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${FILENAME}.c ${CMAKE_CURRENT_SOURCE_DIR}/${SPECFILE})
|
||||
endfunction()
|
||||
|
||||
# This function sets the the qemu disk image size (in MiB)
|
||||
function(set_disk_image_size SIZE)
|
||||
MATH(EXPR DISK_BLOCKS ${SIZE}*1024*1024/512)
|
||||
MATH(EXPR PART_BLOCKS ${DISK_BLOCKS}-2048)
|
||||
set(PROJECT_DISK_IMAGE_BLOCKS ${DISK_BLOCKS} CACHE INTERNAL "PROJECT_DISK_IMAGE_BLOCKS")
|
||||
set(PROJECT_PART_IMAGE_BLOCKS ${PART_BLOCKS} CACHE INTERNAL "PROJECT_PART_IMAGE_BLOCKS")
|
||||
endfunction()
|
||||
|
Reference in New Issue
Block a user