macro(ADD_EXAMPLE name)
    add_executable(example_${name} example_${name}.f90)
    target_link_libraries(example_${name} "${PROJECT_NAME}")
    add_test(NAME ${name}
             COMMAND $<TARGET_FILE:example_${name}> ${CMAKE_CURRENT_BINARY_DIR}
             WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endmacro(ADD_EXAMPLE)

macro(ADD_EXAMPLEPP name)
    add_executable(example_${name} example_${name}.F90)
    target_link_libraries(example_${name} "${PROJECT_NAME}")
    add_test(NAME ${name}
             COMMAND $<TARGET_FILE:example_${name}> ${CMAKE_CURRENT_BINARY_DIR}
             WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endmacro(ADD_EXAMPLEPP)



if (STDLIB_ANSI)
  add_subdirectory(ansi)
endif()
add_subdirectory(array)
add_subdirectory(ascii)
if (STDLIB_BITSETS)
  add_subdirectory(bitsets)
endif()
add_subdirectory(constants)
add_subdirectory(error)
if (STDLIB_HASHMAPS)
  add_subdirectory(hashmaps)
endif()
add_subdirectory(hash_procedures)
add_subdirectory(intrinsics)
if (STDLIB_IO)
  add_subdirectory(io)
endif()
add_subdirectory(linalg)
if (STDLIB_LOGGER)
  add_subdirectory(logger)
endif()
add_subdirectory(math)
add_subdirectory(optval)
if (STDLIB_QUADRATURE)
  add_subdirectory(quadrature)
endif()
add_subdirectory(selection)
add_subdirectory(sorting)
add_subdirectory(specialfunctions_gamma)
if (STDLIB_SPECIALMATRICES)
  add_subdirectory(specialmatrices)
endif()
if (STDLIB_STATS)
  add_subdirectory(stats)
  add_subdirectory(stats_distribution_exponential)
  add_subdirectory(stats_distribution_normal)
  add_subdirectory(stats_distribution_uniform)
  add_subdirectory(random)
endif()
if (STDLIB_STRINGLIST)
  add_subdirectory(stringlist_type)
endif()
add_subdirectory(strings)
add_subdirectory(string_type)
if (STDLIB_SYSTEM)
  add_subdirectory(system)
endif()
add_subdirectory(version)
