aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nimterop.nimble1
-rw-r--r--nimterop/getters.nim3
-rw-r--r--tests/include/test.h10
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 <stdint.h>
#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