aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarkpar <arkady.paronyan@gmail.com>2015-08-24 21:51:52 +0800
committerarkpar <arkady.paronyan@gmail.com>2015-08-24 21:51:52 +0800
commit3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701 (patch)
tree8c5f2d6800c0b254c2dfbd1a1111562cffbbd665
parent289b8146703521943e6106e5d3f178deb0117652 (diff)
downloaddexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.tar
dexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.tar.gz
dexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.tar.bz2
dexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.tar.lz
dexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.tar.xz
dexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.tar.zst
dexon-solidity-3ea1a62fa98e57cc2b882c8593c7d58cd8dd4701.zip
Refactoreed CMakeLists for new module system
-rw-r--r--CMakeLists.txt50
-rw-r--r--libsolidity/CMakeLists.txt9
-rw-r--r--solc/CMakeLists.txt5
-rw-r--r--test/CMakeLists.txt17
4 files changed, 26 insertions, 55 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5198adb4..49de37e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,35 +1,15 @@
-cmake_minimum_required(VERSION 2.8.12)
-
-cmake_policy(SET CMP0015 NEW)
-# let cmake autolink dependencies on windows
-cmake_policy(SET CMP0020 NEW)
-# this policy was introduced in cmake 3.0
-# remove if, once 3.0 will be used on unix
-if (${CMAKE_MAJOR_VERSION} GREATER 2)
- cmake_policy(SET CMP0043 OLD)
-endif()
-
-# TODO use version from Version.h
-set(PROJECT_VERSION "0.9.42")
-if (${CMAKE_VERSION} VERSION_GREATER 3.0)
- cmake_policy(SET CMP0042 OLD) # fix MACOSX_RPATH
- cmake_policy(SET CMP0048 NEW) # allow VERSION argument in project()
- project(solidity VERSION ${PROJECT_VERSION})
-else()
- project(solidity)
-endif()
-
-# Figure out environment.
-set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/../cpp-ethereum-cmake" CACHE PATH "The the path to the cmake directory")
-set(ETH_DIR "${CMAKE_CURRENT_LIST_DIR}/../cpp-ethereum" CACHE PATH "The path to the cpp-ethereum directory")
-set(BUILD_DIR_NAME "build" CACHE STRING "The name of the build directory in cpp-ethereum")
-set(ETH_BUILD_DIR "${ETH_DIR}/${BUILD_DIR_NAME}")
+cmake_minimum_required(VERSION 3.0.0)
-# A place where should we look for *.cmake files
+set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/../cpp-ethereum-cmake" CACHE PATH "The the path to the cmake directory")
list(APPEND CMAKE_MODULE_PATH ${ETH_CMAKE_DIR})
-# A place where we should look for ethereum libraries
-set(CMAKE_LIBRARY_PATH ${ETH_BUILD_DIR})
+# Set cmake_policies
+include(EthPolicy)
+eth_policy()
+
+# project name and version should be set after cmake_policy CMP0048
+set(PROJECT_VERSION "0.1.0")
+project(solidity VERSION ${PROJECT_VERSION})
# Let's find our dependencies
include(EthDependencies)
@@ -40,16 +20,8 @@ include(EthCompilerSettings)
# Include helper macros
include(EthExecutableHelper)
-# Include a directory with BuildInfo.h
-include_directories(${ETH_BUILD_DIR})
-
-find_package(Eth)
-
-include_directories(BEFORE ${JSONCPP_INCLUDE_DIRS})
-include_directories(BEFORE .)
-include_directories(${Boost_INCLUDE_DIRS})
-include_directories(${ETH_DIR})
-include_directories(${CPPETHEREUM_BUILD})
+# Include utils
+include(EthUtils)
add_subdirectory(libsolidity)
add_subdirectory(solc)
diff --git a/libsolidity/CMakeLists.txt b/libsolidity/CMakeLists.txt
index 159405a2..fa1fd233 100644
--- a/libsolidity/CMakeLists.txt
+++ b/libsolidity/CMakeLists.txt
@@ -10,15 +10,12 @@ set(EXECUTABLE solidity)
file(GLOB HEADERS "*.h")
include_directories(BEFORE ..)
+include_directories(BEFORE ${JSONCPP_INCLUDE_DIRS})
add_library(${EXECUTABLE} ${SRC_LIST} ${HEADERS})
-add_dependencies(${EXECUTABLE} BuildInfo.h)
+
+eth_use(${EXECUTABLE} REQUIRED EthCore)
target_link_libraries(${EXECUTABLE} ${JSONCPP_LIBRARIES})
-target_link_libraries(${EXECUTABLE} ${Boost_LIBRARIES})
-target_link_libraries(${EXECUTABLE} ${ETH_DEVCORE_LIBRARY})
-target_link_libraries(${EXECUTABLE} ${ETH_EVMCORE_LIBRARY})
-target_link_libraries(${EXECUTABLE} ${ETH_EVMASM_LIBRARY})
-target_link_libraries(${EXECUTABLE} ${ETH_DEVCRYPTO_LIBRARY})
install( TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib )
install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} )
diff --git a/solc/CMakeLists.txt b/solc/CMakeLists.txt
index df72f52d..73dc4b6f 100644
--- a/solc/CMakeLists.txt
+++ b/solc/CMakeLists.txt
@@ -13,11 +13,10 @@ set(EXECUTABLE solc)
file(GLOB HEADERS "*.h")
add_executable(${EXECUTABLE} ${SRC_LIST} ${HEADERS})
-add_dependencies(${EXECUTABLE} BuildInfo.h)
+eth_use(${EXECUTABLE} REQUIRED EthCore)
-target_link_libraries(${EXECUTABLE} ${Boost_FILESYSTEM_LIBRARIES})
-target_link_libraries(${EXECUTABLE} ${Boost_PROGRAM_OPTIONS_LIBRARIES})
target_link_libraries(${EXECUTABLE} solidity)
+target_link_libraries(${EXECUTABLE} ${Boost_PROGRAM_OPTIONS_LIBRARIES})
if (APPLE)
install(TARGETS ${EXECUTABLE} DESTINATION bin)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 81053d82..a7e27414 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -39,14 +39,17 @@ foreach(file ${SRC_LIST})
endforeach(file)
file(GLOB HEADERS "*.h")
-add_executable(test ${SRC_LIST} ${HEADERS})
+set(EXECUTABLE soltest)
+add_executable(${EXECUTABLE} ${SRC_LIST} ${HEADERS})
-target_link_libraries(test ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
-target_link_libraries(test ${ETH_ETHEREUM_LIBRARY})
-target_link_libraries(test ${ETH_ETHCORE_LIBRARY})
-target_link_libraries(test solidity)
+eth_use(${EXECUTABLE} REQUIRED EthCore)
+
+include_directories(BEFORE ..)
+include_directories(BEFORE ${JSONCPP_INCLUDE_DIRS})
+target_link_libraries(${EXECUTABLE} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
+target_link_libraries(${EXECUTABLE} ${ETH_ETHEREUM_LIBRARY})
+target_link_libraries(${EXECUTABLE} ${ETH_ETHCORE_LIBRARY})
+target_link_libraries(${EXECUTABLE} solidity)
enable_testing()
set(CTEST_OUTPUT_ON_FAILURE TRUE)
-
-include(EthUtils)