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")
|
set(PROJECT_VERSION "0.4.16")
|
||||||
project(solidity VERSION ${PROJECT_VERSION})
|
project(solidity VERSION ${PROJECT_VERSION})
|
||||||
|
|
||||||
|
option(SOLC_LINK_STATIC "Link solc executable statically on supported platforms" OFF)
|
||||||
|
|
||||||
# Let's find our dependencies
|
# Let's find our dependencies
|
||||||
include(EthDependencies)
|
include(EthDependencies)
|
||||||
include(deps/jsoncpp.cmake)
|
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.
|
#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 &&\
|
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 &&\
|
make solc && install -s solc/solc /usr/bin &&\
|
||||||
cd / && rm -rf solidity &&\
|
cd / && rm -rf solidity &&\
|
||||||
apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev &&\
|
apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev &&\
|
||||||
|
@ -16,4 +16,16 @@ if (EMSCRIPTEN)
|
|||||||
else()
|
else()
|
||||||
add_library(soljson jsonCompiler.cpp)
|
add_library(soljson jsonCompiler.cpp)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(soljson PRIVATE solidity)
|
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