summaryrefslogtreecommitdiff
path: root/libproxy/cmake/libproxy.cmk
blob: e9276886afc8ff6b612af0564402ff61f2de5e80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
add_library(libproxy SHARED proxy.cpp config.hpp)
add_library(libproxy-private STATIC extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy-private.cpp url.cpp ${LIBPROXY_SOURCES})
add_executable(libproxyd libproxyd.cpp)
if(WIN32)
  target_link_libraries(libproxy-private modman;ws2_32;${LIBPROXY_LIBRARIES})
else()
  target_link_libraries(libproxy-private modman;m;pthread;${CMAKE_DL_LIBS};${LIBPROXY_LIBRARIES})
endif()
file(TO_NATIVE_PATH ${MODULE_INSTALL_DIR} MODULE_INSTALL_DIR)
if(WIN32)
  string(REGEX REPLACE "\\\\" "\\\\\\\\" MODULE_INSTALL_DIR ${MODULE_INSTALL_DIR})
endif()

px_check_modules(GIO gio-2.0>=2.26)
target_link_libraries(libproxyd libproxy-private ${GIO_LIBRARIES})
target_link_libraries(libproxy ${GIO_LIBRARIES})

if(IS_ABSOLUTE "${MODULE_INSTALL_DIR}")
  set(MODULEDIR "${MODULE_INSTALL_DIR}")
else ()
  set(MODULEDIR "${CMAKE_INSTALL_PREFIX}/${MODULE_INSTALL_DIR}")
endif()

set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/proxy-private.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-private PROPERTIES PREFIX "")
set_target_properties(libproxy-private PROPERTIES LINK_INTERFACE_LIBRARIES "")

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()
install(TARGETS libproxy DESTINATION ${LIB_INSTALL_DIR})
install(TARGETS libproxyd DESTINATION ${BIN_INSTALL_DIR})
install(FILES   proxy.h   DESTINATION ${INCLUDE_INSTALL_DIR})