# src/ 子目录构建脚本：各子目录独立维护 CMakeLists.txt，并在此聚合链接

add_subdirectory(utils)
add_subdirectory(ir)
add_subdirectory(frontend)
if(NOT COMPILER_PARSE_ONLY)
  add_subdirectory(sem)
  add_subdirectory(irgen)
  add_subdirectory(mir)
endif()

add_executable(compiler
  main.cpp
)
target_link_libraries(compiler PRIVATE
  frontend
  utils
)

if(NOT COMPILER_PARSE_ONLY)
  target_link_libraries(compiler PRIVATE
    sem
    irgen
    mir
  )
  target_compile_definitions(compiler PRIVATE COMPILER_PARSE_ONLY=0)
else()
  target_compile_definitions(compiler PRIVATE COMPILER_PARSE_ONLY=1)
endif()
