diff options
Diffstat (limited to 'xmake/modules')
| -rw-r--r-- | xmake/modules/target/action/install/cmake_importfiles.lua | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/xmake/modules/target/action/install/cmake_importfiles.lua b/xmake/modules/target/action/install/cmake_importfiles.lua index 0b6a8c276..e4e5d118e 100644 --- a/xmake/modules/target/action/install/cmake_importfiles.lua +++ b/xmake/modules/target/action/install/cmake_importfiles.lua @@ -21,17 +21,26 @@ -- imports import("core.project.project") --- get the builtin variables -function _get_builtinvars(target, installdir) +-- get the lib file of the target +function _get_libfile(target, installdir) local libfile = path.filename(target:targetfile()) if target:is_plat("windows") then libfile = libfile:gsub("%.dll$", ".lib") elseif target:is_plat("mingw") then - libfile = libfile:gsub("%.dll$", ".dll.a") + if os.isfile(path.join(installdir, "lib", libfile:gsub("%.dll$", ".dll.a"))) then + libfile = libfile:gsub("%.dll$", ".dll.a") + else + libfile = libfile:gsub("%.dll$", ".lib") + end end + return libfile +end + +-- get the builtin variables +function _get_builtinvars(target, installdir) return {TARGETNAME = target:name(), PROJECTNAME = project.name() or target:name(), - TARGETFILENAME = libfile, + TARGETFILENAME = _get_libfile(target, installdir), TARGETKIND = target:is_shared() and "SHARED" or "STATIC", PACKAGE_VERSION = target:get("version") or "1.0.0", TARGET_PTRBYTES = target:is_arch("x86", "i386") and "4" or "8"} |
