More CMake build.
* CMakeLists.txt: Add install rules for all targets and serf.pc.
* build/FindAPR.cmake, build/FindAPRUtil.cmake: Do *not* remove the
leading '-l' from the EXTRALIBS, these are needed to correctly format
the private libraries in the pkg-config module.
git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1834408 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 30f6307..9eee9a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -233,22 +233,8 @@
endif()
endif()
-if(NOT WINDOWS)
- # Use a separate variable scope for the substitutions in serf.pc.in.
- function(make_pkgconfig)
- set(PREFIX ${CMAKE_INSTALL_PREFIX})
- if(NOT LIBDIR)
- set(LIBDIR "${PREIFX}/lib")
- endif()
- set(VERSION ${SERF_VERSION})
- set(MAJOR ${SERF_MAJOR_VERSION})
- set(INCLUDE_SUBDIR "serf-${SERF_MAJOR_VERSION}")
- set(LIBS ${DEPENDENCY_LIBRARIES})
- configure_file("build/serf.pc.in" "serf.pc" @ONLY)
- endfunction()
- make_pkgconfig()
-endif()
+# Define all targets
add_library(serf SHARED ${SOURCES} ${SHARED_SOURCES})
target_link_libraries(serf ${DEPENDENCY_LIBRARIES})
@@ -260,4 +246,37 @@
VERSION ${SERF_VERSION}
SOVERSION ${SERF_SOVERSION})
+install(TARGETS serf serf_static
+ ARCHIVE DESTINATION "lib"
+ LIBRARY DESTINATION "lib"
+ RUNTIME DESTINATION "bin")
+
+if(NOT WINDOWS)
+ set(INCLUDE_SUBDIR "serf-${SERF_MAJOR_VERSION}")
+endif()
+install(FILES ${HEADERS} DESTINATION "include/${INCLUDE_SUBDIR}")
+
+
+# Generate the pkg-config module file.
+if(NOT WINDOWS)
+ # Use a separate variable scope for the substitutions in serf.pc.in.
+ function(make_pkgconfig)
+ set(PREFIX ${CMAKE_INSTALL_PREFIX})
+ if(NOT LIBDIR)
+ set(LIBDIR "${PREIFX}/lib")
+ endif()
+ set(VERSION ${SERF_VERSION})
+ set(MAJOR ${SERF_MAJOR_VERSION})
+ unset(LIBS)
+ foreach(DEPLIB ${DEPENDENCY_LIBRARIES})
+ set(LIBS "${LIBS} ${DEPLIB}")
+ endforeach()
+ configure_file("build/serf.pc.in" "serf.pc" @ONLY)
+ endfunction()
+
+ make_pkgconfig()
+ install(FILES "${CMAKE_BINARY_DIR}/serf.pc" DESTINATION "share/pkgconfig")
+endif()
+
+
add_subdirectory(test)
diff --git a/build/FindAPR.cmake b/build/FindAPR.cmake
index 3df36f2..1ab13d3 100644
--- a/build/FindAPR.cmake
+++ b/build/FindAPR.cmake
@@ -44,7 +44,7 @@
_apr_invoke(APR_CFLAGS FALSE "(^| )-(g|O)[^ ]*" --cppflags --cflags)
_apr_invoke(APR_INCLUDES TRUE "(^| )-I" --includes)
_apr_invoke(APR_LIBRARIES TRUE "" --link-ld)
-_apr_invoke(APR_EXTRALIBS TRUE "(^| )-l" --libs)
+_apr_invoke(APR_EXTRALIBS TRUE "" --libs)
_apr_invoke(APR_VERSION TRUE "" --version)
string(REGEX REPLACE "^([0-9]+)\\..*$" "\\1" _apr_major "${APR_VERSION}")
diff --git a/build/FindAPRUtil.cmake b/build/FindAPRUtil.cmake
index bd20b45..9775ce2 100644
--- a/build/FindAPRUtil.cmake
+++ b/build/FindAPRUtil.cmake
@@ -55,7 +55,7 @@
endmacro(_apu_invoke)
_apu_invoke(APRUTIL_INCLUDES TRUE "(^| )-I" --includes)
- _apu_invoke(APRUTIL_EXTRALIBS TRUE "(^| )-l" --libs)
+ _apu_invoke(APRUTIL_EXTRALIBS TRUE "" --libs)
_apu_invoke(APRUTIL_LIBRARIES TRUE "" --link-ld)
_apu_invoke(APRUTIL_LDFLAGS FALSE "" --ldflags)
_apu_invoke(APRUTIL_VERSION TRUE "" --version)