c-compiler/CMakeLists.txt

26 lines
832 B
CMake

cmake_minimum_required(VERSION 3.20.0)
project(SimpleProject)
set(PROJECT_NAME llvm_c_compiler)
project(${PROJECT_NAME} VERSION 1.0.0 LANGUAGES CXX)
# Include LLVM as library
find_package(LLVM 21.1.0 CONFIG)
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
include_directories(${LLVM_INCLUDE_DIRS})
separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
add_definitions(${LLVM_DEFINITIONS_LIST})
# Executable
add_executable(${PROJECT_NAME} src/main.cpp src/tokens.cpp src/parsing.cpp)
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
# Find the libraries that correspond to the LLVM components
# that we wish to use
llvm_map_components_to_libnames(llvm_libs support core irreader)
# Link
target_link_libraries(${PROJECT_NAME} LLVM)