cmake_minimum_required(VERSION 3.22)
project(xparallel)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# set(CMAKE_MODULE_PATH
# ${CMAKE_MODULE_PATH}
# ${CMAKE_CURRENT_SOURCE_DIR}/cmake
# )
# include(xparallel-helper)
# set(MU_TARGET_ISA "P4" CACHE STRING "Choose one of the following options: P4, RISC-V")
# set_property(CACHE MU_TARGET_ISA PROPERTY STRINGS "P4" "RISC-V")
# option(XPARALLEL_BUILD_DEVICE "Enable DEVICE Build" ON)
# option(XPARALLEL_BUILD_CMODEL "Enable C-Model Build" ON)
# if(${XPARALLEL_HOST_SYSTEM})
# if(${XPARALLEL_BUILD_DEVICE})
# if(MU_TARGET_ISA STREQUAL "RISC-V")
# message(STATUS "MU ISA is RISC-V.")
# set(MU_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/toolchain/mu-riscv.cmake)
# elseif(MU_TARGET_ISA STREQUAL "P4")
# message(STATUS "MU ISA is P4.")
# set(MU_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/toolchain/mu-p4.cmake)
# else()
# message(FATAL_ERROR "MU_TARGET_ISA is not defined.")
# endif()
# execute_process(
# COMMAND ${CMAKE_COMMAND}
# -DCMAKE_TOOLCHAIN_FILE=${MU_TOOLCHAIN_FILE}
# -S ${CMAKE_CURRENT_SOURCE_DIR}
# -B ${CMAKE_BINARY_DIR}/_mu
# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
# -DMU_TARGET_ISA=${MU_TARGET_ISA}
# -G "${CMAKE_GENERATOR}"
# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
# )
# add_custom_target(
# device_build ALL
# COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/_mu
# )
# endif()
# if(${XPARALLEL_BUILD_CMODEL})
# execute_process(
# COMMAND ${CMAKE_COMMAND}
# -S ${CMAKE_CURRENT_SOURCE_DIR}
# -B ${CMAKE_BINARY_DIR}/_cmodel
# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
# -DMU_TARGET_ISA=${MU_TARGET_ISA}
# -DXPARALLEL_CMODEL_SYSTEM=ON
# -G "${CMAKE_GENERATOR}"
# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
# )
# add_custom_target(
# cmodel_build ALL
# COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/_cmodel
# )
# endif()
# endif()
# if(NOT TARGET device_build)
# add_custom_target(device_build ALL)
# endif()
# if(NOT TARGET cmodel_build)
# add_custom_target(cmodel_build ALL)
# endif()
set(SDK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../)
set(PXL_DIR ${SDK_DIR}/pxl)
set(METISX_DIR ${SDK_DIR}/metisx)
include_directories(${PXL_DIR}/include ${PXL_DIR}/src ${METISX_DIR})
add_subdirectory(xparallel)
# add_subdirectory(xtest)