mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-03-06 13:41:35 +01:00

git-svn-id: https://rapidjson.googlecode.com/svn/trunk@88 c5894555-1306-4e8d-425f-1f6f381ee07c
176 lines
3.5 KiB
Lua
176 lines
3.5 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++"
|
|
flags { "ExtraWarnings" }
|
|
|
|
configuration "debug"
|
|
defines { "DEBUG" }
|
|
flags { "Symbols" }
|
|
|
|
configuration "release"
|
|
defines { "NDEBUG" }
|
|
flags { "Optimize" }
|
|
|
|
configuration "vs*"
|
|
defines { "_CRT_SECURE_NO_WARNINGS" }
|
|
|
|
configuration "gmake"
|
|
buildoptions "-msse4.2 -Werror=cast-qual"
|
|
|
|
project "gtest"
|
|
kind "StaticLib"
|
|
|
|
defines { "GTEST_HAS_PTHREAD=0" }
|
|
|
|
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++"
|
|
flags { "ExtraWarnings" }
|
|
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 "prettyauto"
|
|
kind "ConsoleApp"
|
|
files "../example/prettyauto/*"
|
|
setTargetObjDir("../bin")
|
|
|
|
project "tutorial"
|
|
kind "ConsoleApp"
|
|
files "../example/tutorial/*"
|
|
setTargetObjDir("../bin")
|
|
|
|
project "serialize"
|
|
kind "ConsoleApp"
|
|
files "../example/serialize/*"
|
|
setTargetObjDir("../bin")
|