aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt26
1 files changed, 24 insertions, 2 deletions
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()