Find LLVM
This commit is contained in:
@@ -11,11 +11,13 @@ SET (SCULLY_VERSION_MINOR 1)
|
|||||||
SET (SCULLY_VERSION_RELEASE 0)
|
SET (SCULLY_VERSION_RELEASE 0)
|
||||||
SET (SCULLY_VERSION_EXTRA "WoC Friday Night")
|
SET (SCULLY_VERSION_EXTRA "WoC Friday Night")
|
||||||
|
|
||||||
|
SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
|
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/inc)
|
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/inc)
|
||||||
|
|
||||||
SET(CMAKE_CXX_FLAGS "-std=c++11")
|
SET (CMAKE_CXX_FLAGS "-std=c++11")
|
||||||
|
|
||||||
ADD_EXECUTABLE (lemon grammar/lemon.c)
|
ADD_EXECUTABLE (lemon grammar/lemon.c)
|
||||||
ADD_EXECUTABLE (makeheaders grammar/makeheaders.c)
|
ADD_EXECUTABLE (makeheaders grammar/makeheaders.c)
|
||||||
@@ -85,4 +87,10 @@ SET(SCULLY_SOURCE
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp
|
${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
FIND_PACKAGE (LLVM REQUIRED)
|
||||||
|
ADD_DEFINITIONS (${LLVM_CFLAGS})
|
||||||
|
|
||||||
ADD_EXECUTABLE (scully ${SCULLY_SOURCE})
|
ADD_EXECUTABLE (scully ${SCULLY_SOURCE})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES (scully ${LLVM_JIT_LIBS})
|
||||||
|
TARGET_LINK_LIBRARIES (scully ${LLVM_LFLAGS})
|
||||||
|
|||||||
31
cmake/FindLLVM.cmake
Normal file
31
cmake/FindLLVM.cmake
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# - Find libev
|
||||||
|
# Find the native LLVM includes and library
|
||||||
|
#
|
||||||
|
# LLVM_INCLUDE_DIR - where to find ev.h, etc.
|
||||||
|
# LLVM_LIBRARIES - List of libraries when using libev.
|
||||||
|
# LLVM_FOUND - True if libev found.
|
||||||
|
|
||||||
|
FIND_PROGRAM (LLVM_CONFIG_EXECUTABLE NAMES llvm-config DOC "llvm-config executable")
|
||||||
|
|
||||||
|
EXECUTE_PROCESS (COMMAND ${LLVM_CONFIG_EXECUTABLE} --cppflags
|
||||||
|
OUTPUT_VARIABLE LLVM_CFLAGS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
EXECUTE_PROCESS (COMMAND ${LLVM_CONFIG_EXECUTABLE} --ldflags
|
||||||
|
OUTPUT_VARIABLE LLVM_LFLAGS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
EXECUTE_PROCESS (COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs core jit native
|
||||||
|
OUTPUT_VARIABLE LLVM_JIT_LIBS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
EXECUTE_PROCESS (COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs all
|
||||||
|
OUTPUT_VARIABLE LLVM_ALL_LIBS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
#MESSAGE("llvm jit libs: " ${LLVM_JIT_LIBS})
|
||||||
|
|
||||||
Reference in New Issue
Block a user