From 36869b3f2de096b25dbd57298101add82f91ff5b Mon Sep 17 00:00:00 2001 From: Alberto Garcia Illera Date: Tue, 25 Oct 2022 11:58:19 +1100 Subject: Enable static builds for libproxy --- CMakeLists.txt | 10 +++++++++- libproxy/cmake/libproxy.cmk | 9 ++++++++- libproxy/cmake/modules/pacrunner_duktape.cmk | 3 ++- 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$<$: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}) -- cgit v1.2.1 From 61f3ed5004603191f3aac89c266d958f4e284018 Mon Sep 17 00:00:00 2001 From: Alberto Garcia Illera Date: Thu, 27 Oct 2022 00:26:17 +1100 Subject: remove proxy specific target_link_libraries for static --- libproxy/cmake/modules/pacrunner_duktape.cmk | 1 - utils/CMakeLists.txt | 15 ++------------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/libproxy/cmake/modules/pacrunner_duktape.cmk b/libproxy/cmake/modules/pacrunner_duktape.cmk index 79e2058..781985d 100644 --- a/libproxy/cmake/modules/pacrunner_duktape.cmk +++ b/libproxy/cmake/modules/pacrunner_duktape.cmk @@ -8,7 +8,6 @@ if(WIN32) 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 de5cb81..53cf0c0 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -1,16 +1,5 @@ include_directories("../libproxy") add_executable(proxy proxy.c) - -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}) +target_link_libraries(proxy libproxy) +install(TARGETS proxy RUNTIME DESTINATION ${BIN_INSTALL_DIR}) \ No newline at end of file -- cgit v1.2.1 From 06f05d274cef4087ba7e9356ccbc3a4c408286db Mon Sep 17 00:00:00 2001 From: Alberto Garcia Illera Date: Thu, 27 Oct 2022 00:30:46 +1100 Subject: remove debug code --- libproxy/cmake/libproxy.cmk | 2 -- 1 file changed, 2 deletions(-) diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk index fce4f31..651962b 100644 --- a/libproxy/cmake/libproxy.cmk +++ b/libproxy/cmake/libproxy.cmk @@ -4,8 +4,6 @@ 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() -- cgit v1.2.1 From c753fcfe5285e98d9496f64a3b41dc48b986c1f5 Mon Sep 17 00:00:00 2001 From: Alberto Garcia Illera Date: Sun, 13 Nov 2022 18:28:35 +1100 Subject: use var to not repeat list of sources --- libproxy/cmake/libproxy.cmk | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk index 651962b..4191b57 100644 --- a/libproxy/cmake/libproxy.cmk +++ b/libproxy/cmake/libproxy.cmk @@ -1,7 +1,10 @@ +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 extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES}) + add_library(libproxy SHARED ${LIBPROXY_SOURCES}) else () - add_library(libproxy STATIC extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES}) + add_library(libproxy STATIC ${LIBPROXY_SOURCES}) endif() if(WIN32) -- cgit v1.2.1 From ed670875ba3128feb5e58b0cf594a05dccf8e7db Mon Sep 17 00:00:00 2001 From: Alberto Garcia Illera Date: Thu, 1 Dec 2022 17:19:21 +1100 Subject: remove extra lines --- libproxy/cmake/libproxy.cmk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk index 4191b57..5e39877 100644 --- a/libproxy/cmake/libproxy.cmk +++ b/libproxy/cmake/libproxy.cmk @@ -27,8 +27,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() -- cgit v1.2.1 From 99b59f0868aeff94af89b23a07dcb34b7a3ce4e4 Mon Sep 17 00:00:00 2001 From: Alberto Garcia Illera Date: Fri, 2 Dec 2022 00:26:28 +1100 Subject: remove extra empty line --- libproxy/cmake/libproxy.cmk | 1 - 1 file changed, 1 deletion(-) diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk index 5e39877..adc0f2e 100644 --- a/libproxy/cmake/libproxy.cmk +++ b/libproxy/cmake/libproxy.cmk @@ -1,6 +1,5 @@ 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 () -- cgit v1.2.1