mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
CMake: Add option to static link solc
This commit is contained in:
parent
15fd43f035
commit
4974ff3962
@ -11,6 +11,8 @@ eth_policy()
|
||||
set(PROJECT_VERSION "0.4.16")
|
||||
project(solidity VERSION ${PROJECT_VERSION})
|
||||
|
||||
option(SOLC_LINK_STATIC "Link solc executable statically on supported platforms" OFF)
|
||||
|
||||
# Let's find our dependencies
|
||||
include(EthDependencies)
|
||||
include(deps/jsoncpp.cmake)
|
||||
|
@ -9,7 +9,7 @@ COPY / $WORKDIR
|
||||
|
||||
#Install dependencies, eliminate annoying warnings, and build release, delete all remaining points and statically link.
|
||||
RUN ./scripts/install_deps.sh && sed -i -E -e 's/include <sys\/poll.h>/include <poll.h>/' /usr/include/boost/asio/detail/socket_types.hpp &&\
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSTATIC_LINKING=1 &&\
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSOLC_LINK_STATIC=1 &&\
|
||||
make solc && install -s solc/solc /usr/bin &&\
|
||||
cd / && rm -rf solidity &&\
|
||||
apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev &&\
|
||||
|
@ -17,3 +17,15 @@ else()
|
||||
add_library(soljson jsonCompiler.cpp)
|
||||
endif()
|
||||
target_link_libraries(soljson PRIVATE solidity)
|
||||
|
||||
if(SOLC_LINK_STATIC AND UNIX AND NOT APPLE)
|
||||
# Produce solc as statically linked binary (includes C/C++ standard libraries)
|
||||
# This is not supported on macOS, see
|
||||
# https://developer.apple.com/library/content/qa/qa1118/_index.html.
|
||||
set_target_properties(
|
||||
solc PROPERTIES
|
||||
LINK_FLAGS -static
|
||||
LINK_SEARCH_START_STATIC ON
|
||||
LINK_SEARCH_END_STATIC ON
|
||||
)
|
||||
endif()
|
Loading…
Reference in New Issue
Block a user