123456789101112131415161718192021222324252627 |
- cmake_minimum_required(VERSION 3.5)
- project(llvm_tutorial CXX)
- set(LLVM_DIR "~/code/thesis/orchestra/build/llvm/share/llvm/cmake")
- find_package(LLVM REQUIRED CONFIG)
- message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
- message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
- set(LLVM_CXX_FLAGS "-fno-rtti")
- # Options to compile correctly the llvm tutorial
- add_compile_options(-std=c++14 -g -O0 -rdynamic)
- set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS})
- include_directories(${LLVM_INCLUDE_DIRS})
- add_definitions(${LLVM_DEFINITIONS})
- add_executable(kaleidoscope Main.cpp Lexer.cpp Parser.cpp Ast.cpp JIT.cpp)
- # Find the libraries that correspond to the LLVM components
- # that we wish to use
- llvm_map_components_to_libnames(llvm_libs core support native mcjit object scalaropts instcombine RuntimeDyld ExecutionEngine TransformUtils)
- # Link against LLVM libraries
- target_link_libraries(kaleidoscope ${llvm_libs})
|