|
|
@ -11,19 +11,48 @@ if (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") |
|
|
|
set_source_files_properties(Cache.cpp PROPERTIES COMPILE_FLAGS -fno-rtti) |
|
|
|
endif() |
|
|
|
|
|
|
|
find_package(Git) |
|
|
|
if(GIT_FOUND) |
|
|
|
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR} describe --dirty --always |
|
|
|
OUTPUT_VARIABLE EVMJIT_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
|
|
|
|
|
|
set(EVMJIT_VERSION "0.0.0") |
|
|
|
set(EVMJIT_VERSION_MAJOR 0) |
|
|
|
set(EVMJIT_VERSION_MINOR 0) |
|
|
|
set(EVMJIT_VERSION_PATCH 0) |
|
|
|
set(EVMJIT_VERSION_FULL "v0.0.0-nogit") |
|
|
|
|
|
|
|
find_package(Git) |
|
|
|
if(GIT_FOUND) |
|
|
|
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR} describe --dirty --always --match v* |
|
|
|
OUTPUT_VARIABLE EVMJIT_VERSION_FULL OUTPUT_STRIP_TRAILING_WHITESPACE) |
|
|
|
endif() |
|
|
|
if(NOT EVMJIT_VERSION) |
|
|
|
set(EVMJIT_VERSION "unknown") |
|
|
|
|
|
|
|
if(${EVMJIT_VERSION_FULL} MATCHES "^v[0-9]+\\.[0-9]+") |
|
|
|
string(SUBSTRING ${EVMJIT_VERSION_FULL} 1 -1 EVMJIT_VERSION_FULL) # skip "v" |
|
|
|
string(REPLACE "-" ";" VERSION_COMPONENTS ${EVMJIT_VERSION_FULL}) |
|
|
|
list(LENGTH VERSION_COMPONENTS NUM_VERSION_COMPONENTS) |
|
|
|
list(GET VERSION_COMPONENTS 0 EVMJIT_VERSION) |
|
|
|
string(REPLACE "." ";" VERSION_NUMBERS ${EVMJIT_VERSION}) |
|
|
|
list(LENGTH VERSION_NUMBERS NUM_VERSION_NUMBERS) |
|
|
|
list(GET VERSION_NUMBERS 0 EVMJIT_VERSION_MAJOR) |
|
|
|
list(GET VERSION_NUMBERS 1 EVMJIT_VERSION_MINOR) |
|
|
|
if(${NUM_VERSION_NUMBERS} GREATER 2) |
|
|
|
list(GET VERSION_NUMBERS 2 EVMJIT_VERSION_PATCH) # patch number is optional |
|
|
|
endif() |
|
|
|
if(${NUM_VERSION_COMPONENTS} GREATER 0) |
|
|
|
list(GET VERSION_COMPONENTS 1 EVMJIT_VERSION_PRERELEASE) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
if(${EVMJIT_VERSION_MAJOR} EQUAL 0) |
|
|
|
set(EVMJIT_SOVERSION "0.${EVMJIT_VERSION_MINOR}") |
|
|
|
else() |
|
|
|
set(EVMJIT_SOVERSION ${EVMJIT_VERSION_MAJOR}) |
|
|
|
endif() |
|
|
|
|
|
|
|
message("EVM JIT version: ${EVMJIT_VERSION}") |
|
|
|
message(STATUS "EVM JIT version: ${EVMJIT_VERSION_MAJOR}.${EVMJIT_VERSION_MINOR}.${EVMJIT_VERSION_PATCH}-${EVMJIT_VERSION_PRERELEASE} (${EVMJIT_VERSION_FULL})") |
|
|
|
|
|
|
|
add_library(${TARGET_NAME} SHARED ${SOURCES} ${HEADERS}) |
|
|
|
set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${EVMJIT_VERSION} FOLDER "libs") |
|
|
|
set_target_properties(${TARGET_NAME} PROPERTIES |
|
|
|
VERSION ${EVMJIT_VERSION} SOVERSION ${EVMJIT_SOVERSION} |
|
|
|
FOLDER "libs") |
|
|
|
|
|
|
|
include_directories(${LLVM_INCLUDE_DIRS}) |
|
|
|
|
|
|
@ -32,4 +61,4 @@ target_link_libraries(${TARGET_NAME} PRIVATE ${LLVM_LIBS}) |
|
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") |
|
|
|
|
|
|
|
install(TARGETS ${TARGET_NAME} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin) |
|
|
|
#install(FILES ${INTERFACE_HEADERS} DESTINATION include/${TARGET_NAME}) |
|
|
|
#install(FILES ${INTERFACE_HEADERS} DESTINATION include/${TARGET_NAME}) |