#!/bin/sh
set -e

WORKDIR=$(mktemp -d)
trap 'rm -rf $WORKDIR' EXIT

# Create a simple library project that uses rocm-cmake modules
mkdir -p "$WORKDIR/src/include"

cat >"$WORKDIR/src/include/mylib.h" <<'EOF'
#pragma once
int mylib_add(int a, int b);
EOF

cat >"$WORKDIR/src/mylib.cpp" <<'EOF'
#include "mylib.h"
int mylib_add(int a, int b) { return a + b; }
EOF

echo "MIT License" >"$WORKDIR/src/LICENSE"

# taking test/libsimpletest as example
cat >"$WORKDIR/src/CMakeLists.txt" <<'EOF'
cmake_minimum_required(VERSION 3.5...3.31.0)
project(mylib CXX)

find_package(ROCmCMakeBuildTools REQUIRED)

include(ROCMInstallTargets)
include(ROCMSetupVersion)
include(ROCMCreatePackage)

rocm_setup_version(VERSION 1.0.0)


add_library(mylib mylib.cpp)
target_include_directories(mylib PUBLIC
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
    $<INSTALL_INTERFACE:include>)

rocm_install_targets(TARGETS mylib INCLUDE include)
rocm_export_targets(TARGETS mylib)

rocm_create_package(
    NAME mylib
    MAINTAINER "Talha Can Havadar talha.can.havadar@canonical.com"
    PTH
    LDCONFIG)
EOF

cd "$WORKDIR/src"
cmake -B ../build -DCMAKE_INSTALL_PREFIX="$WORKDIR/install"
cmake --build ../build
cmake --install ../build

# Verify installation
test -f "$WORKDIR/install/lib/libmylib.a" || test -f "$WORKDIR/install/lib/libmylib.so"
test -f "$WORKDIR/install/include/mylib.h"
test -d "$WORKDIR/install/lib/cmake/mylib"

echo "PASS: build-simple-library test succeeded"
