summaryrefslogtreecommitdiff
path: root/libproxy/CMakeLists.txt
diff options
context:
space:
mode:
authornpmccallum <npmccallum@c587cffe-e639-0410-9787-d7902ae8ed56>2010-02-24 03:29:43 +0000
committernpmccallum <npmccallum@c587cffe-e639-0410-9787-d7902ae8ed56>2010-02-24 03:29:43 +0000
commit2aa9c49ae48dbc9411b12f75daec4fd01b63002d (patch)
tree6acc18836fa9c5ae63eb08351393b41b04ca1620 /libproxy/CMakeLists.txt
parentf484d0580a2ba0c377f37e7b47c7ad8ee8331343 (diff)
downloadlibproxy-2aa9c49ae48dbc9411b12f75daec4fd01b63002d.tar.gz
add support for builtin modules
git-svn-id: http://libproxy.googlecode.com/svn/trunk@569 c587cffe-e639-0410-9787-d7902ae8ed56
Diffstat (limited to 'libproxy/CMakeLists.txt')
-rw-r--r--libproxy/CMakeLists.txt95
1 files changed, 55 insertions, 40 deletions
diff --git a/libproxy/CMakeLists.txt b/libproxy/CMakeLists.txt
index c00b684..21e0b85 100644
--- a/libproxy/CMakeLists.txt
+++ b/libproxy/CMakeLists.txt
@@ -1,32 +1,24 @@
-### Main library
-add_library(libproxy SHARED extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp)
-include_directories(../)
-if(WIN32)
- target_link_libraries(libproxy libmodman ws2_32)
-else()
- target_link_libraries(libproxy libmodman m pthread dl)
-endif()
-file(TO_NATIVE_PATH ${moduledir} moduledir)
-if(WIN32)
- string(REGEX REPLACE "\\\\" "\\\\\\\\" moduledir ${moduledir})
-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 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})
+function(px_module name build builtin)
+ if(build)
+ if(builtin)
+ set(built "*")
+ set_property(SOURCE modules/${name}.cpp PROPERTY COMPILE_DEFINITIONS LIBEXECDIR="${libexecdir}";MM_MODULE_BUILTIN=${name})
+ set(LIBPROXY_SOURCES ${LIBPROXY_SOURCES} modules/${name}.cpp PARENT_SCOPE)
+ set(BUILTIN_MODULES "${BUILTIN_MODULES} \"${name}\"," PARENT_SCOPE)
+ if(${ARGC} GREATER 3)
+ set(LIBPROXY_LIBRARIES ${LIBPROXY_LIBRARIES} ${ARGN} PARENT_SCOPE)
+ endif()
+ else()
+ set(built "m")
+ set_property(SOURCE modules/${name}.cpp PROPERTY COMPILE_DEFINITIONS 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 3)
+ target_link_libraries(${name} ${ARGN})
+ endif()
endif()
endif()
message("\t${built}\t${name}")
@@ -118,23 +110,28 @@ if(APPLE)
endif()
endif()
+# Build the pacrunner into libproxy unless we are building for multiple engines
+set(BIPR 1)
+if(MOZJS_FOUND AND WEBKIT_FOUND)
+ set(BIPR 0)
+endif()
#
## Module definition
#
message("MODULES TO BUILD:")
-px_module(config_envvar "${ENVVAR_FOUND}")
-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(ignore_domain 1)
-px_module(ignore_hostname 1)
-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)
+px_module(config_envvar "${ENVVAR_FOUND}" 1)
+px_module(config_gnome "${GNOME_FOUND}" 0 ${X11_LIBRARIES})
+px_module(config_kde4 "${KDE4_FOUND}" 0 ${KDE4_LIBRARIES} ${X11_LIBRARIES})
+px_module(config_macosx "${SC_FOUND}" 1 ${SC_LIBRARIES} ${CF_LIBRARIES})
+px_module(config_w32reg "${WIN32}" 1)
+px_module(ignore_domain 1 1)
+px_module(ignore_hostname 1 1)
+px_module(ignore_ip 1 1)
+px_module(network_networkmanager "${NM_FOUND}" 0 ${NM_LIBRARIES})
+px_module(pacrunner_mozjs "${MOZJS_FOUND}" ${BIPR} ${MOZJS_LIBRARIES})
+px_module(pacrunner_webkit "${WEBKIT_FOUND}" ${BIPR} ${WEBKIT_LIBRARIES})
+px_module(wpad_dns_alias 1 1)
message("")
### Misc files
@@ -150,3 +147,21 @@ if(${GNOME_FOUND})
target_link_libraries(pxgconf ${GNOME_LIBRARIES})
install(TARGETS pxgconf RUNTIME DESTINATION ${rlibexecdir})
endif()
+
+### Main library
+add_library(libproxy SHARED extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES})
+include_directories(../)
+if(WIN32)
+ target_link_libraries(libproxy libmodman;ws2_32;${LIBPROXY_LIBRARIES})
+else()
+ target_link_libraries(libproxy libmodman;m;pthread;dl;${LIBPROXY_LIBRARIES})
+endif()
+file(TO_NATIVE_PATH ${moduledir} moduledir)
+if(WIN32)
+ string(REGEX REPLACE "\\\\" "\\\\\\\\" moduledir ${moduledir})
+endif()
+
+set_property(SOURCE proxy.cpp PROPERTY COMPILE_DEFINITIONS MODULEDIR="${moduledir}";BUILTIN_MODULES=${BUILTIN_MODULES})
+set_target_properties(libproxy PROPERTIES PREFIX "" VERSION 0 SOVERSION 0.0.0)
+install(TARGETS libproxy DESTINATION ${rlibdir})
+install(FILES proxy.h DESTINATION ${rincludedir}) \ No newline at end of file