cmake_minimum_required(VERSION 3.5)

include(ExternalProject)

file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/prefix)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/prefix/include)


# add back GIT_TAG in with the correct SHA1 once
# https://gerrit.openbmc-project.xyz/#/c/10278/ is merged
#GIT_TAG
#2a3af936625bc66cfc6bae1952b57138f141377e
ExternalProject_Add(
    sdbusplus
    GIT_REPOSITORY
    "https://gerrit.openbmc-project.xyz/openbmc/sdbusplus"
    GIT_TAG
    fce038ad5ac9f458b03d55b441253a9c05dadc3e 
    SOURCE_DIR        "${CMAKE_BINARY_DIR}/sdbusplus-src"
    BINARY_DIR        "${CMAKE_BINARY_DIR}/sdbusplus-build"
    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ""
    INSTALL_COMMAND cp -r "${CMAKE_BINARY_DIR}/sdbusplus-src/sdbusplus"
                          "${CMAKE_BINARY_DIR}/prefix/include"
)

ExternalProject_Add(
    tinyxml2
    GIT_REPOSITORY
    "https://github.com/leethomason/tinyxml2.git"
    GIT_TAG
    8c8293ba8969a46947606a93ff0cb5a083aab47a
    CMAKE_ARGS
    SOURCE_DIR        "${CMAKE_BINARY_DIR}/tinyxml2-src"
    BINARY_DIR        "${CMAKE_BINARY_DIR}/tinyxml2-build"
    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix
)

ExternalProject_Add(
    Boost
    URL https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz
    URL_MD5 d275cd85b00022313c171f602db59fc5
    SOURCE_DIR        "${CMAKE_BINARY_DIR}/boost-src"
    BINARY_DIR        "${CMAKE_BINARY_DIR}/boost-build"
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ""
    INSTALL_COMMAND mkdir -p "${CMAKE_BINARY_DIR}/prefix/include/" && cp -R ${CMAKE_BINARY_DIR}/boost-src/boost ${CMAKE_BINARY_DIR}/prefix/include
)

ExternalProject_Add(
    gtest
    GIT_REPOSITORY
    "https://github.com/google/googletest.git"
    GIT_TAG
    dfa853b63d17c787914b663b50c2095a0c5b706e
    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/googletest-build
    SOURCE_DIR        "${CMAKE_BINARY_DIR}/googletest-src"
    BINARY_DIR        "${CMAKE_BINARY_DIR}/googletest-build"
    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/prefix
)

ExternalProject_Add(
    nlohmann-json
    GIT_REPOSITORY
    "https://github.com/nlohmann/json.git"
    GIT_TAG
    d2dd27dc3b8472dbaa7d66f83619b3ebcd9185fe
    SOURCE_DIR        "${CMAKE_BINARY_DIR}/nlohmann-json-src"
    BINARY_DIR        "${CMAKE_BINARY_DIR}/nlohmann-json-build"
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ""
    INSTALL_COMMAND mkdir -p "${CMAKE_BINARY_DIR}/prefix/include/nlohmann" &&
                    cp -r "${CMAKE_BINARY_DIR}/nlohmann-json-src/include/nlohmann"
                        "${CMAKE_BINARY_DIR}/prefix/include"

)
