Browse Source

devcore, evmcore, jsqrc compiling on windows

cl-refactor
debris 10 years ago
parent
commit
bb3a0bc0e4
  1. 63
      cmake/EthCompilerSettings.cmake
  2. 2
      libdevcore/CMakeLists.txt
  3. 8
      libdevcore/RLP.h
  4. 5
      libevmcore/CMakeLists.txt
  5. 4
      libevmcore/Instruction.cpp
  6. 16
      libjsqrc/CMakeLists.txt

63
cmake/EthCompilerSettings.cmake

@ -12,7 +12,8 @@ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wno-unknown-pragmas -Wextra -DSHAREDLIB") set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wno-unknown-pragmas -Wextra -DSHAREDLIB")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -DSHAREDLIB") set(CMAKE_CXX_FLAGS "")
set(ETH_STATIC 1)
else () else ()
message(FATAL_ERROR "Your C++ compiler does not support C++11. You have ${CMAKE_CXX_COMPILER_ID}") message(FATAL_ERROR "Your C++ compiler does not support C++11. You have ${CMAKE_CXX_COMPILER_ID}")
endif () endif ()
@ -27,36 +28,36 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG -DETH_RELEASE")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DETH_DEBUG") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DETH_DEBUG")
# Windows # Windows
if ("${TARGET_PLATFORM}" STREQUAL "w64") #if ("${TARGET_PLATFORM}" STREQUAL "w64")
set(CMAKE_SYSTEM_NAME Windows) # set(CMAKE_SYSTEM_NAME Windows)
#
set(CMAKE_CXX_LIBRARY_ARCHITECTURE x86_64-w64-mingw32) # set(CMAKE_CXX_LIBRARY_ARCHITECTURE x86_64-w64-mingw32)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) # set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) # set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) # set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
set(CMAKE_AR x86_64-w64-mingw32-ar) # set(CMAKE_AR x86_64-w64-mingw32-ar)
set(CMAKE_RANLIB x86_64-w64-mingw32-ranlib) # set(CMAKE_RANLIB x86_64-w64-mingw32-ranlib)
#
set(CMAKE_EXECUTABLE_SUFFIX .exe) # set(CMAKE_EXECUTABLE_SUFFIX .exe)
#
set(CMAKE_FIND_ROOT_PATH # set(CMAKE_FIND_ROOT_PATH
/usr/x86_64-w64-mingw32 # /usr/x86_64-w64-mingw32
) # )
#
include_directories(/usr/x86_64-w64-mingw32/include/cryptopp) # include_directories(/usr/x86_64-w64-mingw32/include/cryptopp)
#
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
#
set(CMAKE_INSTALL_PREFIX /usr/x86_64-w64-mingw32) # set(CMAKE_INSTALL_PREFIX /usr/x86_64-w64-mingw32)
set(ETH_BUILD_PLATFORM "windows") # set(ETH_BUILD_PLATFORM "windows")
set(ETH_STATIC 1) # set(ETH_STATIC 1)
else () #else ()
set(ETH_BUILD_PLATFORM ${CMAKE_SYSTEM_NAME}) # set(ETH_BUILD_PLATFORM ${CMAKE_SYSTEM_NAME})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(ETH_SHARED 1) # set(ETH_SHARED 1)
endif() #endif()

2
libdevcore/CMakeLists.txt

@ -19,8 +19,8 @@ else()
add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS}) add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS})
endif() endif()
target_link_libraries(${EXECUTABLE} ${Boost_THREAD_LIBRARY})
target_link_libraries(${EXECUTABLE} ${Boost_SYSTEM_LIBRARY}) target_link_libraries(${EXECUTABLE} ${Boost_SYSTEM_LIBRARY})
target_link_libraries(${EXECUTABLE} ${Boost_THREAD_LIBRARY})
if (APPLE) if (APPLE)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)

8
libdevcore/RLP.h

@ -28,10 +28,10 @@
#include <exception> #include <exception>
#include <iostream> #include <iostream>
#include <iomanip> #include <iomanip>
#include <libdevcore/vector_ref.h> #include "vector_ref.h"
#include <libdevcore/Common.h> #include "Common.h"
#include <libdevcore/Exceptions.h> #include "Exceptions.h"
#include <libdevcore/FixedHash.h> #include "FixedHash.h"
namespace dev namespace dev
{ {

5
libevmcore/CMakeLists.txt

@ -5,6 +5,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSTATICLIB")
aux_source_directory(. SRC_LIST) aux_source_directory(. SRC_LIST)
include_directories(..)
include_directories(${Boost_INCLUDE_DIRS})
set(EXECUTABLE evmcore) set(EXECUTABLE evmcore)
file(GLOB HEADERS "*.h") file(GLOB HEADERS "*.h")
@ -14,8 +17,6 @@ else()
add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS}) add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS})
endif() endif()
include_directories(..)
target_link_libraries(${EXECUTABLE} devcore) target_link_libraries(${EXECUTABLE} devcore)
install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib )

4
libevmcore/Instruction.cpp

@ -326,7 +326,11 @@ InstructionInfo dev::eth::instructionInfo(Instruction _inst)
} }
catch (...) catch (...)
{ {
#ifndef BOOST_NO_EXCEPTIONS
cwarn << "<INVALID_INSTRUCTION: " << toString((unsigned)_inst) << ">\n" << boost::current_exception_diagnostic_information(); cwarn << "<INVALID_INSTRUCTION: " << toString((unsigned)_inst) << ">\n" << boost::current_exception_diagnostic_information();
#else
cwarn << "<INVALID_INSTRUCTION: " << toString((unsigned)_inst) << ">\n";
#endif
return InstructionInfo({"<INVALID_INSTRUCTION: " + toString((unsigned)_inst) + ">", 0, 0, 0, false}); return InstructionInfo({"<INVALID_INSTRUCTION: " + toString((unsigned)_inst) + ">", 0, 0, 0, false});
} }
} }

16
libjsqrc/CMakeLists.txt

@ -1,20 +1,4 @@
cmake_policy(SET CMP0015 NEW) cmake_policy(SET CMP0015 NEW)
# Find Qt5 for Apple and update src_list for windows
if (APPLE)
# homebrew defaults to qt4 and installs qt5 as 'keg-only'
# which places it into /usr/local/opt insteadof /usr/local.
set(CMAKE_PREFIX_PATH /usr/local/opt/qt5)
include_directories(/usr/local/opt/qt5/include /usr/local/include)
elseif ("${TARGET_PLATFORM}" STREQUAL "w64")
set(SRC_LIST ${SRC_LIST} ../windows/qt_plugin_import.cpp)
elseif (UNIX)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ";$ENV{QTDIR}/lib/cmake")
endif ()
find_package(Qt5Core)
set(CMAKE_AUTOMOC OFF) set(CMAKE_AUTOMOC OFF)
qt5_add_resources(JSQRC js.qrc) qt5_add_resources(JSQRC js.qrc)

Loading…
Cancel
Save