From c04badcf5aae4cbcbdc107686ec15008a91ccd45 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Fri, 16 Feb 2018 00:11:13 +0100 Subject: [PATCH] add get_directory_definitions and get_directory_includes --- dev-utility/BuildKernelModule.cmake | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/dev-utility/BuildKernelModule.cmake b/dev-utility/BuildKernelModule.cmake index 54327cd..bda7d71 100644 --- a/dev-utility/BuildKernelModule.cmake +++ b/dev-utility/BuildKernelModule.cmake @@ -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)