26 lines
801 B
CMake
26 lines
801 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)
|
|
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) |