cmake_minimum_required(VERSION 3.0.2) project(luasocket) if(NOT WIN32) message(FATAL_ERROR "Written for windows only") endif() find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua) find_library(LUA_LIBRARY lua) set(LUASOCKET_INCLUDES ${LUA_INCLUDE_DIR} src) set(LUASOCKET_LIBRARIES ${LUA_LIBRARY} ws2_32) add_library(socket.core src/luasocket.c src/timeout.c src/buffer.c src/io.c src/auxiliar.c src/options.c src/inet.c src/except.c src/select.c src/tcp.c src/udp.c src/compat.c src/wsocket.c) add_library(mime.core src/mime.c src/compat.c) target_include_directories(socket.core PRIVATE ${LUASOCKET_INCLUDES}) target_link_libraries(socket.core PRIVATE ${LUASOCKET_LIBRARIES}) target_include_directories(mime.core PRIVATE ${LUASOCKET_INCLUDES}) target_link_libraries(mime.core PRIVATE ${LUASOCKET_LIBRARIES}) add_definitions( "-DLUASOCKET_API=__declspec(dllexport)" "-DMIME_API=__declspec(dllexport)") install(TARGETS socket.core RUNTIME DESTINATION bin/socket LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) install(TARGETS mime.core RUNTIME DESTINATION bin/mime LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) install(FILES src/ltn12.lua src/socket.lua src/mime.lua DESTINATION share/lua) install(FILES src/http.lua src/url.lua src/tp.lua src/ftp.lua src/headers.lua src/smtp.lua DESTINATION share/lua/socket)