plsm-cpp/compiler/CMakeLists.txt
2024-02-24 21:34:06 +01:00

29 lines
708 B
CMake

cmake_minimum_required(VERSION 3.25)
project(plasmatum)
set(CMAKE_CXX_STANDARD 23)
set(SOURCE_DIR ${CMAKE_SOURCE_DIR}/src)
set(INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)
find_package(FLEX REQUIRED)
find_package(BISON REQUIRED)
BISON_TARGET(parser
${CMAKE_SOURCE_DIR}/parser.yy
${SOURCE_DIR}/parser.gen.cpp
DEFINES_FILE ${INCLUDE_DIR}/parser.gen.h)
FLEX_TARGET(lexer
${CMAKE_SOURCE_DIR}/lexer.ll
${SOURCE_DIR}/lexer.gen.cpp)
ADD_FLEX_BISON_DEPENDENCY(lexer parser)
file(GLOB_RECURSE sources ${SOURCE_DIR}/*.cpp)
set(sources ${sources} ${FLEX_lexer_OUTPUTS})
set(sources ${sources} ${BISON_parser_OUTPUT_SOURCE})
include_directories(${CMAKE_SOURCE_DIR}/include)
add_executable(plsm ${sources})