diff options
author | Alberto Garcia Illera <agarciaillera@gmail.com> | 2022-10-25 11:58:19 +1100 |
---|---|---|
committer | Alberto Garcia Illera <agarciaillera@gmail.com> | 2022-10-25 11:58:19 +1100 |
commit | 36869b3f2de096b25dbd57298101add82f91ff5b (patch) | |
tree | ff773cdb02900174b81e4338fbb7ffbbac12be4e | |
parent | b45477dfc47794a5897cc807f88ada7dd99305fc (diff) | |
download | libproxy-git-36869b3f2de096b25dbd57298101add82f91ff5b.tar.gz |
Enable static builds for libproxy
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | libproxy/cmake/libproxy.cmk | 9 | ||||
-rw-r--r-- | libproxy/cmake/modules/pacrunner_duktape.cmk | 3 | ||||
-rw-r--r-- | utils/CMakeLists.txt | 13 |
4 files changed, 31 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f51e38..08f9170 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ ### Required -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.15) project(libproxy) @@ -31,6 +31,14 @@ include(cmake/ctest.cmk) include(cmake/paths.cmk) option(WITH_WEBKIT3 "Build against gtk-3 version of webkitgtk" OFF) +option(BUILD_SHARED_LIBS "Build using shared libraries" ON) + +if(WIN32) + option(MSVC_STATIC "Use statically-linked runtime library" ON) + if(MSVC_STATIC) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") + endif() +endif() ### Subdirectories diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk index de68e5c..fce4f31 100644 --- a/libproxy/cmake/libproxy.cmk +++ b/libproxy/cmake/libproxy.cmk @@ -1,4 +1,11 @@ -add_library(libproxy SHARED extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES}) +if(BUILD_SHARED_LIBS) + add_library(libproxy SHARED extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES}) +else () + add_library(libproxy STATIC extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES}) +endif() + +message(INFO ${LIBPROXY_LIBRARIES}) + if(WIN32) target_link_libraries(libproxy modman;ws2_32;${LIBPROXY_LIBRARIES}) else() diff --git a/libproxy/cmake/modules/pacrunner_duktape.cmk b/libproxy/cmake/modules/pacrunner_duktape.cmk index 0f2c323..79e2058 100644 --- a/libproxy/cmake/modules/pacrunner_duktape.cmk +++ b/libproxy/cmake/modules/pacrunner_duktape.cmk @@ -3,11 +3,12 @@ option(WITH_DUKTAPE "Search for Duktape package" ON) if(WIN32) set(DUKTAPE_FOUND 0) if(WITH_DUKTAPE) - find_package(duktape QUIET) + find_package(Duktape QUIET) if(DUKTAPE_FOUND) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${DUKTAPE_INCLUDE_DIRS}) link_libraries(${DUKTAPE_LIBRARY}) set(DUKTAPE_FOUND 1) # find_package sets DUKTAPE_FOUND to True and not 0 + set(LIBPROXY_LIBRARIES ${LIBPROXY_LIBRARIES} ${DUKTAPE_LIBRARY} PARENT_SCOPE) endif() endif() else() diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index 52010c6..de5cb81 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -1,5 +1,16 @@ include_directories("../libproxy") add_executable(proxy proxy.c) -target_link_libraries(proxy libproxy) + +if(BUILD_SHARED_LIBS) + target_link_libraries(proxy libproxy) +else () + if(WIN32) + target_link_libraries(proxy libproxy;modman;ws2_32;${LIBPROXY_LIBRARIES}) + else() + target_link_libraries(proxy libproxy;modman;m;pthread;${CMAKE_DL_LIBS};${LIBPROXY_LIBRARIES}) + endif() +endif() + + install(TARGETS proxy RUNTIME DESTINATION ${BIN_INSTALL_DIR}) |