From bd533dfa61a4e26c044f2851f71f1fa259c0c59f Mon Sep 17 00:00:00 2001 From: Igor Kulaychuk Date: Tue, 22 May 2018 18:47:18 +0300 Subject: [PATCH] Automaticaly find CoreCLR bin directory if it is not specified --- CMakeLists.txt | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a8f92d1..ee0e76e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.12.2) project(netcoredbg) set(CLR_DIR "${CMAKE_SOURCE_DIR}/../coreclr" CACHE FILEPATH "Path to coreclr directory") -set(CLR_BIN_DIR "${CLR_DIR}/bin/Product/Linux.x64.Debug" CACHE FILEPATH "Path to coreclr bin directory") +set(CLR_BIN_DIR "" CACHE FILEPATH "Path to coreclr bin directory") set(BUILD_MANAGED ON CACHE BOOL "Build managed part") set(DBGSHIM_INSTALL ON CACHE BOOL "Install libdbgshim") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-null-conversion") @@ -10,4 +10,31 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-null-conversion") include(clrdefinitions.cmake) include(compileoptions.cmake) +if (NOT IS_DIRECTORY "${CLR_DIR}") + message(FATAL_ERROR "Unable to find CoreCLR directory") +endif() + +if ("${CLR_BIN_DIR}" STREQUAL "") + if (CMAKE_SYSTEM_NAME STREQUAL Darwin) + set(TARGET_OS_NAME "OSX") + elseif (CMAKE_SYSTEM_NAME STREQUAL Linux) + set(TARGET_OS_NAME "Linux") + endif() + # TODO: Search for CMAKE_BUILD_TYPE configuration first + # TODO: CLR_CMAKE_TARGET_ARCH may be armel + set(CLR_BIN_DIR ${CLR_DIR}/bin/Product/${TARGET_OS_NAME}.${CLR_CMAKE_TARGET_ARCH}.Debug) + if (NOT IS_DIRECTORY "${CLR_BIN_DIR}") + set(CLR_BIN_DIR ${CLR_DIR}/bin/Product/${TARGET_OS_NAME}.${CLR_CMAKE_TARGET_ARCH}.Release) + endif() + if (NOT IS_DIRECTORY "${CLR_BIN_DIR}") + set(CLR_BIN_DIR ${CLR_DIR}/bin/Product/${TARGET_OS_NAME}.${CLR_CMAKE_TARGET_ARCH}.Checked) + endif() + + if (IS_DIRECTORY "${CLR_BIN_DIR}") + message(STATUS "CoreCLR bin directory: " ${CLR_BIN_DIR}) + else() + message(FATAL_ERROR "Unable to find CoreCLR bin directory") + endif() +endif() + add_subdirectory(src/debug/netcoredbg) -- 2.7.4