From 1ffa0d60b0f253506a4e1e335f98c71bba3b866d Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 2 Oct 2018 13:31:14 +0200 Subject: Testing static linking on linux --- CMakeLists.txt | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 1070620..6b4c3ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,8 @@ project(sibs) set(CMAKE_CXX_STANDARD 14) +option(BUILD_STATIC "Build sibs statically on linux" OFF) + set(SOURCE_FILES external/xxhash.c backend/ninja/Ninja.cpp @@ -35,9 +37,29 @@ add_executable(sibs ${SOURCE_FILES}) include_directories(${CURL_INCLUDE_DIR} ${LibArchive_INCLUDE_DIR} "depends/libninja/include") if(WIN32) - target_link_libraries(sibs ${CURL_LIBRARIES} ${LibArchive_LIBRARIES} "${CMAKE_CURRENT_SOURCE_DIR}/msvc/git2.lib") + target_link_libraries(sibs ${CURL_LIBRARIES} ${LibArchive_LIBRARIES} "${CMAKE_CURRENT_SOURCE_DIR}/static/windows/git2.lib") target_compile_options(sibs PRIVATE /Wall) else() - target_link_libraries(sibs ${CURL_LIBRARIES} ${LibArchive_LIBRARIES} -lgit2) + if(BUILD_STATIC AND UNIX AND NOT APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 8) + target_link_libraries(sibs + -static + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libarchive.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libbz2.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libxml2.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/liblzma.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/liblz4.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libgit2.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libcurl.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libz.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libssh2.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libhttp_parser.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libssl.a" + "${CMAKE_CURRENT_SOURCE_DIR}/static/linux/libcrypto.a" + -pthread + -ldl + -lm) + else() + target_link_libraries(sibs ${CURL_LIBRARIES} ${LibArchive_LIBRARIES} -lgit2) + endif() target_compile_options(sibs PRIVATE -Wall -Wextra -Werror=return-type -fdiagnostics-show-option -fexceptions) endif() -- cgit v1.2.3