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