# ******************************************************************************
# Copyright 2017-2020 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ******************************************************************************

cmake_minimum_required(VERSION 3.1)

include(ExternalProject)

project(mlir-fetch NONE)

set(MLIR_LLVM_CMAKE_ARGS @NGRAPH_FORWARD_CMAKE_ARGS@
                   -DLLVM_ENABLE_RTTI=ON
                   -DLLVM_ENABLE_PROJECTS:STRING=mlir
                   -DLLVM_BUILD_EXAMPLES=ON
                   -DLLVM_TARGETS_TO_BUILD=host)

include(ProcessorCount)
ProcessorCount(N)
if(N EQUAL 0)
    set(N 8)
endif()

ExternalProject_Add(
    ext_mlir_llvm
    PREFIX mlir_llvm
    GIT_REPOSITORY @MLIR_LLVM_REPO_URL@
    GIT_TAG @MLIR_LLVM_COMMIT_ID@
    CMAKE_GENERATOR "${CMAKE_GENERATOR}"
    CMAKE_GENERATOR_PLATFORM "${CMAKE_GENERATOR_PLATFORM}"
    CMAKE_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}"
    CONFIGURE_COMMAND @CMAKE_COMMAND@ @MLIR_LLVM_SOURCE_DIR@ -G "@CMAKE_GENERATOR@" -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} -DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} ${MLIR_LLVM_CMAKE_ARGS} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
    BUILD_COMMAND @CMAKE_COMMAND@ --build . --target check-mlir -- -j${N}
    INSTALL_COMMAND ""
    SOURCE_DIR @MLIR_LLVM_ROOT@
    BINARY_DIR @MLIR_LLVM_BUILD_DIR@
    STAMP_DIR "@MLIR_PROJECT_ROOT@/mlir/stamp"
    DOWNLOAD_NO_PROGRESS TRUE
    )