CompilerSysY/CMakeLists.txt
2023-05-17 00:25:13 +08:00

27 lines
896 B
CMake

CMAKE_MINIMUM_REQUIRED(VERSION 3.7)
project(sysy)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1) # generate food for clangd
set(ANTLR_EXECUTABLE ${CMAKE_CURRENT_SOURCE_DIR}/tools/antlr-4.12.0-complete.jar)
find_package(ANTLR4-RUNTIME REQUIRED)
include_directories(${ANTLR4_INCLUDE_DIR})
# Custom sources start here
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/antlrgen)
file(GLOB_RECURSE SOURCES "src/*.cpp" "src/*.cc")
file(GLOB_RECURSE HEADERS "include/*.hpp" "include/*.h" "include/*.hh")
file(GLOB MY_SOURCES "src/*.cpp")
file(GLOB MY_HEADERS "include/*.h")
include(formatting.cmake)
clang_format(format ${MY_SOURCES} ${MY_HEADERS})
# clang_format_check(format_check ${MY_SOURCES} ${MY_HEADERS})
add_executable(sysy ${SOURCES})
# message(STATUS "${SOURCES}")
target_link_libraries(sysy antlr4_static)