summaryrefslogtreecommitdiff
path: root/src/coreclr/hosts/unixcorerun/CMakeLists.txt
blob: 5ee10b871ca1bd1fe8bd8c08ad3cc1df1d08ca6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
project(unixcorerun)

include_directories(../unixcoreruncommon)

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
)

# Android implements pthread natively
if(NOT CLR_CMAKE_PLATFORM_ANDROID)
  target_link_libraries(corerun
    pthread
  )
endif()

install_clr(corerun)