diff options
author | Brad King <brad.king@kitware.com> | 2019-11-14 10:31:18 -0500 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-11-14 10:57:42 -0500 |
commit | d2e5e6ff1abec8b3b1579f122b7dcc89a35dbba4 (patch) | |
tree | 53e92d69536044321ac31d5543a6c426546b5aba /Tests/ObjCXX | |
parent | 786954c4893565d8da27329201fd235e347e051d (diff) | |
download | cmake-d2e5e6ff1abec8b3b1579f122b7dcc89a35dbba4.tar.gz |
Tests: Organize Objective C/C++ test directories
Move them all under `Tests/ObjC` and `Tests/ObjCXX`.
Diffstat (limited to 'Tests/ObjCXX')
-rw-r--r-- | Tests/ObjCXX/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/ObjCXX/ObjC++/CMakeLists.txt | 5 | ||||
-rw-r--r-- | Tests/ObjCXX/ObjC++/objc++.mm | 23 | ||||
-rw-r--r-- | Tests/ObjCXX/cxx-file-extension-test/CMakeLists.txt | 5 | ||||
-rw-r--r-- | Tests/ObjCXX/cxx-file-extension-test/main.mm | 8 | ||||
-rw-r--r-- | Tests/ObjCXX/objcxx-file-extension-test/CMakeLists.txt | 6 | ||||
-rw-r--r-- | Tests/ObjCXX/objcxx-file-extension-test/main.mm | 14 | ||||
-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 |
11 files changed, 106 insertions, 0 deletions
diff --git a/Tests/ObjCXX/CMakeLists.txt b/Tests/ObjCXX/CMakeLists.txt new file mode 100644 index 0000000000..a2a907a676 --- /dev/null +++ b/Tests/ObjCXX/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_TEST_MACRO(ObjCXX.ObjC++ ObjC++) +ADD_TEST_MACRO(ObjCXX.simple-build-test simple-build-test) +ADD_TEST_MACRO(ObjCXX.cxx-file-extension-test cxx-file-extension-test) +ADD_TEST_MACRO(ObjCXX.objcxx-file-extension-test objcxx-file-extension-test) diff --git a/Tests/ObjCXX/ObjC++/CMakeLists.txt b/Tests/ObjCXX/ObjC++/CMakeLists.txt new file mode 100644 index 0000000000..5ba5db2ed0 --- /dev/null +++ b/Tests/ObjCXX/ObjC++/CMakeLists.txt @@ -0,0 +1,5 @@ +# a simple objc++ test case that uses Cocoa framework +project (ObjC++) + +add_executable (ObjC++ objc++.mm) +target_link_libraries(ObjC++ "-framework Cocoa") diff --git a/Tests/ObjCXX/ObjC++/objc++.mm b/Tests/ObjCXX/ObjC++/objc++.mm new file mode 100644 index 0000000000..258ebaa52f --- /dev/null +++ b/Tests/ObjCXX/ObjC++/objc++.mm @@ -0,0 +1,23 @@ +#import <Cocoa/Cocoa.h> +#import <iostream> +using namespace std; + +int main() +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + NSMutableSet *mySet = [NSMutableSet set]; + cout<<"Adding values to the set."<<endl; + [mySet addObject:[NSNumber numberWithInt:356]]; + [mySet addObject:[NSNumber numberWithInt:550]]; + [mySet addObject:[NSNumber numberWithInt:914]]; + + cout<<"The set contains "<<[mySet count]<<" objects."<<endl; + if ([mySet containsObject:[NSNumber numberWithInt:911]]) + cout<<"It's there!"<<endl; + else + cout<<"It's not there."<<endl; + + [pool release]; + return 0; +} diff --git a/Tests/ObjCXX/cxx-file-extension-test/CMakeLists.txt b/Tests/ObjCXX/cxx-file-extension-test/CMakeLists.txt new file mode 100644 index 0000000000..0b33875d9e --- /dev/null +++ b/Tests/ObjCXX/cxx-file-extension-test/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.15) + +project(cxx-file-extension-test CXX) + +add_executable(cxx-file-extension-test main.mm) diff --git a/Tests/ObjCXX/cxx-file-extension-test/main.mm b/Tests/ObjCXX/cxx-file-extension-test/main.mm new file mode 100644 index 0000000000..1c159a9af7 --- /dev/null +++ b/Tests/ObjCXX/cxx-file-extension-test/main.mm @@ -0,0 +1,8 @@ +#ifndef __OBJC__ +# error "Compiler cannot compile Objective-C" +#endif + +int main() +{ + return 0; +} diff --git a/Tests/ObjCXX/objcxx-file-extension-test/CMakeLists.txt b/Tests/ObjCXX/objcxx-file-extension-test/CMakeLists.txt new file mode 100644 index 0000000000..eda7bbaeb9 --- /dev/null +++ b/Tests/ObjCXX/objcxx-file-extension-test/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.15) + +project(objcxx-file-extension-test OBJCXX CXX) + +add_executable(objcxx-file-extension-test main.mm) +target_link_libraries(objcxx-file-extension-test "-framework Foundation") diff --git a/Tests/ObjCXX/objcxx-file-extension-test/main.mm b/Tests/ObjCXX/objcxx-file-extension-test/main.mm new file mode 100644 index 0000000000..d4aa1bba38 --- /dev/null +++ b/Tests/ObjCXX/objcxx-file-extension-test/main.mm @@ -0,0 +1,14 @@ +#ifndef __OBJC__ +# error "Compiler is not an Objective-C compiler." +#endif + +#import <Foundation/Foundation.h> +#include <iostream> + +int main() +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + std::cout << "Hello World" << std::endl; + [pool release]; + return 0; +} diff --git a/Tests/ObjCXX/simple-build-test/CMakeLists.txt b/Tests/ObjCXX/simple-build-test/CMakeLists.txt new file mode 100644 index 0000000000..cf276834ab --- /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 0000000000..b3fb084c18 --- /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 0000000000..2d452a8e50 --- /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 0000000000..7c85551f0a --- /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; +} |