You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
enable_language(CXX CSharp)
|
|
|
|
if(NOT DEFINED exportFileName OR
|
|
NOT DEFINED exportNameSpace OR
|
|
NOT DEFINED exportTargetName)
|
|
message(FATAL_ERROR "export information missing")
|
|
endif()
|
|
|
|
add_library(${exportTargetName}CSharp SHARED
|
|
ImportLib.cs)
|
|
|
|
# native c++ dll
|
|
add_library(${exportTargetName}Native SHARED
|
|
ImportLibNative.h
|
|
ImportLibNative.cxx)
|
|
|
|
# mixed c++ dll
|
|
add_library(${exportTargetName}Mixed SHARED
|
|
ImportLibMixed.cxx
|
|
ImportLibMixedNative.h
|
|
ImportLibMixedNative.cxx)
|
|
set_target_properties(${exportTargetName}Mixed PROPERTIES
|
|
COMMON_LANGUAGE_RUNTIME "")
|
|
|
|
# pure c++ dll
|
|
add_library(${exportTargetName}Pure SHARED
|
|
ImportLibPure.cxx)
|
|
set_target_properties(${exportTargetName}Pure PROPERTIES
|
|
COMMON_LANGUAGE_RUNTIME "pure")
|
|
|
|
# safe c++ dll
|
|
add_library(${exportTargetName}Safe SHARED
|
|
ImportLibSafe.cxx)
|
|
set_target_properties(${exportTargetName}Safe PROPERTIES
|
|
COMMON_LANGUAGE_RUNTIME "safe")
|
|
|
|
# generate export file
|
|
export(TARGETS
|
|
${exportTargetName}CSharp
|
|
${exportTargetName}Native
|
|
${exportTargetName}Mixed
|
|
${exportTargetName}Pure
|
|
${exportTargetName}Safe
|
|
NAMESPACE "${exportNameSpace}:"
|
|
FILE "${exportFileName}")
|