add get_directory_definitions and get_directory_includes

This commit is contained in:
stubbfel
2018-02-16 00:11:13 +01:00
parent 695403d014
commit c04badcf5a

View File

@@ -11,29 +11,29 @@ function(module_objects module_name input_files output_string)
set(${output_string} ${module_objects_string} PARENT_SCOPE)
endfunction()
function(module_include_directories input_dirs output_string)
function(get_directory_includes output_string)
get_property(input_dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
foreach(include_dir ${input_dirs})
get_filename_component(abs_path ${include_dir} REALPATH)
list(APPEND module_includes "ccflags-y += -I${abs_path}")
include_directories(${abs_path})
endforeach()
string(REPLACE ";" "\n" module_includes_string "${module_includes}")
set(${output_string} ${module_includes_string} PARENT_SCOPE)
endfunction()
function(module_add_definitions input_definitions output_string)
function(get_directory_definitions output_string)
get_property(input_definitions DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS)
foreach(input_definition ${input_definitions})
add_definitions(${input_definition})
list(APPEND module_definitions "ccflags-y += ${input_definition}")
list(APPEND module_definitions "ccflags-y += -D${input_definition}")
endforeach()
string(REPLACE ";" "\n" module_definitions_string "${module_definitions}")
set(${output_string} ${module_definitions_string} PARENT_SCOPE)
endfunction()
function(module_kbuild module_name module_files module_include_dirs module_defs output_string)
function(module_kbuild module_name module_files output_string)
module_objects("${module_name}" "${module_files}" kobjects_string)
module_include_directories("${module_include_dirs}" kincludes_string)
module_add_definitions("${module_defs}" kdefintions_string)
get_directory_definitions(kdefintions_string)
get_directory_includes(kincludes_string)
set(${output_string}
"obj-m += ${module_name}.o
${kobjects_string}
@@ -43,9 +43,9 @@ ${kincludes_string}
${kdefintions_string}" PARENT_SCOPE)
endfunction()
function(add_module module_name module_files module_include_dirs module_defs kernel_dir)
function(add_module module_name module_files kernel_dir)
set(module_build_path "${PROJECT_BINARY_DIR}/${module_name}")
module_kbuild("${module_name}" "${module_files}" "${module_include_dirs}" "${module_defs}" Kbuild_string)
module_kbuild("${module_name}" "${module_files}" Kbuild_string)
file(WRITE "${module_build_path}/Kbuild" ${Kbuild_string})
foreach(copy_file ${module_files})
@@ -83,10 +83,6 @@ function(add_module module_name module_files module_include_dirs module_defs ker
endfunction()
#function(get_directory_definitions output_list)
#function(get_target_definitions output_list)
#function(get_directory_includes output_list)
#function(get_target_includes output_list)