Merge remote-tracking branch 'origin/cmake-conversion'
[libasyncio] / utils / CMakeLists.txt
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9b1a213
--- /dev/null
@@ -0,0 +1,35 @@
+# Sources
+add_subdirectory(i2ncommon)
+set(libasyncio_utils_SOURCES
+    asyncio_time_tools.cpp
+    asyncio_utils.cpp
+    asyncio_system_tools.cpp
+    ${compat_SOURCES}
+)
+set(libasyncio_utils_HEADERS
+    asyncio_ptr_list.hpp
+    asyncio_utils.hpp
+    asyncio_time_tools.hpp
+    asyncio_pointer_func.hpp
+    asyncio_system_tools.hpp
+    asyncio_containerfunc.hpp
+    asyncio_signalfunc.hpp
+    ${compat_HEADERS}
+)
+include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/i2ncommon)
+
+# Libraries
+add_library(libasyncio_utils SHARED ${libasyncio_utils_SOURCES} ${libasyncio_utils_HEADERS})
+set_target_properties(libasyncio_utils PROPERTIES VERSION ${VERSION} SOVERSION 0)
+set_target_properties(libasyncio_utils PROPERTIES OUTPUT_NAME asyncio_utils)
+
+# Headerlist
+foreach(header_file_in ${libasyncio_utils_HEADERS})
+    set(header_files_out "${header_files_out}${includedir}/${header_file_in}\n")
+endforeach()
+file(WRITE ${CMAKE_BINARY_DIR}/headerlist.utils ${header_files_out})
+
+# Installation
+install(TARGETS libasyncio_utils LIBRARY DESTINATION lib)
+install(FILES ${libasyncio_utils_HEADERS} DESTINATION include)