From be6399cb9d1092bd5135b40ff6ca7db4dedfa8a0 Mon Sep 17 00:00:00 2001 From: jingyuexing Date: Wed, 3 Nov 2021 08:57:41 +0800 Subject: [PATCH 1/2] Update cmake build tools --- CMakeLists.txt | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..93d38e3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,61 @@ +project(luasocket) +cmake_minimum_required(VERSION 2.8...3.20) +include(CheckIncludeFile) +check_include_file("lua.h" HAVE_LUA) +set(socket_VERSION "3.0-rc1") +set(MIME_VERSION "1.0.3") + +include_directories(BEFORE "${PROJECT_SOURCE_DIR}/src/") + +# add header files directory +# include_directories() + + +if(WIN32) + if(${HAVE_LUA}) + set( + SOURCE + "src/auxiliar.c" + "src/buffer.c" + "src/except.c" + "src/inet.c" + "src/io.c" + "src/options.c" + "src/select.c" + "src/tcp.c" + "src/udp.c" + "src/wsocket.c" + ) + else() + message(FATAL_ERROR "can not found lua.h or lualib.h \n Maybe you can set \"include_directories(xxx/include)\"to solve this problem") + endif() + add_library(socket SHARED "${SOURCE}") + add_library(mime SHARED "src/mime.c" "src/compat.c") + set_target_properties(socket PROPERTIES OUTPUT_NAME "socket") + set_target_properties(mime PROPERTIES OUTPUT_NAME "mime") +elseif(APPLE) + # MACOS build +elseif(UNIX) + # Linux or Unix build +endif() + +set( + TO_SOCKET_LDIR + "src/http.lua" + "src/url.lua" + "src/tp.lua" + "src/ftp.lua" + "src/headers.lua" + "src/smtp.lua" +) + +set( + TO_TOP_LDIR + "src/ltn12.lua" + "src/socket.lua" + "src/mime.lua" +) + +install(TARGETS socket LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket/lib") +install(FILES ${TO_SOCKET_LDIR} DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket/socket") +install(FILES ${TO_TOP_LDIR} DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket") From 20920473dd909651031910141078088f26a9d8e4 Mon Sep 17 00:00:00 2001 From: jingyuexing Date: Wed, 3 Nov 2021 09:08:49 +0800 Subject: [PATCH 2/2] Update compiler flags options --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93d38e3..3f12487 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,12 @@ include_directories(BEFORE "${PROJECT_SOURCE_DIR}/src/") # add header files directory # include_directories() +if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /O2 /Ot /MD /W3 /nologo") +else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wshadow -Wextra -Wimplicit -O2 -ggdb3 -fpic") +endif() + if(WIN32) if(${HAVE_LUA}) @@ -56,6 +62,6 @@ set( "src/mime.lua" ) -install(TARGETS socket LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket/lib") +install(TARGETS socket LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket/socket") install(FILES ${TO_SOCKET_LDIR} DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket/socket") install(FILES ${TO_TOP_LDIR} DESTINATION "${CMAKE_INSTALL_PREFIX}/luasocket")