diff --git a/internal/core/CMakeLists.txt b/internal/core/CMakeLists.txt index e82f4dce79f..0576b43de8a 100644 --- a/internal/core/CMakeLists.txt +++ b/internal/core/CMakeLists.txt @@ -25,18 +25,26 @@ cmake_minimum_required( VERSION 3.18 ) # add_compile_options(-fno-stack-protector -fno-omit-frame-pointer -fno-var-tracking -fsanitize=address) # add_link_options(-fno-stack-protector -fno-omit-frame-pointer -fno-var-tracking -fsanitize=address) +project(core) if ( APPLE ) set( CMAKE_CROSSCOMPILING TRUE ) set( RUN_HAVE_GNU_POSIX_REGEX 0 ) - set( CMAKE_C_COMPILER "/usr/local/opt/llvm/bin/clang" ) - set( CMAKE_CXX_COMPILER "/usr/local/opt/llvm/bin/clang++" ) + + execute_process ( + COMMAND bash -c "brew --prefix llvm" + OUTPUT_VARIABLE LLVM_PREFIX + ) + + #set( CMAKE_C_COMPILER "${LLVM_PREFIX}/bin/clang" ) + #message( STATUS "Check clang set to ${LLVM_PREFIX}/bin/clang") + #set( CMAKE_CXX_COMPILER "${LLVM_PREFIX}/bin/clang++" ) + #message( STATUS "Check clang not exist, set to ${LLVM_PREFIX}/bin/clang++") endif () add_definitions(-DELPP_THREAD_SAFE) set(CMAKE_POSITION_INDEPENDENT_CODE ON) message( STATUS "Building using CMake version: ${CMAKE_VERSION}" ) -project(core) include(CheckCXXCompilerFlag) if ( APPLE ) message(STATUS "==============Darwin Environment==============") diff --git a/scripts/core_build.sh b/scripts/core_build.sh index a4e06028b2d..fac3a32a0cd 100755 --- a/scripts/core_build.sh +++ b/scripts/core_build.sh @@ -169,10 +169,31 @@ if [[ ${MAKE_CLEAN} == "ON" ]]; then exit 0 fi + +function determineLLVMPrefix() +{ + llvm_prefix="$(brew --prefix llvm)" + + if [ -d "$llvm_prefix" ]; then + echo "set llvm_prefix to $llvm_prefix" + else + llvm_hard_prefix=`ls -d ${llvm_prefix}* | tail -n 1` + if [ -d "$llvm_hard_prefix" ]; then + llvm_prefix=${llvm_hard_prefix} + echo "set llvm_prefix to ${llvm_prefix}" + else + echo "llvm not found" + fi + fi +} + + + unameOut="$(uname -s)" case "${unameOut}" in Darwin*) - llvm_prefix="$(brew --prefix llvm)" + #llvm_prefix="$(brew --prefix llvm)" + determineLLVMPrefix export CLANG_TOOLS_PATH="${llvm_prefix}/bin" export CC="${llvm_prefix}/bin/clang" export CXX="${llvm_prefix}/bin/clang++"