Browse Source

Refactor cmake files

cl-refactor
Paweł Bylica 10 years ago
parent
commit
232f9fee52
  1. 4
      CMakeLists.txt
  2. 54
      evmcc/CMakeLists.txt
  3. 13
      libevmjit-cpp/CMakeLists.txt
  4. 46
      libevmjit/CMakeLists.txt

4
CMakeLists.txt

@ -1,4 +1,3 @@
cmake_minimum_required(VERSION 2.8.12)
project(evmjit)
@ -10,6 +9,9 @@ find_package(LLVM REQUIRED CONFIG)
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
# Boost
find_package(Boost REQUIRED)
add_subdirectory(libevmjit)
add_subdirectory(libevmjit-cpp)
add_subdirectory(evmcc)

54
evmcc/CMakeLists.txt

@ -1,48 +1,20 @@
cmake_policy(SET CMP0015 NEW)
set(TARGET_NAME evmcc)
project(evmjit CXX)
set(SOURCES
evmcc.cpp
)
source_group("" FILES ${SOURCES})
file(GLOB SOURCES "*.cpp")
file(GLOB HEADERS "*.h")
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "tools")
set(EXECUTABLE evmcc)
add_executable(${EXECUTABLE} ${HEADERS} ${SOURCES})
add_executable(${TARGET_NAME} ${SOURCES})
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "tools")
include_directories(../..)
target_link_libraries(${EXECUTABLE} boost_program_options)
target_link_libraries(${EXECUTABLE} devcore)
target_link_libraries(${EXECUTABLE} ethcore)
target_link_libraries(${EXECUTABLE} evmjit)
target_link_libraries(${EXECUTABLE} evm)
target_link_libraries(${EXECUTABLE} ethereum)
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 commands
find_package(LLVM REQUIRED CONFIG)
include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
llvm_map_components_to_libnames(llvm_libs bitwriter)
target_link_libraries(evmcc ${llvm_libs})
# end of LLVM specific commands
include_directories(${Boost_INCLUDE_DIRS})
install( TARGETS ${EXECUTABLE} DESTINATION bin )
target_link_libraries(${TARGET_NAME} ethereum)
target_link_libraries(${TARGET_NAME} ${Boost_PROGRAM_OPTIONS_LIBRARIES})
llvm_map_components_to_libnames(LLVM_LIBS bitwriter)
target_link_libraries(${TARGET_NAME} ${LLVM_LIBS})
cmake_policy(SET CMP0015 NEW)
install(TARGETS ${TARGET_NAME} DESTINATION bin )

13
libevmjit-cpp/CMakeLists.txt

@ -1,17 +1,16 @@
project(evmjit-cpp CXX)
set(TARGET_NAME evmjit-cpp)
set(SOURCES
Env.cpp
JitVM.cpp JitVM.h
)
source_group("" FILES ${SOURCES})
add_library(${PROJECT_NAME} ${SOURCES})
add_library(${TARGET_NAME} ${SOURCES})
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "libs")
include_directories(../..)
find_package(LLVM REQUIRED CONFIG)
include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
include_directories(${Boost_INCLUDE_DIRS})
source_group("" FILES ${SOURCES})
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "libs")
target_link_libraries(${TARGET_NAME} evmjit)

46
libevmjit/CMakeLists.txt

@ -1,51 +1,19 @@
project(evmjit CXX)
set(TARGET_NAME evmjit)
file(GLOB SOURCES "*.cpp")
file(GLOB HEADERS "*.h")
source_group("" FILES ${HEADERS})
source_group("" FILES ${SOURCES})
add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS})
#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 ()
add_library(${TARGET_NAME} ${SOURCES} ${HEADERS})
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "libs")
# LLVM specific commands
find_package(LLVM REQUIRED CONFIG)
include_directories(${LLVM_INCLUDE_DIRS})
include_directories(${Boost_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})
# end of LLVM specific commands
# Boost
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${LLVM_LIBS})
#install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib )
#install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} )
source_group("" FILES ${HEADERS})
source_group("" FILES ${SOURCES})
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "libs")

Loading…
Cancel
Save