#------------------------------------------------------------------------------#
# Function to add unit tests.
#------------------------------------------------------------------------------#

function(modules_add_unit name)
  flecsi_add_test(${name} ${ARGN})
  if(TARGET ${name})
    target_link_libraries(${name} PUBLIC ${MODULES_TARGET}::${MODULES_TARGET})
  endif()
endfunction()

#------------------------------------------------------------------------------#
# Modules CMakeLists.txt
#------------------------------------------------------------------------------#

function(modules_headers)
  target_sources(${MODULES_TARGET} PUBLIC FILE_SET public_headers TYPE HEADERS
    BASE_DIRS ${CMAKE_SOURCE_DIR} FILES ${ARGN})
endfunction()

# Uncomment at need
#function(modules_sources)
#  target_sources(${MODULES_TARGET} PRIVATE ${ARGN})
#endfunction()

#------------------------------------------------------------------------------#
# Submodules.
#------------------------------------------------------------------------------#

add_subdirectory(common)
add_subdirectory(spec)
