8a1521d79d640309fc31f525fa2f8498b4624c33
[libasyncio] / asyncio / CMakeLists.txt
1 # Sources
2 set(libasyncio_SOURCES
3     async_callout.cpp
4     async_io.cpp
5     async_pipe.cpp
6     async_process.cpp
7     async_socket.cpp
8     async_timer.cpp
9 )
10 set(libasyncio_HEADERS 
11     async_callout.hpp
12     async_io.hpp
13     async_pipe.hpp
14     async_process.hpp
15     async_socket.hpp
16     async_timer.hpp
17     ${CMAKE_BINARY_DIR}/asyncio_config.hpp
18 )
19 include_directories(BEFORE
20                     ${CMAKE_CURRENT_SOURCE_DIR}
21                     ${CMAKE_SOURCE_DIR}/utils
22                     ${CMAKE_SOURCE_DIR}/utils/i2ncommon
23                     )
24
25 # Libraries
26 add_library(libasyncio SHARED ${libasyncio_SOURCES} ${libasyncio_HEADERS})
27 set_target_properties(libasyncio PROPERTIES VERSION ${VERSION} SOVERSION 0)
28 set_target_properties(libasyncio PROPERTIES OUTPUT_NAME asyncio)
29
30 # Dependencies
31 target_link_libraries(libasyncio ${LIBI2NCOMMON_LIBRARIES} ${Boost_SIGNALS_LIBRARIES})
32
33 # Headerlist
34 foreach(header_file_in ${libasyncio_HEADERS})
35     set(header_files_out "${header_files_out}${includedir}/${header_file_in}\n")
36 endforeach()
37 file(WRITE ${CMAKE_BINARY_DIR}/headerlist.asyncio ${header_files_out})
38
39 # Installation
40 install(TARGETS libasyncio LIBRARY DESTINATION lib)
41 install(FILES ${libasyncio_HEADERS} DESTINATION include)