Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Tests/CSharpLinkFromCxx/CMakeLists.txt
3148 views
1
# Take a C# shared library and link it to a managed C++ shared library
2
cmake_minimum_required(VERSION 3.10)
3
project (CSharpLinkFromCxx CXX CSharp)
4
5
add_library(CSharpLibrary SHARED UsefulCSharpClass.cs)
6
7
# we have to change the default flags for the
8
# managed C++ project to build
9
string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
10
string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
11
12
# The C# project is a dependency of the C++/CLI project
13
add_library(ManagedCppLibrary SHARED UsefulManagedCppClass.cpp UsefulManagedCppClass.hpp)
14
target_compile_options(ManagedCppLibrary PRIVATE "/clr")
15
target_link_libraries(ManagedCppLibrary PUBLIC CSharpLibrary)
16
17
# Main executable for the test framework
18
add_executable(CSharpLinkFromCxx CSharpLinkFromCxx.cs)
19
target_link_libraries(CSharpLinkFromCxx PRIVATE ManagedCppLibrary)
20
21