From 99c7113079d2be29355073897cfa69d6f3b360ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 3 Dec 2014 11:57:38 +0100 Subject: [PATCH] CMake scripts --- CMakeLists.txt | 7 ++- libevmjit-cpp/CMakeLists.txt | 10 +++++ libevmjit/CMakeLists.txt | 84 +++++++++++++++++------------------- 3 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 libevmjit-cpp/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 00ade4305..d2acefc01 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,9 @@ +cmake_minimum_required(VERSION 2.8.12) + project(evmjit) -add_subdirectory(libevmjit) \ No newline at end of file +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +add_subdirectory(libevmjit) +add_subdirectory(libevmjit-cpp) \ No newline at end of file diff --git a/libevmjit-cpp/CMakeLists.txt b/libevmjit-cpp/CMakeLists.txt new file mode 100644 index 000000000..799607562 --- /dev/null +++ b/libevmjit-cpp/CMakeLists.txt @@ -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") + diff --git a/libevmjit/CMakeLists.txt b/libevmjit/CMakeLists.txt index 0b3226e14..155a627c1 100644 --- a/libevmjit/CMakeLists.txt +++ b/libevmjit/CMakeLists.txt @@ -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") -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 +#include_directories(..) -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}) -add_definitions(${LLVM_DEFINITIONS}) +# 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_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} )