From 232f9fee527e454f4008c2c03a9c7dac1c5c85ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Fri, 19 Dec 2014 12:32:01 +0100 Subject: [PATCH] Refactor cmake files --- CMakeLists.txt | 4 ++- evmcc/CMakeLists.txt | 54 +++++++++--------------------------- libevmjit-cpp/CMakeLists.txt | 13 ++++----- libevmjit/CMakeLists.txt | 46 +++++------------------------- 4 files changed, 29 insertions(+), 88 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4243f66762..06027b8831 100644 --- a/CMakeLists.txt +++ b/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) \ No newline at end of file diff --git a/evmcc/CMakeLists.txt b/evmcc/CMakeLists.txt index e11baabbba..b68f7e78b0 100644 --- a/evmcc/CMakeLists.txt +++ b/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}) +include_directories(${Boost_INCLUDE_DIRS}) -llvm_map_components_to_libnames(llvm_libs bitwriter) -target_link_libraries(evmcc ${llvm_libs}) -# end of LLVM specific commands +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}) - -install( TARGETS ${EXECUTABLE} DESTINATION bin ) - -cmake_policy(SET CMP0015 NEW) +install(TARGETS ${TARGET_NAME} DESTINATION bin ) \ No newline at end of file diff --git a/libevmjit-cpp/CMakeLists.txt b/libevmjit-cpp/CMakeLists.txt index 1750b04ceb..25be95177e 100644 --- a/libevmjit-cpp/CMakeLists.txt +++ b/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") \ No newline at end of file +target_link_libraries(${TARGET_NAME} evmjit) diff --git a/libevmjit/CMakeLists.txt b/libevmjit/CMakeLists.txt index 82ae0d3b12..59c94880b7 100644 --- a/libevmjit/CMakeLists.txt +++ b/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}) +add_library(${TARGET_NAME} ${SOURCES} ${HEADERS}) +set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "libs") -#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 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")