summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominique Leuenberger <dimstar@opensuse.org>2022-12-09 21:50:07 +0100
committerGitHub <noreply@github.com>2022-12-09 21:50:07 +0100
commitb7a4a52ad0b4a55d3b7284c04e6fedbc9a8299c5 (patch)
treeae2bc1c3551c3bb7553a7a33514043fa68ef701d
parent9d3ee2936e2ab521748973aed9c4aad0e62f72fc (diff)
parent99b59f0868aeff94af89b23a07dcb34b7a3ce4e4 (diff)
downloadlibproxy-git-b7a4a52ad0b4a55d3b7284c04e6fedbc9a8299c5.tar.gz
Merge pull request #195 from illera88/enable_static_builds
Enable static builds for libproxy
-rw-r--r--CMakeLists.txt10
-rw-r--r--libproxy/cmake/libproxy.cmk12
-rw-r--r--libproxy/cmake/modules/pacrunner_duktape.cmk2
-rw-r--r--utils/CMakeLists.txt2
4 files changed, 20 insertions, 6 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..adc0f2e 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})
+set(LIBPROXY_SOURCES ${LIBPROXY_SOURCES} extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp)
+
+if(BUILD_SHARED_LIBS)
+ add_library(libproxy SHARED ${LIBPROXY_SOURCES})
+else ()
+ add_library(libproxy STATIC ${LIBPROXY_SOURCES})
+endif()
+
if(WIN32)
target_link_libraries(libproxy modman;ws2_32;${LIBPROXY_LIBRARIES})
else()
@@ -19,8 +26,7 @@ set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/proxy.cpp
PROPERTY COMPILE_DEFINITIONS MODULEDIR="${MODULEDIR}";BUILTIN_MODULES=${BUILTIN_MODULES})
# When changing the SOVERSION here remember to also bump the 'favorite proxy .so' in python bindings.
set_target_properties(libproxy PROPERTIES PREFIX "" VERSION 1.0.0 SOVERSION 1)
-set_target_properties(libproxy PROPERTIES INTERFACE_LINK_LIBRARIES "")
-set_target_properties(libproxy PROPERTIES LINK_INTERFACE_LIBRARIES "")
+
if(NOT APPLE)
set_target_properties(libproxy PROPERTIES LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/libproxy.map")
endif()
diff --git a/libproxy/cmake/modules/pacrunner_duktape.cmk b/libproxy/cmake/modules/pacrunner_duktape.cmk
index 0f2c323..781985d 100644
--- a/libproxy/cmake/modules/pacrunner_duktape.cmk
+++ b/libproxy/cmake/modules/pacrunner_duktape.cmk
@@ -3,7 +3,7 @@ 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})
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 52010c6..53cf0c0 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -2,4 +2,4 @@ include_directories("../libproxy")
add_executable(proxy proxy.c)
target_link_libraries(proxy libproxy)
-install(TARGETS proxy RUNTIME DESTINATION ${BIN_INSTALL_DIR})
+install(TARGETS proxy RUNTIME DESTINATION ${BIN_INSTALL_DIR}) \ No newline at end of file