diff options
Diffstat (limited to 'Tests/ObjCXX/simple-build-test')
-rw-r--r-- | Tests/ObjCXX/simple-build-test/CMakeLists.txt | 11 | ||||
-rw-r--r-- | Tests/ObjCXX/simple-build-test/foo.h | 9 | ||||
-rw-r--r-- | Tests/ObjCXX/simple-build-test/foo.mm | 7 | ||||
-rw-r--r-- | Tests/ObjCXX/simple-build-test/main.mm | 14 |
4 files changed, 41 insertions, 0 deletions
diff --git a/Tests/ObjCXX/simple-build-test/CMakeLists.txt b/Tests/ObjCXX/simple-build-test/CMakeLists.txt new file mode 100644 index 0000000..cf27683 --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.15) + +set(CMAKE_MACOSX_RPATH OFF) + +project(simple-build-test OBJCXX) + +add_library(foo SHARED foo.mm) +target_link_libraries(foo "-framework Foundation") + +add_executable(simple-build-test main.mm) +target_link_libraries(simple-build-test "-framework Foundation" foo) diff --git a/Tests/ObjCXX/simple-build-test/foo.h b/Tests/ObjCXX/simple-build-test/foo.h new file mode 100644 index 0000000..b3fb084 --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/foo.h @@ -0,0 +1,9 @@ +#import <Foundation/Foundation.h> + +@interface Foo : NSObject { + NSNumber* age; +} + +@property (nonatomic, retain) NSNumber* age; + +@end diff --git a/Tests/ObjCXX/simple-build-test/foo.mm b/Tests/ObjCXX/simple-build-test/foo.mm new file mode 100644 index 0000000..2d452a8 --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/foo.mm @@ -0,0 +1,7 @@ +#import "foo.h" + +@implementation Foo + +@synthesize age; + +@end diff --git a/Tests/ObjCXX/simple-build-test/main.mm b/Tests/ObjCXX/simple-build-test/main.mm new file mode 100644 index 0000000..7c85551 --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/main.mm @@ -0,0 +1,14 @@ +#import <Foundation/Foundation.h> +#import "foo.h" +#include <iostream> + +int main(int argc, char **argv) +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + Foo *theFoo = [[Foo alloc] init]; + theFoo.age = [NSNumber numberWithInt:argc]; + NSLog(@"%d\n",[theFoo.age intValue]); + std::cout << [theFoo.age intValue] << std::endl; + [pool release]; + return 0; +} |