summaryrefslogtreecommitdiffstats
path: root/Tests/CSharpLinkToCxx/CMakeLists.txt
diff options
context:
space:
mode:
authorMichael Stürmer <michael.stuermer@schaeffler.com>2017-06-20 14:14:45 (GMT)
committerMichael Stürmer <michael.stuermer@schaeffler.com>2017-06-21 06:37:15 (GMT)
commit51865fc67ecd61d9cbf984be0310f2e9fb8ff455 (patch)
tree8074f627dbc519557e2fe164a74d90fc5afcc464 /Tests/CSharpLinkToCxx/CMakeLists.txt
parentb7799f07d1bcf2708976b41aa07047c04e5ee3d0 (diff)
downloadCMake-51865fc67ecd61d9cbf984be0310f2e9fb8ff455.zip
CMake-51865fc67ecd61d9cbf984be0310f2e9fb8ff455.tar.gz
CMake-51865fc67ecd61d9cbf984be0310f2e9fb8ff455.tar.bz2
Vs: allow CSharp targets to be linked to CXX targets
Fixes: #16755
Diffstat (limited to 'Tests/CSharpLinkToCxx/CMakeLists.txt')
-rw-r--r--Tests/CSharpLinkToCxx/CMakeLists.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/Tests/CSharpLinkToCxx/CMakeLists.txt b/Tests/CSharpLinkToCxx/CMakeLists.txt
new file mode 100644
index 0000000..c4269e0
--- /dev/null
+++ b/Tests/CSharpLinkToCxx/CMakeLists.txt
@@ -0,0 +1,17 @@
+# test if CSharp application correctly links
+# to managed C++ binary
+cmake_minimum_required(VERSION 3.9)
+project (CSharpLinkToCxx CXX CSharp)
+
+# we have to change the default flags for the
+# managed C++ project to build
+string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
+
+add_library(CLIApp SHARED cli.hpp cli.cpp)
+
+target_compile_options(CLIApp PRIVATE "/clr")
+
+add_executable(CSharpLinkToCxx csharp.cs)
+
+target_link_libraries(CSharpLinkToCxx CLIApp)