9b1a21362750c19d4c6e9eb3ff0f1f90c2ca89e3
[libasyncio] / utils / CMakeLists.txt
1 # Sources
2 add_subdirectory(i2ncommon)
3 set(libasyncio_utils_SOURCES
4     asyncio_time_tools.cpp
5     asyncio_utils.cpp
6     asyncio_system_tools.cpp
7     ${compat_SOURCES}
8 )
9 set(libasyncio_utils_HEADERS
10     asyncio_ptr_list.hpp
11     asyncio_utils.hpp
12     asyncio_time_tools.hpp
13     asyncio_pointer_func.hpp
14     asyncio_system_tools.hpp
15     asyncio_containerfunc.hpp
16     asyncio_signalfunc.hpp
17     ${compat_HEADERS}
18 )
19 include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
20 include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/i2ncommon)
21
22 # Libraries
23 add_library(libasyncio_utils SHARED ${libasyncio_utils_SOURCES} ${libasyncio_utils_HEADERS})
24 set_target_properties(libasyncio_utils PROPERTIES VERSION ${VERSION} SOVERSION 0)
25 set_target_properties(libasyncio_utils PROPERTIES OUTPUT_NAME asyncio_utils)
26
27 # Headerlist
28 foreach(header_file_in ${libasyncio_utils_HEADERS})
29     set(header_files_out "${header_files_out}${includedir}/${header_file_in}\n")
30 endforeach()
31 file(WRITE ${CMAKE_BINARY_DIR}/headerlist.utils ${header_files_out})
32
33 # Installation
34 install(TARGETS libasyncio_utils LIBRARY DESTINATION lib)
35 install(FILES ${libasyncio_utils_HEADERS} DESTINATION include)