cmake_minimum_required(VERSION 3.10)

project(BoundaryScanExplorer)

# jtag_core must be the last linked archive for the application to compile
set(BS_MODULES jtag_core)

# We dive into submodules
file(GLOB MODULES_DIRS RELATIVE ${CMAKE_SOURCE_DIR}/modules ${CMAKE_SOURCE_DIR}/modules/*)
foreach(module ${MODULES_DIRS})
    set(module_path "${CMAKE_SOURCE_DIR}/modules/${module}")

    # checks if it is a sub-directory and if it contains a cmake file
    if(IS_DIRECTORY ${module_path} AND EXISTS "${module_path}/CMakeLists.txt")
        message(STATUS "Submodule : ${module}")
        if(NOT ${module} STREQUAL jtag_core)
            list(APPEND BS_MODULES ${module})
        endif()
        add_subdirectory(modules/${module})
    else()
        message(STATUS "Ignored   : ${module}")
    endif()
endforeach()

add_subdirectory(bs)
