| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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}")
|