summaryrefslogtreecommitdiff
path: root/libproxy/CMakeLists.txt
diff options
context:
space:
mode:
authornpmccallum <npmccallum@c587cffe-e639-0410-9787-d7902ae8ed56>2010-01-28 05:47:08 +0000
committernpmccallum <npmccallum@c587cffe-e639-0410-9787-d7902ae8ed56>2010-01-28 05:47:08 +0000
commit0703d4b56b8be4dbfc18e2ba83c7537fe71d616f (patch)
treecec11ace1a5b620cf4abcc4546feec7428f40162 /libproxy/CMakeLists.txt
parent1413dcea3932fe0e1750fb69414a5c78769393be (diff)
downloadlibproxy-0703d4b56b8be4dbfc18e2ba83c7537fe71d616f.tar.gz
remove builtin module support; there is a better way to do this
git-svn-id: http://libproxy.googlecode.com/svn/trunk@509 c587cffe-e639-0410-9787-d7902ae8ed56
Diffstat (limited to 'libproxy/CMakeLists.txt')
-rw-r--r--libproxy/CMakeLists.txt149
1 files changed, 71 insertions, 78 deletions
diff --git a/libproxy/CMakeLists.txt b/libproxy/CMakeLists.txt
index ecca9dc..6c32e35 100644
--- a/libproxy/CMakeLists.txt
+++ b/libproxy/CMakeLists.txt
@@ -1,50 +1,41 @@
-### Misc files
-# PkgConfig file
-configure_file(libproxy-1.0.pc.in libproxy-1.0.pc @ONLY)
-install(FILES libproxy-1.0.pc DESTINATION ${libdir}/pkgconfig)
+### Main library
+add_library(libproxy SHARED config_file.cpp dl_module.cpp module_config.cpp module.cpp module_manager.cpp module_pacrunner.cpp module_wpad.cpp proxy.cpp url.cpp)
+if(WIN32)
+ target_link_libraries(libproxy ws2_32)
+else()
+ target_link_libraries(libproxy m pthread dl)
+endif()
+set_property(SOURCE proxy.cpp PROPERTY COMPILE_DEFINITIONS SYSCONFDIR="/etc/";MODULEDIR="${moduledir}")
+set_target_properties(libproxy PROPERTIES PREFIX "" VERSION 0 SOVERSION 0.0.0)
+install(TARGETS libproxy DESTINATION ${rlibdir})
+install(FILES proxy.h DESTINATION ${rincludedir})
### Modules
-function(px_module name condition)
- if(${condition} GREATER 0)
- if(${condition} GREATER 1)
- message("\t+\t${name}")
- set_property(SOURCE modules/${name}.cpp PROPERTY COMPILE_DEFINITIONS SYSCONFDIR="/etc/";LIBEXECDIR="${libexecdir}";BUILTIN=1)
- set(BUILTIN_MODULES_SOURCES ${BUILTIN_MODULES_SOURCES};modules/${name}.cpp PARENT_SCOPE)
- set(BUILTIN_MODULES "${BUILTIN_MODULES} \"${name}\"," PARENT_SCOPE)
- if(${ARGC} GREATER 2)
- set(BUILTIN_MODULES_LIBRARIES ${BUILTIN_MODULES_LIBRARIES};${ARGN} PARENT_SCOPE)
- endif()
- else()
- message("\tm\t${name}")
- add_library(${name} MODULE modules/${name}.cpp)
- set_property(SOURCE modules/${name}.cpp PROPERTY COMPILE_DEFINITIONS SYSCONFDIR="/etc/";LIBEXECDIR="${libexecdir}")
- target_link_libraries(${name} libproxy)
- set_target_properties(${name} PROPERTIES PREFIX "")
- install(TARGETS ${name} LIBRARY DESTINATION ${rmoduledir})
- if(${ARGC} GREATER 2)
- target_link_libraries(${name} ${ARGN})
- endif()
+function(px_module name build)
+ if("${build}")
+ set(built "*")
+ set_property(SOURCE modules/${name}.cpp PROPERTY COMPILE_DEFINITIONS SYSCONFDIR="/etc/";LIBEXECDIR="${libexecdir}")
+ add_library(${name} MODULE modules/${name}.cpp)
+ target_link_libraries(${name} libproxy)
+ set_target_properties(${name} PROPERTIES PREFIX "")
+ install(TARGETS ${name} LIBRARY DESTINATION ${rmoduledir})
+ if(${ARGC} GREATER 2)
+ target_link_libraries(${name} ${ARGN})
endif()
- else()
- message("\t\t${name}")
endif()
+ message("\t${built}\t${name}")
endfunction(px_module)
-function(px_module_condmod name loadcond condition)
- px_module(${name} ${condition} ${ARGN})
- if(${condition} EQUAL 1)
- set(CONDITIONAL_MODULES "${CONDITIONAL_MODULES} {\"${loadcond}\", \"${name}\"}," PARENT_SCOPE)
- endif()
-endfunction(px_module_condmod)
-
#
## Dependency detection
#
-if(UNIX AND NOT APPLE)
- find_package(PkgConfig REQUIRED)
+
+find_package(PkgConfig)
+if("${PKG_CONFIG_FOUND}")
+ # Define our magical px_check_modules function
function(px_check_modules name)
pkg_check_modules(${name} ${ARGN})
- if (${${name}_FOUND})
+ if(${${name}_FOUND})
include_directories(${${name}_INCLUDE_DIRS})
link_directories(${${name}_LIBRARY_DIRS})
else()
@@ -56,16 +47,16 @@ if(UNIX AND NOT APPLE)
px_check_modules(NM NetworkManager dbus-1)
px_check_modules(WEBKIT webkit-1.0)
px_check_modules(MOZJS xulrunner-js)
- if(NOT MOZJS_FOUND)
+ if(NOT ${MOZJS_FOUND})
px_check_modules(MOZJS firefox-js)
- if(NOT MOZJS_FOUND)
+ if(NOT ${MOZJS_FOUND})
px_check_modules(MOZJS mozilla-js)
- if(NOT MOZJS_FOUND)
+ if(NOT ${MOZJS_FOUND})
px_check_modules(MOZJS seamonkey-js)
endif()
endif()
endif()
- if(X11_FOUND)
+ if("${X11_FOUND}")
px_check_modules(GNOME gconf-2.0)
find_package(KDE4)
if("${KDE4_FOUND}" STREQUAL "TRUE")
@@ -78,50 +69,52 @@ if(UNIX AND NOT APPLE)
set(KDE4_FOUND 0)
endif()
endif()
- find_program(GCONFTOOLBIN gconftool-2)
endif()
-#
-## Module definition
-#
-message("MODULES TO BUILD:")
-if(UNIX AND NOT APPLE)
- px_module(config_wpad 1)
- px_module(config_envvar 2)
- px_module(config_file 2)
- px_module(config_gnome ${GNOME_FOUND} ${X11_LIBRARIES})
- px_module(config_kde4 ${KDE4_FOUND} ${KDE4_LIBRARIES} ${X11_LIBRARIES})
- px_module(network_networkmanager ${NM_FOUND} ${NM_LIBRARIES})
- px_module_condmod(pacrunner_mozjs JS_DefineFunction ${MOZJS_FOUND} ${MOZJS_LIBRARIES})
- px_module_condmod(pacrunner_webkit JSObjectMakeFunctionWithCallback ${WEBKIT_FOUND} ${WEBKIT_LIBRARIES})
- if(${GNOME_FOUND})
- add_executable(pxgconf modules/pxgconf.cpp)
- target_link_libraries(pxgconf ${GNOME_LIBRARIES})
- install(TARGETS pxgconf RUNTIME DESTINATION ${rlibexecdir})
- endif()
-elseif(APPLE)
+if(APPLE)
find_library(WEBKIT_LIBRARIES JavaScriptCore)
find_library(SC_LIBRARIES SystemConfiguration)
find_library(CF_LIBRARIES CoreFoundation)
- px_module(pacrunner_webkit 2 ${WEBKIT_LIBRARIES})
- px_module(config_macosx 2 ${SC_LIBRARIES} ${CF_LIBRARIES})
- px_module(ignore_hostname 2)
-elseif(WIN32)
- px_module(config_w32reg 2)
+ if(${WEBKIT_LIBRARIES})
+ set(WEBKIT_FOUND 1)
+ endif()
+ if(${SC_LIBRARIES})
+ set(SC_FOUND 1)
+ endif()
+ if(${CF_LIBRARIES})
+ set(CF_FOUND 1)
+ endif()
endif()
-px_module(ignore_domain 2)
-px_module(ignore_ip 2)
-px_module(wpad_dns_alias 2)
+
+
+#
+## Module definition
+#
+message("MODULES TO BUILD:")
+px_module(config_envvar "${UNIX}")
+px_module(config_file "${UNIX}")
+px_module(config_gnome "${GNOME_FOUND}" ${X11_LIBRARIES})
+px_module(config_kde4 "${KDE4_FOUND}" ${KDE4_LIBRARIES} ${X11_LIBRARIES})
+px_module(config_macosx "${SC_FOUND}" ${SC_LIBRARIES} ${CF_LIBRARIES})
+px_module(config_w32reg "${WIN32}")
+px_module(config_wpad 1)
+px_module(ignore_domain 1)
+px_module(ignore_hostname "${APPLE}")
+px_module(ignore_ip 1)
+px_module(network_networkmanager "${NM_FOUND}" ${NM_LIBRARIES})
+px_module(pacrunner_mozjs "${MOZJS_FOUND}" ${MOZJS_LIBRARIES})
+px_module(pacrunner_webkit "${WEBKIT_FOUND}" ${WEBKIT_LIBRARIES})
+px_module(wpad_dns_alias 1)
message("")
-### Main library
-add_library(libproxy SHARED config_file.cpp dl_module.cpp module_config.cpp module.cpp module_manager.cpp module_pacrunner.cpp module_wpad.cpp proxy.cpp url.cpp ${BUILTIN_MODULES_SOURCES})
-if (WIN32)
- target_link_libraries(libproxy ws2_32 ${BUILTIN_MODULES_LIBRARIES})
-else()
- target_link_libraries(libproxy m pthread dl ${BUILTIN_MODULES_LIBRARIES})
+### Misc files
+# PkgConfig file
+configure_file(libproxy-1.0.pc.in libproxy-1.0.pc @ONLY)
+install(FILES libproxy-1.0.pc DESTINATION ${libdir}/pkgconfig)
+
+# GNOME (gconf) helper
+if(${GNOME_FOUND})
+ add_executable(pxgconf modules/pxgconf.cpp)
+ target_link_libraries(pxgconf ${GNOME_LIBRARIES})
+ install(TARGETS pxgconf RUNTIME DESTINATION ${rlibexecdir})
endif()
-set_property(SOURCE proxy.cpp PROPERTY COMPILE_DEFINITIONS SYSCONFDIR="/etc/";MODULEDIR="${moduledir}";BUILTIN_MODULES=${BUILTIN_MODULES};CONDITIONAL_MODULES=${CONDITIONAL_MODULES})
-set_target_properties(libproxy PROPERTIES PREFIX "" VERSION 0 SOVERSION 0.0.0)
-install(TARGETS libproxy DESTINATION ${rlibdir})
-install(FILES proxy.h DESTINATION ${rincludedir})