@@ -40,12 +40,21 @@ if(WIN32)
4040
4141 # Build wepoll as a static library
4242 add_library (wepoll_lib STATIC ${wepoll_SOURCE_DIR} /wepoll.c )
43- target_include_directories (wepoll_lib PUBLIC ${wepoll_SOURCE_DIR} )
43+ target_include_directories (wepoll_lib PUBLIC
44+ $<BUILD_INTERFACE :${wepoll_SOURCE_DIR} >
45+ $<INSTALL_INTERFACE :include >
46+ )
47+
48+ # Set export properties
49+ set_target_properties (wepoll_lib PROPERTIES EXPORT_NAME wepoll )
4450
4551 # Create the wepoll::wepoll target
4652 add_library (wepoll::wepoll ALIAS wepoll_lib )
4753
4854 message (STATUS "wepoll: fetched and built from GitHub" )
55+
56+ # Mark that we need to install wepoll
57+ set (SLICK_SOCKET_INSTALL_WEPOLL TRUE )
4958 endif ()
5059endif ()
5160
@@ -129,10 +138,26 @@ endif()
129138# Install headers
130139install (DIRECTORY include/ DESTINATION include)
131140
141+ # Install wepoll headers if we fetched it
142+ if (SLICK_SOCKET_INSTALL_WEPOLL)
143+ install (FILES ${wepoll_SOURCE_DIR} /wepoll.h DESTINATION include)
144+ endif ()
145+
132146# Install library targets (header-only INTERFACE library)
133- install (TARGETS slick-socket
134- EXPORT slick-socketTargets
135- )
147+ if (SLICK_SOCKET_INSTALL_WEPOLL)
148+ # Install both slick-socket and wepoll_lib
149+ install (TARGETS slick-socket wepoll_lib
150+ EXPORT slick-socketTargets
151+ ARCHIVE DESTINATION lib
152+ LIBRARY DESTINATION lib
153+ RUNTIME DESTINATION bin
154+ )
155+ else ()
156+ # Install only slick-socket (wepoll is external)
157+ install (TARGETS slick-socket
158+ EXPORT slick-socketTargets
159+ )
160+ endif ()
136161
137162# Install CMake package configuration files
138163include (CMakePackageConfigHelpers )
0 commit comments