### YOU CAN'T MODIFY THE CODE BELOW
cmake_minimum_required(VERSION 3.15.2)
project(python_interpreter)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast")

include_directories(/usr/include/antlr4-runtime/)
include_directories(
	${PROJECT_SOURCE_DIR}/generated/
	${PROJECT_SOURCE_DIR}/src/
)

add_subdirectory(${PROJECT_SOURCE_DIR}/generated)
### YOU CAN"T MODIFY THE CODE ABOVE

add_subdirectory(libs)
add_subdirectory(test)
file(GLOB_RECURSE main_src src/*.cpp)

include_directories(${PROJECT_SOURCE_DIR}/include)

add_executable(code ${main_src}) # Add all *.cpp file after src/main.cpp, like src/Evalvisitor.cpp did
target_include_directories(code PRIVATE ${PROJECT_SOURCE_DIR}/libs)
target_precompile_headers(code PUBLIC ${PROJECT_SOURCE_DIR}/libs/clipp/clipp.h ${PROJECT_SOURCE_DIR}/libs/json/json.hpp ${PROJECT_SOURCE_DIR}/libs/int2048/int2048.h)
target_link_directories(code PRIVATE ${PROJECT_SOURCE_DIR}/libs/int2048)
target_link_libraries(code int2048)

### YOU CAN'T MODIFY THE CODE BELOW
target_link_libraries(code PyAntlr)
target_link_libraries(code antlr4-runtime)
### YOU CAN"T MODIFY THE CODE ABOVE

include(test/ctest_config)