From ed76df6f69d255ad76cb08616cca234824763d3d Mon Sep 17 00:00:00 2001 From: Chris Shepherd Date: Thu, 26 Aug 2021 13:02:30 +0100 Subject: [PATCH] Link any frameworks in Premake (#9371) --- conans/client/generators/premake.py | 5 ++++- conans/test/unittests/client/generators/premake_test.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/conans/client/generators/premake.py b/conans/client/generators/premake.py index b6c718c1e59..1fd57884220 100644 --- a/conans/client/generators/premake.py +++ b/conans/client/generators/premake.py @@ -18,6 +18,7 @@ def __init__(self, deps_cpp_info): self.cflags = ", ".join('"%s"' % p for p in deps_cpp_info.cflags) self.sharedlinkflags = ", ".join('"%s"' % p.replace('"', '\\"') for p in deps_cpp_info.sharedlinkflags) self.exelinkflags = ", ".join('"%s"' % p.replace('"', '\\"') for p in deps_cpp_info.exelinkflags) + self.frameworks = ", ".join('"%s.framework"' % p.replace('"', '\\"') for p in deps_cpp_info.frameworks) self.rootpath = "%s" % deps_cpp_info.rootpath.replace("\\", "/") @@ -40,7 +41,8 @@ def content(self): 'conan_cxxflags{dep} = {{{deps.cxxflags}}}\n' 'conan_cflags{dep} = {{{deps.cflags}}}\n' 'conan_sharedlinkflags{dep} = {{{deps.sharedlinkflags}}}\n' - 'conan_exelinkflags{dep} = {{{deps.exelinkflags}}}\n') + 'conan_exelinkflags{dep} = {{{deps.exelinkflags}}}\n' + 'conan_frameworks{dep} = {{{deps.frameworks}}}\n') sections = ["#!lua"] @@ -68,6 +70,7 @@ def content(self): " libdirs{conan_libdirs}\n" " links{conan_libs}\n" " links{conan_system_libs}\n" + " links{conan_frameworks}\n" " defines{conan_defines}\n" " bindirs{conan_bindirs}\n" "end\n") diff --git a/conans/test/unittests/client/generators/premake_test.py b/conans/test/unittests/client/generators/premake_test.py index 5473d463f55..e6aa4203daf 100644 --- a/conans/test/unittests/client/generators/premake_test.py +++ b/conans/test/unittests/client/generators/premake_test.py @@ -33,6 +33,7 @@ class PremakeGeneratorTest(unittest.TestCase): conan_cflags = {{"-mtune=native", "-fPIC"}} conan_sharedlinkflags = {{"-framework AudioFoundation", "-framework \\\"Some Spaced Framework\\\"", "-framework Cocoa"}} conan_exelinkflags = {{"-framework VideoToolbox", "-framework \\\"Other Spaced Framework\\\"", "-framework QuartzCore"}} + conan_frameworks = {{"AudioUnit.framework"}} conan_includedirs_MyPkg1 = {{"{include1}"}} conan_libdirs_MyPkg1 = {{"{lib1}"}} @@ -44,6 +45,7 @@ class PremakeGeneratorTest(unittest.TestCase): conan_cflags_MyPkg1 = {{"-fPIC"}} conan_sharedlinkflags_MyPkg1 = {{"-framework Cocoa"}} conan_exelinkflags_MyPkg1 = {{"-framework QuartzCore"}} + conan_frameworks_MyPkg1 = {{"AudioUnit.framework"}} conan_rootpath_MyPkg1 = "{root1}" conan_includedirs_MyPkg2 = {{"{include2}"}} @@ -56,6 +58,7 @@ class PremakeGeneratorTest(unittest.TestCase): conan_cflags_MyPkg2 = {{"-mtune=native"}} conan_sharedlinkflags_MyPkg2 = {{"-framework AudioFoundation", "-framework \\\"Some Spaced Framework\\\""}} conan_exelinkflags_MyPkg2 = {{"-framework VideoToolbox", "-framework \\\"Other Spaced Framework\\\""}} + conan_frameworks_MyPkg2 = {{}} conan_rootpath_MyPkg2 = "{root2}" function conan_basic_setup() @@ -65,6 +68,7 @@ class PremakeGeneratorTest(unittest.TestCase): libdirs{{conan_libdirs}} links{{conan_libs}} links{{conan_system_libs}} + links{{conan_frameworks}} defines{{conan_defines}} bindirs{{conan_bindirs}} end @@ -95,6 +99,7 @@ def setUp(self): cpp_info.cxxflags = ['-fPIE'] cpp_info.sharedlinkflags = ['-framework Cocoa'] cpp_info.exelinkflags = ['-framework QuartzCore'] + cpp_info.frameworks = ['AudioUnit'] self.conanfile.deps_cpp_info.add(ref.name, cpp_info) ref = ConanFileReference.loads("MyPkg2/3.2.3@lasote/stables") cpp_info = CppInfo(ref.name, self.tmp_folder2)