summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/CMakeLists.txt28
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index bfdb843..a52bc7b 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -8,9 +8,8 @@ SET(BEMENU_SOURCE
library.c
draw/curses.c
)
-SET(BEMENU_INCLUDE)
-SET(BEMENU_LIBRARIES)
+# Configure
CONFIGURE_FILE(version.h.in version.h @ONLY)
# Warnings
@@ -26,9 +25,30 @@ IF (UNIX AND CMAKE_COMPILER_IS_GNUCC)
ENDIF ()
ENDIF ()
+# Parse soversion version
+STRING(REGEX MATCHALL "[0-9]+" VERSION_COMPONENTS ${BEMENU_VERSION})
+LIST(GET VERSION_COMPONENTS 0 SOVERSION)
+
# Compile
INCLUDE_DIRECTORIES(${BEMENU_INCLUDE} ${CMAKE_CURRENT_BINARY_DIR})
-ADD_LIBRARY(bemenu ${BEMENU_SOURCE})
-TARGET_LINK_LIBRARIES(bemenu ${BEMENU_LIBRARIES} dl)
+ADD_LIBRARY(bemenu SHARED ${BEMENU_SOURCE})
+SET_TARGET_PROPERTIES(bemenu PROPERTIES
+ VERSION ${BEMENU_VERSION}
+ SOVERSION ${SOVERSION})
+TARGET_LINK_LIBRARIES(bemenu dl)
+
+# Install
+INSTALL(TARGETS bemenu DESTINATION lib)
+INSTALL(FILES bemenu.h DESTINATION include)
+
+# Unexport
+SET(BEMENU_INCLUDES)
+SET(BEMENU_INCLUDE_DIRS)
+SET(BEMENU_LIBRARIES)
+
+# Export
+SET(BEMENU_INCLUDES "bemenu.h" CACHE STRING "bemenu includes exported from CMake")
+SET(BEMENU_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "bemenu public header include path exported from CMake")
+SET(BEMENU_LIBRARIES "bemenu" "dl" CACHE STRING "bemenu libraries exported from CMake")
# vim: set ts=8 sw=4 tw=0 :