From e2430cf40c95d33c2987c21c76557d444bca0d27 Mon Sep 17 00:00:00 2001 From: Ganesh Viswanathan Date: Thu, 27 Dec 2018 23:38:02 -0600 Subject: Fix #15, fix #20 --- nimterop.nimble | 1 + nimterop/getters.nim | 3 ++- tests/include/test.h | 10 +++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/nimterop.nimble b/nimterop.nimble index b1ee584..c3c87a7 100644 --- a/nimterop.nimble +++ b/nimterop.nimble @@ -18,6 +18,7 @@ proc execCmd(cmd:string)= task test, "Test": execCmd "nim c -r tests/tnimterop_c.nim" + execCmd "nim cpp -r tests/tnimterop_c.nim" execCmd "nim cpp -r tests/tnimterop_cpp.nim" # when defined(windows): # execCmd "nim c -r tests/tmath.nim" diff --git a/nimterop/getters.nim b/nimterop/getters.nim index df1c3d7..1ff4d49 100644 --- a/nimterop/getters.nim +++ b/nimterop/getters.nim @@ -95,10 +95,11 @@ proc getCurrentHeader*(fullpath: string): string = proc getGccPaths*(mode = "c"): string = var + ret = 0 nul = when defined(Windows): "nul" else: "/dev/null" mmode = if mode == "cpp": "c++" else: mode - return staticExec("gcc -Wp,-v -x" & mmode & " " & nul) + (result, ret) = gorgeEx("gcc -Wp,-v -x" & mmode & " " & nul) proc getPreprocessor*(fullpath: string, mode = "cpp"): string = var diff --git a/tests/include/test.h b/tests/include/test.h index 29181c5..6a3d9a4 100644 --- a/tests/include/test.h +++ b/tests/include/test.h @@ -1,3 +1,7 @@ +#ifdef __cplusplus +extern "C" { +#endif + #include #define TEST_INT 512 @@ -76,4 +80,8 @@ ENUM2 test_call_param4(enum ENUM param1); union UNION1 test_call_param5(float param1); unsigned char test_call_param6(UNION2 param1); int test_call_param7(union UNION1 param1); -float test_call_param8(int *param1); \ No newline at end of file +float test_call_param8(int *param1); + +#ifdef __cplusplus +} +#endif \ No newline at end of file -- cgit v1.2.3