From 6b5f9eca01dfa8cd654014ba537e59a8f2eceeb6 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 4 Jul 2023 23:02:05 +0800 Subject: add objc pch header support #3912 --- .../objc++/precompiled_header/src/header.h | 27 ++++++++++++++++++++++ .../objc++/precompiled_header/src/header2.h | 0 .../projects/objc++/precompiled_header/src/main.mm | 8 +++++++ .../projects/objc++/precompiled_header/src/test.c | 4 ++++ .../projects/objc++/precompiled_header/src/test.mm | 8 +++++++ .../objc++/precompiled_header/src/test2.mm | 8 +++++++ .../objc++/precompiled_header/src/test4.mm | 8 +++++++ .../objc++/precompiled_header/src/test5.mm | 8 +++++++ .../objc++/precompiled_header/src/test6.mm | 8 +++++++ .../objc++/precompiled_header/src/test7.mm | 8 +++++++ .../objc++/precompiled_header/src/test8.mm | 8 +++++++ tests/projects/objc++/precompiled_header/test.lua | 5 ++++ tests/projects/objc++/precompiled_header/test3.mm | 8 +++++++ tests/projects/objc++/precompiled_header/xmake.lua | 8 +++++++ 14 files changed, 116 insertions(+) create mode 100644 tests/projects/objc++/precompiled_header/src/header.h create mode 100644 tests/projects/objc++/precompiled_header/src/header2.h create mode 100644 tests/projects/objc++/precompiled_header/src/main.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test.c create mode 100644 tests/projects/objc++/precompiled_header/src/test.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test2.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test4.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test5.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test6.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test7.mm create mode 100644 tests/projects/objc++/precompiled_header/src/test8.mm create mode 100644 tests/projects/objc++/precompiled_header/test.lua create mode 100644 tests/projects/objc++/precompiled_header/test3.mm create mode 100644 tests/projects/objc++/precompiled_header/xmake.lua (limited to 'tests/projects/objc++') diff --git a/tests/projects/objc++/precompiled_header/src/header.h b/tests/projects/objc++/precompiled_header/src/header.h new file mode 100644 index 000000000..affda55ca --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/header.h @@ -0,0 +1,27 @@ +// header.h +#ifndef HEADER_H +#define HEADER_H + +#include +#include +#include +#include +#include +#include +//#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif + diff --git a/tests/projects/objc++/precompiled_header/src/header2.h b/tests/projects/objc++/precompiled_header/src/header2.h new file mode 100644 index 000000000..e69de29bb diff --git a/tests/projects/objc++/precompiled_header/src/main.mm b/tests/projects/objc++/precompiled_header/src/main.mm new file mode 100644 index 000000000..27d41ee50 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/main.mm @@ -0,0 +1,8 @@ +#include "header.h" + +int main(int argc, char** argv) +{ + std::string s("xmake"); + printf("hello %s!\n", s.c_str()); + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test.c b/tests/projects/objc++/precompiled_header/src/test.c new file mode 100644 index 000000000..7f0aa2bf4 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test.c @@ -0,0 +1,4 @@ + +void test_c(void) +{ +} diff --git a/tests/projects/objc++/precompiled_header/src/test.mm b/tests/projects/objc++/precompiled_header/src/test.mm new file mode 100644 index 000000000..e9d6c83d9 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test2.mm b/tests/projects/objc++/precompiled_header/src/test2.mm new file mode 100644 index 000000000..596359cd2 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test2.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test2() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test4.mm b/tests/projects/objc++/precompiled_header/src/test4.mm new file mode 100644 index 000000000..a92803eb7 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test4.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test4() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test5.mm b/tests/projects/objc++/precompiled_header/src/test5.mm new file mode 100644 index 000000000..2a3e7066c --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test5.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test5() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test6.mm b/tests/projects/objc++/precompiled_header/src/test6.mm new file mode 100644 index 000000000..efbd7c6c1 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test6.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test6() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test7.mm b/tests/projects/objc++/precompiled_header/src/test7.mm new file mode 100644 index 000000000..24aeff619 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test7.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test7() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/src/test8.mm b/tests/projects/objc++/precompiled_header/src/test8.mm new file mode 100644 index 000000000..6ad5680a6 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/src/test8.mm @@ -0,0 +1,8 @@ + +// main.cpp +#include "header.h" + +int test8() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/test.lua b/tests/projects/objc++/precompiled_header/test.lua new file mode 100644 index 000000000..d45624c55 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/test.lua @@ -0,0 +1,5 @@ +function main(t) + if is_host("macosx") then + t:build() + end +end diff --git a/tests/projects/objc++/precompiled_header/test3.mm b/tests/projects/objc++/precompiled_header/test3.mm new file mode 100644 index 000000000..7daf91dd7 --- /dev/null +++ b/tests/projects/objc++/precompiled_header/test3.mm @@ -0,0 +1,8 @@ + +#include "src/header.h" +#include "src/header2.h" + +int test3() +{ + return 0; +} diff --git a/tests/projects/objc++/precompiled_header/xmake.lua b/tests/projects/objc++/precompiled_header/xmake.lua new file mode 100644 index 000000000..55382962d --- /dev/null +++ b/tests/projects/objc++/precompiled_header/xmake.lua @@ -0,0 +1,8 @@ +add_rules("mode.debug", "mode.release") + +target("main") + set_kind("binary") + set_languages("cxx11") + set_pmxxheader("src/header.h") + add_files("src/*.mm", "src/*.c", "*.mm") + -- cgit v1.3.1