[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] Lake 1.2, a Lua-based Build Tool
- From: Graham Wakefield <wakefield@...>
- Date: Fri, 20 Jan 2012 14:53:50 -0800
Hi there,
I've been playing around with Lake and have to say that I really like it. It took a few minutes to figure out how to pass additional flags to the compilation stage, until by chance I figured out it was as simple as adding flags = '<some flags>' to the target definition. But now I'm stuck: I haven't been able to figure out how to specify a need on OSX to link to a framework, such as Carbon.framework.
I tried this:
CARBON_INCLUDE_DIR = "/System/Library/Frameworks/"
CARBON_LIBS = "Carbon.framework"
cpp.shared{
"mymodule",
src = "*.cpp",
needs = {
"carbon",
}
}
But of course the result is:
g++ -c -O1 -Wall -I/usr/local/ -I/System/Library/Frameworks/ -fPIC -MMD luaopen_mymodule.cpp
MACOSX_DEPLOYMENT_TARGET=10.3 g++ luaopen_mymodule.o -lCarbon.framework -bundle -undefined dynamic_lookup -o mymodule.so
ld: library not found for -lCarbon.framework
Somehow the linker needs to know that a dependency of XXX.framework should issue linker command -framework XXX
Is there a way to do this already?
Thanks
On Jan 5, 2012, at 3:51 AM, steve donovan wrote:
> Hi all,
>
> This is a new release of Lake [1], which is a build tool written in
> and configurable using Lua.
>
> It's now available through LuaRocks, so 'luarocks install lake' should
> Just Work. (But otherwise it's just a single Lua file that just
> depends on LuaFileSystem)
>
> I've updated the online documentation [2], and then there's also a new
> article which discusses some of the basic features and the philosophy
> behind Lake.[3]
>
> steve d.
>
> 1. https://github.com/stevedonovan/Lake
> 2. http://stevedonovan.github.com/lake/topics/index.md.html
> 3. http://steved-imaginaryreal.blogspot.com/2012/01/building-programs-with-lake.html
> 4. Yes, I _know_, 2.5Kloc is too big for a single file. I promise to
> do better this year.
>