CMake scripts

This commit is contained in:
Paweł Bylica 2014-12-03 11:57:38 +01:00
parent 5f61bdcca0
commit 99c7113079
3 changed files with 52 additions and 43 deletions

View file

@ -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)

View file

@ -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")

View file

@ -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)
set(EXECUTABLE evmjit)
file(GLOB SOURCES "*.cpp")
file(GLOB HEADERS "*.h") file(GLOB HEADERS "*.h")
if (EVMJIT_STATIC) source_group("" FILES ${SOURCES})
add_library(${EXECUTABLE} STATIC ${SRC_LIST} ${HEADERS}) source_group("" FILES ${HEADERS})
else()
add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS})
endif()
include_directories(..) add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS})
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "libs")
target_link_libraries(${EXECUTABLE} devcore) #include_directories(..)
target_link_libraries(${EXECUTABLE} ethcore)
target_link_libraries(${EXECUTABLE} evmcore) #target_link_libraries(${EXECUTABLE} devcore)
#target_link_libraries(${EXECUTABLE} ethcore)
#target_link_libraries(${EXECUTABLE} evmcore)
if ("${TARGET_PLATFORM}" STREQUAL "w64") # if ("${TARGET_PLATFORM}" STREQUAL "w64")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
target_link_libraries(${EXECUTABLE} gcc) # target_link_libraries(${EXECUTABLE} gcc)
target_link_libraries(${EXECUTABLE} gdi32) # target_link_libraries(${EXECUTABLE} gdi32)
target_link_libraries(${EXECUTABLE} ws2_32) # target_link_libraries(${EXECUTABLE} ws2_32)
target_link_libraries(${EXECUTABLE} mswsock) # target_link_libraries(${EXECUTABLE} mswsock)
target_link_libraries(${EXECUTABLE} shlwapi) # target_link_libraries(${EXECUTABLE} shlwapi)
target_link_libraries(${EXECUTABLE} iphlpapi) # target_link_libraries(${EXECUTABLE} iphlpapi)
target_link_libraries(${EXECUTABLE} boost_thread_win32-mt-s) # target_link_libraries(${EXECUTABLE} boost_thread_win32-mt-s)
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS) # set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
else () # else ()
find_package(Threads REQUIRED) # find_package(Threads REQUIRED)
target_link_libraries(${EXECUTABLE} ${CMAKE_THREAD_LIBS_INIT}) # target_link_libraries(${EXECUTABLE} ${CMAKE_THREAD_LIBS_INIT})
endif () # endif ()
# LLVM specific config
# LLVM
find_package(LLVM REQUIRED CONFIG) find_package(LLVM REQUIRED CONFIG)
# message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") # message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
include_directories(${LLVM_INCLUDE_DIRS}) include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS}) # add_definitions(${LLVM_DEFINITIONS})
llvm_map_components_to_libnames(llvm_libs core support mcjit x86asmparser x86codegen) llvm_map_components_to_libnames(LLVM_LIBS core support mcjit x86asmparser x86codegen)
target_link_libraries(evmjit ${llvm_libs}) target_link_libraries(${PROJECT_NAME} ${LLVM_LIBS})
# end of LLVM specific config # Boost
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
#install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib )
install( TARGETS ${EXECUTABLE} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) #install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} )
install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} )
cmake_policy(SET CMP0015 NEW)