3 changed files with 55 additions and 46 deletions
@ -1,4 +1,9 @@ |
|||||
|
|
||||
|
cmake_minimum_required(VERSION 2.8.12) |
||||
|
|
||||
project(evmjit) |
project(evmjit) |
||||
|
|
||||
add_subdirectory(libevmjit) |
set_property(GLOBAL PROPERTY USE_FOLDERS ON) |
||||
|
|
||||
|
add_subdirectory(libevmjit) |
||||
|
add_subdirectory(libevmjit-cpp) |
@ -0,0 +1,10 @@ |
|||||
|
|
||||
|
project(evmjit-cpp LANGUAGES CXX) |
||||
|
|
||||
|
set(SOURCES VM.cpp VM.h) |
||||
|
|
||||
|
source_group("" FILES ${SOURCES}) |
||||
|
|
||||
|
add_library(${PROJECT_NAME} ${SOURCES}) |
||||
|
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "libs") |
||||
|
|
@ -1,58 +1,52 @@ |
|||||
cmake_policy(SET CMP0015 NEW) |
|
||||
|
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSTATICLIB") |
project(evmjit LANGUAGES CXX) |
||||
|
|
||||
aux_source_directory(. SRC_LIST) |
file(GLOB SOURCES "*.cpp") |
||||
|
file(GLOB HEADERS "*.h") |
||||
|
source_group("" FILES ${SOURCES}) |
||||
|
source_group("" FILES ${HEADERS}) |
||||
|
|
||||
set(EXECUTABLE evmjit) |
add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS}) |
||||
|
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "libs") |
||||
|
|
||||
file(GLOB HEADERS "*.h") |
#include_directories(..) |
||||
if (EVMJIT_STATIC) |
|
||||
add_library(${EXECUTABLE} STATIC ${SRC_LIST} ${HEADERS}) |
|
||||
else() |
|
||||
add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS}) |
|
||||
endif() |
|
||||
|
|
||||
include_directories(..) |
|
||||
|
|
||||
target_link_libraries(${EXECUTABLE} devcore) |
|
||||
target_link_libraries(${EXECUTABLE} ethcore) |
|
||||
target_link_libraries(${EXECUTABLE} evmcore) |
|
||||
|
|
||||
|
|
||||
if ("${TARGET_PLATFORM}" STREQUAL "w64") |
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++") |
|
||||
target_link_libraries(${EXECUTABLE} gcc) |
|
||||
target_link_libraries(${EXECUTABLE} gdi32) |
|
||||
target_link_libraries(${EXECUTABLE} ws2_32) |
|
||||
target_link_libraries(${EXECUTABLE} mswsock) |
|
||||
target_link_libraries(${EXECUTABLE} shlwapi) |
|
||||
target_link_libraries(${EXECUTABLE} iphlpapi) |
|
||||
target_link_libraries(${EXECUTABLE} boost_thread_win32-mt-s) |
|
||||
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS) |
|
||||
else () |
|
||||
find_package(Threads REQUIRED) |
|
||||
target_link_libraries(${EXECUTABLE} ${CMAKE_THREAD_LIBS_INIT}) |
|
||||
endif () |
|
||||
|
|
||||
# LLVM specific config |
|
||||
|
|
||||
find_package(LLVM REQUIRED CONFIG) |
#target_link_libraries(${EXECUTABLE} devcore) |
||||
|
#target_link_libraries(${EXECUTABLE} ethcore) |
||||
|
#target_link_libraries(${EXECUTABLE} evmcore) |
||||
|
|
||||
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") |
|
||||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") |
|
||||
|
|
||||
include_directories(${LLVM_INCLUDE_DIRS}) |
# if ("${TARGET_PLATFORM}" STREQUAL "w64") |
||||
add_definitions(${LLVM_DEFINITIONS}) |
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++") |
||||
|
# target_link_libraries(${EXECUTABLE} gcc) |
||||
|
# target_link_libraries(${EXECUTABLE} gdi32) |
||||
|
# target_link_libraries(${EXECUTABLE} ws2_32) |
||||
|
# target_link_libraries(${EXECUTABLE} mswsock) |
||||
|
# target_link_libraries(${EXECUTABLE} shlwapi) |
||||
|
# target_link_libraries(${EXECUTABLE} iphlpapi) |
||||
|
# target_link_libraries(${EXECUTABLE} boost_thread_win32-mt-s) |
||||
|
# set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS) |
||||
|
# else () |
||||
|
# find_package(Threads REQUIRED) |
||||
|
# target_link_libraries(${EXECUTABLE} ${CMAKE_THREAD_LIBS_INIT}) |
||||
|
# endif () |
||||
|
|
||||
llvm_map_components_to_libnames(llvm_libs core support mcjit x86asmparser x86codegen) |
|
||||
target_link_libraries(evmjit ${llvm_libs}) |
|
||||
|
|
||||
# end of LLVM specific config |
# LLVM |
||||
|
find_package(LLVM REQUIRED CONFIG) |
||||
|
# message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") |
||||
|
# message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") |
||||
|
|
||||
|
include_directories(${LLVM_INCLUDE_DIRS}) |
||||
|
# add_definitions(${LLVM_DEFINITIONS}) |
||||
|
|
||||
|
llvm_map_components_to_libnames(LLVM_LIBS core support mcjit x86asmparser x86codegen) |
||||
|
target_link_libraries(${PROJECT_NAME} ${LLVM_LIBS}) |
||||
|
|
||||
|
# Boost |
||||
|
find_package(Boost REQUIRED) |
||||
|
include_directories(${Boost_INCLUDE_DIRS}) |
||||
|
|
||||
install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) |
|
||||
install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} ) |
|
||||
|
|
||||
cmake_policy(SET CMP0015 NEW) |
#install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) |
||||
|
#install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} ) |
||||
|
Loading…
Reference in new issue