xparallel 0.1.1

XCENA cpp pxl wrapper Library
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)