166 lines
3.3 KiB
Lua
166 lines
3.3 KiB
Lua
![]() |
function setTargetObjDir(outDir)
|
||
|
for _, cfg in ipairs(configurations()) do
|
||
|
for _, plat in ipairs(platforms()) do
|
||
|
local action = _ACTION or ""
|
||
|
|
||
|
local prj = project()
|
||
|
|
||
|
--"_debug_win32_vs2008"
|
||
|
local suffix = "_" .. cfg .. "_" .. plat .. "_" .. action
|
||
|
|
||
|
targetPath = outDir
|
||
|
|
||
|
suffix = string.lower(suffix)
|
||
|
|
||
|
local obj_path = "../intermediate/" .. cfg .. "/" .. action .. "/" .. prj.name
|
||
|
|
||
|
obj_path = string.lower(obj_path)
|
||
|
|
||
|
configuration {cfg, plat}
|
||
|
targetdir(targetPath)
|
||
|
objdir(obj_path)
|
||
|
targetsuffix(suffix)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function linkLib(libBaseName)
|
||
|
for _, cfg in ipairs(configurations()) do
|
||
|
for _, plat in ipairs(platforms()) do
|
||
|
local action = _ACTION or ""
|
||
|
|
||
|
local prj = project()
|
||
|
|
||
|
local cfgName = cfg
|
||
|
|
||
|
--"_debug_win32_vs2008"
|
||
|
local suffix = "_" .. cfgName .. "_" .. plat .. "_" .. action
|
||
|
|
||
|
libFullName = libBaseName .. string.lower(suffix)
|
||
|
|
||
|
configuration {cfg, plat}
|
||
|
links(libFullName)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
solution "test"
|
||
|
configurations { "debug", "release" }
|
||
|
platforms { "x32", "x64" }
|
||
|
|
||
|
location ("./" .. (_ACTION or ""))
|
||
|
language "C++"
|
||
|
|
||
|
configuration "debug"
|
||
|
defines { "DEBUG" }
|
||
|
flags { "Symbols" }
|
||
|
|
||
|
configuration "release"
|
||
|
defines { "NDEBUG" }
|
||
|
flags { "Optimize" }
|
||
|
|
||
|
configuration "vs*"
|
||
|
defines { "_CRT_SECURE_NO_WARNINGS" }
|
||
|
|
||
|
configuration "gmake"
|
||
|
buildoptions "-msse4.2"
|
||
|
|
||
|
project "gtest"
|
||
|
kind "StaticLib"
|
||
|
files {
|
||
|
"../thirdparty/gtest/src/gtest-all.cc",
|
||
|
"../thirdparty/gtest/src/**.h",
|
||
|
}
|
||
|
|
||
|
includedirs {
|
||
|
"../thirdparty/gtest/",
|
||
|
"../thirdparty/gtest/include",
|
||
|
}
|
||
|
|
||
|
setTargetObjDir("../thirdparty/lib")
|
||
|
|
||
|
project "unittest"
|
||
|
kind "ConsoleApp"
|
||
|
|
||
|
files {
|
||
|
"../include/**.h",
|
||
|
"../test/unittest/**.cpp",
|
||
|
"../test/unittest/**.h",
|
||
|
}
|
||
|
|
||
|
includedirs {
|
||
|
"../include/",
|
||
|
"../thirdparty/gtest/include/",
|
||
|
}
|
||
|
|
||
|
libdirs "../thirdparty/lib"
|
||
|
|
||
|
setTargetObjDir("../bin")
|
||
|
|
||
|
linkLib "gtest"
|
||
|
links "gtest"
|
||
|
|
||
|
project "perftest"
|
||
|
kind "ConsoleApp"
|
||
|
|
||
|
files {
|
||
|
"../include/**.h",
|
||
|
"../test/perftest/**.cpp",
|
||
|
"../test/perftest/**.c",
|
||
|
"../test/perftest/**.h",
|
||
|
}
|
||
|
|
||
|
includedirs {
|
||
|
"../include/",
|
||
|
"../thirdparty/gtest/include/",
|
||
|
"../thirdparty/",
|
||
|
"../thirdparty/jsoncpp/include/",
|
||
|
"../thirdparty/libjson/",
|
||
|
"../thirdparty/yajl/include/",
|
||
|
}
|
||
|
|
||
|
libdirs "../thirdparty/lib"
|
||
|
|
||
|
setTargetObjDir("../bin")
|
||
|
|
||
|
linkLib "gtest"
|
||
|
links "gtest"
|
||
|
|
||
|
solution "example"
|
||
|
configurations { "debug", "release" }
|
||
|
platforms { "x32", "x64" }
|
||
|
location ("./" .. (_ACTION or ""))
|
||
|
language "C++"
|
||
|
includedirs "../include/"
|
||
|
|
||
|
configuration "debug"
|
||
|
defines { "DEBUG" }
|
||
|
flags { "Symbols" }
|
||
|
|
||
|
configuration "release"
|
||
|
defines { "NDEBUG" }
|
||
|
flags { "Optimize", "EnableSSE2" }
|
||
|
|
||
|
configuration "vs*"
|
||
|
defines { "_CRT_SECURE_NO_WARNINGS" }
|
||
|
|
||
|
project "condense"
|
||
|
kind "ConsoleApp"
|
||
|
files "../example/condense/*"
|
||
|
setTargetObjDir("../bin")
|
||
|
|
||
|
project "pretty"
|
||
|
kind "ConsoleApp"
|
||
|
files "../example/pretty/*"
|
||
|
setTargetObjDir("../bin")
|
||
|
|
||
|
project "tutorial"
|
||
|
kind "ConsoleApp"
|
||
|
files "../example/tutorial/*"
|
||
|
setTargetObjDir("../bin")
|
||
|
|
||
|
project "serialize"
|
||
|
kind "ConsoleApp"
|
||
|
files "../example/serialize/*"
|
||
|
setTargetObjDir("../bin")
|