summaryrefslogtreecommitdiff
path: root/tests/src/Interop/CMakeLists.txt
blob: 99bd9937dae85d6cdf691edd4c3c5f0691af90df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
if(WIN32)
    list(APPEND LINK_LIBRARIES_ADDITIONAL
        ole32.lib
        advapi32.lib
        OleAut32.lib
    )
endif(WIN32)

list(APPEND LINK_LIBRARIES_ADDITIONAL platformdefines)

# Consumed by native test assets
SET(CLR_INTEROP_TEST_ROOT ${CMAKE_CURRENT_SOURCE_DIR})

include_directories(common)
add_subdirectory(PInvoke/Decimal/PInvoke)
add_subdirectory(PInvoke/Decimal/ReversePInvoke)
add_subdirectory(PInvoke/ArrayWithOffset)
add_subdirectory(PInvoke/DllImportPath)
add_subdirectory(PInvoke/BestFitMapping/Char)
add_subdirectory(PInvoke/BestFitMapping/LPStr)
add_subdirectory(PInvoke/Delegate/MarshalDelegateAsField)
add_subdirectory(PInvoke/Delegate/MarshalDelegateAsParam)
add_subdirectory(PInvoke/Primitives/Int)
add_subdirectory(PInvoke/Primitives/RuntimeHandles)
add_subdirectory(PInvoke/SizeParamIndex/PInvoke/PassingByOut)
add_subdirectory(PInvoke/SizeParamIndex/PInvoke/PassingByRef)
add_subdirectory(PInvoke/SizeParamIndex/ReversePInvoke/PassingByOut)
add_subdirectory(PInvoke/SizeParamIndex/ReversePInvoke/PassingByRef)
add_subdirectory(PInvoke/Array/MarshalArrayAsField/LPArrayNative)
add_subdirectory(PInvoke/Array/MarshalArrayAsParam/LPArrayNative)
add_subdirectory(PInvoke/Miscellaneous/HandleRef)
add_subdirectory(PInvoke/Miscellaneous/ThisCall)
add_subdirectory(PInvoke/Miscellaneous/MultipleAssembliesWithSamePInvoke)
add_subdirectory(PInvoke/ExactSpelling)
add_subdirectory(PInvoke/CriticalHandles)
add_subdirectory(PInvoke/AsAny)
add_subdirectory(NativeCallable)
add_subdirectory(PrimitiveMarshalling/Bool)
add_subdirectory(PrimitiveMarshalling/UIntPtr)
add_subdirectory(ArrayMarshalling/BoolArray)
add_subdirectory(ArrayMarshalling/ByValArray)
add_subdirectory(PrimitiveMarshalling/EnumMarshalling)
add_subdirectory(FuncPtrAsDelegateParam)
add_subdirectory(SimpleStruct)
add_subdirectory(StructMarshalling/PInvoke)
add_subdirectory(StructMarshalling/ReversePInvoke/MarshalExpStruct)
add_subdirectory(StructMarshalling/ReversePInvoke/MarshalSeqStruct)
add_subdirectory(BestFitMapping)
add_subdirectory(RefInt)
add_subdirectory(RefCharArray)
add_subdirectory(StringMarshalling/LPSTR)
add_subdirectory(StringMarshalling/LPTSTR)
add_subdirectory(StringMarshalling/UTF8)
add_subdirectory(StringMarshalling/BSTR)
add_subdirectory(StringMarshalling/AnsiBSTR)
add_subdirectory(StringMarshalling/VBByRefStr)
add_subdirectory(MarshalAPI/FunctionPointer)
add_subdirectory(MarshalAPI/IUnknown)
add_subdirectory(NativeLibrary)
add_subdirectory(NativeLibraryResolveEvent)
add_subdirectory(NativeLibraryResolveCallback)
add_subdirectory(SizeConst)
add_subdirectory(DllImportAttribute/ExeFile)
add_subdirectory(DllImportAttribute/FileNameContainDot)
add_subdirectory(DllImportAttribute/Simple)
add_subdirectory(ExecInDefAppDom)
add_subdirectory(ICustomMarshaler/ConflictingNames)
add_subdirectory(LayoutClass)
if(WIN32)
    add_subdirectory(PInvoke/Attributes/LCID)
    add_subdirectory(PInvoke/Variant)
    add_subdirectory(PInvoke/Varargs)
    add_subdirectory(PInvoke/SafeHandles)
    add_subdirectory(PInvoke/SafeHandles/ReleaseHandle)
    add_subdirectory(PInvoke/SafeHandles/Interface)
    add_subdirectory(PInvoke/NativeCallManagedComVisible)
    # This test doesn't necessarily need to be Windows-only, but the implementation is very tied to Windows APIs
    add_subdirectory(PInvoke/DateTime)
    add_subdirectory(PInvoke/IEnumerator)
    add_subdirectory(PInvoke/CustomMarshalers)
    add_subdirectory(ArrayMarshalling/SafeArray)
    add_subdirectory(COM/NativeServer)
    add_subdirectory(COM/NativeClients/Primitives)
    add_subdirectory(COM/NativeClients/Licensing)
    add_subdirectory(COM/NativeClients/DefaultInterfaces)

    # IJW isn't supported on ARM64
    if(NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
        add_subdirectory(IJW/ijwhostmock)
        add_subdirectory(IJW/IjwNativeDll)
        add_subdirectory(IJW/IjwNativeCallingManagedDll)
        add_subdirectory(IJW/CopyConstructorMarshaler)
    endif()
endif(WIN32)