Website Summary Files Commits Branches @commit @diff @stats
path: root / gctest / solution / genie.lua
diff options
context:
space:
mode:
Commit22b321bb4497543493010f57587c7a9dceb839b6 (patch)
Author
 dtrendafilov <trendafilov.dn@gmail.com>
2021-09-21 22:48:52 +0300
Committer
 GitHub <noreply@github.com>
2021-09-21 22:48:52 +0300
Files672d53f7d257df54d2222252bd2441f12b3be950 /gctest/solution/genie.lua
IPL-22b321bb4497543493010f57587c7a9dceb839b6.tar
IPL-22b321bb4497543493010f57587c7a9dceb839b6.tar.gz
IPL-22b321bb4497543493010f57587c7a9dceb839b6.zip
Parentf110794b0d57e47e335ae5eeffbb18a7a80580ad (diff)
Parent2f9dea35cff40a676b4603b8ffbd1f2669a4195a (diff)
Merge pull request #115 from SofiaCPP/feature/gctest
Add app to test GC implementations
1 files changed, 72 insertions, 0 deletions
-rw-r--r--gctest/solution/genie.lua72
diff --git a/gctest/solution/genie.lua b/gctest/solution/genie.lua
new file mode 100644
index 0000000..8a1473a
--- /dev/null
+++ b/gctest/solution/genie.lua
@@ -0,0 +1,72 @@
+if not solution() then
+ solution 'gctest'
+ if _ACTION ~= 'jcdb' then
+ platforms { 'x32', 'x64' }
+ configurations {'Debug', 'Release'}
+ else
+ configurations {'Debug'}
+ platforms { 'x64' }
+ end
+ flags {
+ 'FatalWarnings',
+ 'ExtraWarnings',
+ 'Symbols',
+ }
+
+ defines {
+ '_SCL_SECURE_NO_WARNINGS',
+ }
+
+ local root = '../build/'
+
+ configuration 'Debug'
+ targetdir(root .. 'bin/Debug')
+ objdir(root .. 'obj/Debug')
+
+ configuration 'Release'
+ flags 'OptimizeSpeed'
+ targetdir(root .. 'bin/Release')
+ objdir(root .. 'obj/Release')
+ configuration '*'
+end
+
+function setup()
+ flags 'Cpp17'
+ defines {
+ '_SCL_SECURE_NO_WARNINGS',
+ '_CRT_SECURE_NO_WARNINGS',
+ '_CRT_NONSTDC_NO_WARNINGS', -- for strdup in minitrace.c
+ 'MTR_ENABLED',
+ }
+
+ -- GCC generates a warning for uninitialized data in
+ -- std::normal_distribution
+ configuration 'gcc'
+ removeflags 'ExtraWarnings'
+ configuration '*'
+end
+
+ project 'test_bench'
+ kind 'StaticLib'
+ language 'C++'
+ files {
+ '../src/main.cpp',
+ '../src/minitrace.cpp',
+ }
+ removeflags 'ExtraWarnings'
+ setup()
+
+ project 'leak_gc'
+ kind 'ConsoleApp'
+ language 'C++'
+ files '../src/gc_leak.cpp'
+ links 'test_bench'
+ setup()
+
+ project 'dummy_gc'
+ kind 'ConsoleApp'
+ language 'C++'
+ files '../src/gc_dummy.cpp'
+ links 'test_bench'
+ setup()
+