From 656d298a6a3cfe2baace28da2f74da4e090f3b16 Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 22 May 2022 20:43:40 +0800 Subject: add frameworkdir to cmakelists --- xmake/plugins/project/cmake/cmakelists.lua | 31 ++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua index a627e1f81..5c327a924 100644 --- a/xmake/plugins/project/cmake/cmakelists.lua +++ b/xmake/plugins/project/cmake/cmakelists.lua @@ -303,8 +303,6 @@ function _add_target_include_directories(cmakelists, target, outputdir) end cmakelists:print(")") end - - -- TODO deprecated local includedirs_interface = target:get("includedirs", {interface = true}) if includedirs_interface then cmakelists:print("target_include_directories(%s INTERFACE", target:name()) @@ -343,6 +341,32 @@ function _add_target_sysinclude_directories(cmakelists, target, outputdir) end end +-- add target framework directories +function _add_target_framework_directories(cmakelists, target, outputdir) + local frameworkdirs = _get_configs_from_target(target, "frameworkdirs") + if #frameworkdirs > 0 then + cmakelists:print("target_compile_options(%s PRIVATE", target:name()) + for _, frameworkdir in ipairs(frameworkdirs) do + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + end + cmakelists:print(")") + end + local frameworkdirs_interface = target:get("frameworkdirs", {interface = true}) + if frameworkdirs_interface then + cmakelists:print("target_compile_options(%s PRIVATE", target:name()) + for _, frameworkdir in ipairs(frameworkdirs_interface) do + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + cmakelists:print(" $<$:-F" .. _get_unix_path(frameworkdir, outputdir) .. ">") + end + cmakelists:print(")") + end +end + -- add target compile definitions function _add_target_compile_definitions(cmakelists, target) local defines = _get_configs_from_target(target, "defines") @@ -815,6 +839,9 @@ function _add_target(cmakelists, target, outputdir) -- add target system include directories _add_target_sysinclude_directories(cmakelists, target, outputdir) + -- add target framework directories + _add_target_framework_directories(cmakelists, target, outputdir) + -- add target compile definitions _add_target_compile_definitions(cmakelists, target) -- cgit v1.3.1