summaryrefslogtreecommitdiff
path: root/src/ToolBox/SOS/diasdk/CMakeLists.txt
blob: 07bbcdc9d98a8fae5dca6c3039ece06aa753e5fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# replace backslashes in path with forward slash
STRING(REGEX REPLACE "\\\\" "/" VSINSTALLDIR $ENV{VSINSTALLDIR} )

# Generate managed type lib from dia2.idl
add_custom_target(dialib ALL
    # generate tlb file from idl
    COMMAND midl.exe /I"${VSINSTALLDIR}DIA SDK/include" /tlb ${CMAKE_CURRENT_BINARY_DIR}/dia2.tlb  /Zp8  "${VSINSTALLDIR}DIA SDK/idl/dia2.idl"
    # run tlbimp to generate managed type library
    COMMAND TlbImp.exe /silent /namespace:Dia /unsafe /strictref:nopia ${CMAKE_CURRENT_BINARY_DIR}/dia2.tlb /out:${CMAKE_CURRENT_BINARY_DIR}/dialib.dll
    COMMENT Generating managed type library from dia2.idl
)

# In order to use dialib.dll as library target it needs to be imported into cmake
# Target is used in ToolBox/SOS/dactablegen/cmakelists.txt
add_library_clr(dialib_dll SHARED IMPORTED GLOBAL)
set_property(TARGET dialib_dll PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/dialib.dll)