Fix decimal display
[sdk/tools/netcoredbg.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8.12.2)
2 project(netcoredbg)
3
4 set(CLR_DIR "${CMAKE_SOURCE_DIR}/../coreclr" CACHE FILEPATH "Path to coreclr directory")
5 set(CLR_BIN_DIR "" CACHE FILEPATH "Path to coreclr bin directory")
6 set(BUILD_MANAGED ON CACHE BOOL "Build managed part")
7 set(DBGSHIM_INSTALL ON CACHE BOOL "Install libdbgshim")
8 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-null-conversion")
9
10 function(clr_unknown_arch)
11     message(FATAL_ERROR "Only AMD64, ARM64, ARM, ARMEL, I386 and WASM are supported")
12 endfunction()
13
14 # Follow order as in root CoreCLR CMakeLists.txt
15 include(detectplatform.cmake) # from root
16 include(platformdefinitions.cmake) # from root
17 include(compileoptions.cmake) # disabled setting arm compiler flags in Tizen build
18 include(clrdefinitions.cmake)
19
20 if (NOT IS_DIRECTORY "${CLR_DIR}")
21     message(FATAL_ERROR "Unable to find CoreCLR directory")
22 endif()
23
24 set(CLR_CONFIGURATION_TYPES "Debug;Checked;Release;RelWithDebInfo" CACHE STRING "")
25
26 if ("${CLR_BIN_DIR}" STREQUAL "")
27     if (CMAKE_SYSTEM_NAME STREQUAL Darwin)
28         set(TARGET_OS_NAME "OSX")
29     elseif (CMAKE_SYSTEM_NAME STREQUAL Linux)
30         set(TARGET_OS_NAME "Linux")
31     endif()
32
33     # TODO: Search for CMAKE_BUILD_TYPE configuration first
34     # TODO: CLR_CMAKE_TARGET_ARCH may be armel
35     foreach(CONFIG IN LISTS CLR_CONFIGURATION_TYPES)
36         set(CLR_BIN_DIR ${CLR_DIR}/bin/Product/${TARGET_OS_NAME}.${CLR_CMAKE_TARGET_ARCH}.${CONFIG})
37         if (IS_DIRECTORY "${CLR_BIN_DIR}")
38             break()
39         endif()
40     endforeach()
41
42     if (IS_DIRECTORY "${CLR_BIN_DIR}")
43         message(STATUS "CoreCLR bin directory: " ${CLR_BIN_DIR})
44     else()
45         message(FATAL_ERROR "Unable to find CoreCLR bin directory")
46     endif()
47 endif()
48
49 add_subdirectory(src/debug/netcoredbg)