35 lines
1.1 KiB
CMake
35 lines
1.1 KiB
CMake
# jit/CMakeLists.txt
|
|
|
|
set(SELF_LIB xo_jit)
|
|
set(SELF_SRCS
|
|
Jit.cpp
|
|
)
|
|
|
|
xo_add_shared_library4(${SELF_LIB} ${PROJECT_NAME}Targets ${PROJECT_VERSION} 1 ${SELF_SRCS})
|
|
xo_dependency(${SELF_LIB} xo_expression)
|
|
|
|
find_package(LLVM REQUIRED CONFIG)
|
|
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
|
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
|
message(STATUS "LLVM_DIR=${LLVM_DIR}")
|
|
message(STATUS "LLVM_DEFINITIONS=${LLVM_DEFINITIONS}")
|
|
message(STATUS "LLVM_INCLUDE_DIRS=[${LLVM_INCLUDE_DIRS}]")
|
|
|
|
separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
|
|
|
|
message(STATUS "LLVM_DEFINITIONS_LIST=[${LLVM_DEFINITIONS_LIST}]")
|
|
|
|
# Find the libraries that correspond to the LLVM components
|
|
execute_process(
|
|
COMMAND llvm-config --libs all
|
|
COMMAND tr -d '\n'
|
|
OUTPUT_VARIABLE LLVM_LIBS
|
|
)
|
|
|
|
message(STATUS "LLVM_LIBS=[${LLVM_LIBS}]")
|
|
|
|
target_include_directories(${SELF_LIB} PUBLIC ${LLVM_INCLUDE_DIRS})
|
|
target_compile_definitions(${SELF_LIB} PUBLIC ${LLVM_DEFINITIONS_LIST})
|
|
target_link_libraries(${SELF_LIB} PUBLIC ${LLVM_LIBS})
|
|
|
|
# end CMakeLists.txt
|