Add PInvoke/Array tests (#19266)
[platform/upstream/coreclr.git] / tests / src / Interop / CMakeLists.txt
1 if(WIN32)
2     list(APPEND LINK_LIBRARIES_ADDITIONAL
3         ole32.lib
4         advapi32.lib
5         OleAut32.lib
6     )
7 endif(WIN32)
8
9 list(APPEND LINK_LIBRARIES_ADDITIONAL platformdefines)
10
11 # Consumed by native test assets
12 SET(CLR_INTEROP_TEST_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
13
14 include_directories(common)
15 add_subdirectory(PInvoke/BestFitMapping/Char)
16 add_subdirectory(PInvoke/BestFitMapping/LPStr)
17 add_subdirectory(PInvoke/Delegate/MarshalDelegateAsField)
18 add_subdirectory(PInvoke/Delegate/MarshalDelegateAsParam)
19 add_subdirectory(PInvoke/Primitives/Int)
20 add_subdirectory(PInvoke/Array/MarshalArrayAsField/LPArrayNative)
21 add_subdirectory(PInvoke/Array/MarshalArrayAsParam/LPArrayNative)
22 add_subdirectory(PInvoke/Miscellaneous/HandleRef)
23 add_subdirectory(PInvoke/Miscellaneous/MultipleAssembliesWithSamePInvoke)
24 add_subdirectory(PInvoke/ExactSpelling)
25 add_subdirectory(PInvoke/AsAny)
26 add_subdirectory(NativeCallable)
27 add_subdirectory(PrimitiveMarshalling/Bool)
28 add_subdirectory(PrimitiveMarshalling/UIntPtr)
29 add_subdirectory(ArrayMarshalling/BoolArray)
30 add_subdirectory(ArrayMarshalling/ByValArray)
31 add_subdirectory(PrimitiveMarshalling/EnumMarshalling)
32 add_subdirectory(FuncPtrAsDelegateParam)
33 add_subdirectory(SimpleStruct)
34 add_subdirectory(StructMarshalling/PInvoke)
35 add_subdirectory(StructMarshalling/ReversePInvoke/MarshalExpStruct)
36 add_subdirectory(StructMarshalling/ReversePInvoke/MarshalSeqStruct)
37 add_subdirectory(BestFitMapping)
38 add_subdirectory(RefInt)
39 add_subdirectory(RefCharArray)
40 add_subdirectory(StringMarshalling/LPSTR)
41 add_subdirectory(StringMarshalling/LPTSTR)
42 add_subdirectory(StringMarshalling/UTF8)
43 add_subdirectory(StringMarshalling/BSTR)
44 add_subdirectory(MarshalAPI/FunctionPointer)
45 add_subdirectory(MarshalAPI/IUnknown)
46 add_subdirectory(SizeConst)
47 add_subdirectory(DllImportAttribute/ExeFile)
48 add_subdirectory(DllImportAttribute/FileNameContainDot)
49 add_subdirectory(DllImportAttribute/Simple)
50 add_subdirectory(ExecInDefAppDom)
51
52 if(WIN32)
53     add_subdirectory(PInvoke/Varargs)
54     add_subdirectory(PInvoke/NativeCallManagedComVisible)
55     # This test doesn't necessarily need to be Windows-only, but the implementation is very tied to Windows APIs
56     add_subdirectory(PInvoke/DateTime)
57     add_subdirectory(COM/NativeServer)
58     add_subdirectory(COM/NativeClients/Primitives)
59     add_subdirectory(IJW/FakeMscoree)
60
61     # IJW isn't supported on ARM64
62     if(NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
63         add_subdirectory(IJW/ManagedCallingNative/IjwNativeDll)
64         add_subdirectory(IJW/NativeCallingManaged/IjwNativeCallingManagedDll)
65     endif()
66 endif(WIN32)