summaryrefslogtreecommitdiff
path: root/src/coreclr/hosts/unixcorerun/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/coreclr/hosts/unixcorerun/CMakeLists.txt')
-rw-r--r--src/coreclr/hosts/unixcorerun/CMakeLists.txt33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/coreclr/hosts/unixcorerun/CMakeLists.txt b/src/coreclr/hosts/unixcorerun/CMakeLists.txt
new file mode 100644
index 0000000000..b32c9833bf
--- /dev/null
+++ b/src/coreclr/hosts/unixcorerun/CMakeLists.txt
@@ -0,0 +1,33 @@
+project(unixcorerun)
+
+include_directories(../unixcoreruncommon)
+
+add_compile_options(-fPIE)
+
+set(CORERUN_SOURCES
+ corerun.cpp
+)
+
+_add_executable(corerun
+ ${CORERUN_SOURCES}
+)
+
+# FreeBSD and NetBSD implement dlopen(3) in libc
+if(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD)
+ target_link_libraries(corerun
+ dl
+ )
+endif(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD)
+
+# Libc turns locks into no-ops if pthread was not loaded into process yet. Loading
+# pthread by the process executable ensures that all locks are initialized properly.
+target_link_libraries(corerun
+ unixcoreruncommon
+ pthread
+)
+
+add_dependencies(corerun
+ coreclr
+)
+
+install_clr(corerun) \ No newline at end of file