mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2025-10-27 20:03:01 +00:00
Add CMake support
Clean up file structure. Update build scripts.
This commit is contained in:
58
CMakeLists.txt
Normal file
58
CMakeLists.txt
Normal file
@@ -0,0 +1,58 @@
|
||||
project(subconverter LANGUAGES CXX)
|
||||
cmake_minimum_required(VERSION 3.4)
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
|
||||
IF(NOT CMAKE_BUILD_TYPE)
|
||||
SET(CMAKE_BUILD_TYPE Release)
|
||||
ENDIF()
|
||||
SET(CMAKE_CXX_STANDARD 17)
|
||||
ADD_DEFINITIONS(-Wall -Wextra -Wno-unused-parameter -Wno-unused-result)
|
||||
|
||||
ADD_EXECUTABLE(subconverter
|
||||
src/logger.cpp
|
||||
src/main.cpp
|
||||
src/misc.cpp
|
||||
src/multithread.cpp
|
||||
src/nodemanip.cpp
|
||||
src/rapidjson_extra.cpp
|
||||
src/speedtestutil.cpp
|
||||
src/subexport.cpp
|
||||
src/webget.cpp
|
||||
src/webserver_libevent.cpp)
|
||||
INCLUDE_DIRECTORIES(src)
|
||||
|
||||
SET(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
FIND_PACKAGE(Threads REQUIRED)
|
||||
TARGET_LINK_LIBRARIES(subconverter ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
FIND_PACKAGE(LibEvent REQUIRED)
|
||||
FIND_LIBRARY(LIBEVENT_STATIC_LIBS libevent.a)
|
||||
INCLUDE_DIRECTORIES(${LIBEVENT_INCLUDE_DIR})
|
||||
TARGET_LINK_LIBRARIES(subconverter ${LIBEVENT_STATIC_LIBS})
|
||||
|
||||
FIND_PACKAGE(CURL 7.54.0 REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(subconverter ${CURL_LIBRARIES})
|
||||
ADD_DEFINITIONS(-DCURL_STATICLIB)
|
||||
|
||||
FIND_PACKAGE(OpenSSL 1.1.0 REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
|
||||
TARGET_LINK_LIBRARIES(subconverter ${OPENSSL_LIBRARIES})
|
||||
|
||||
FIND_PACKAGE(Rapidjson REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${RAPIDJSON_INCLUDE_DIRS})
|
||||
|
||||
FIND_PACKAGE(yaml-cpp REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${YAML_CPP_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(subconverter yaml-cpp.a)
|
||||
|
||||
FIND_PACKAGE(PCRE REQUIRED)
|
||||
INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(subconverter pcrecpp.a ${PCRE_LIBRARIES})
|
||||
ADD_DEFINITIONS(-DPCRE_STATIC)
|
||||
|
||||
IF(WIN32)
|
||||
TARGET_LINK_LIBRARIES(subconverter wsock32 ws2_32)
|
||||
ELSE()
|
||||
INCLUDE(GNUInstallDirs)
|
||||
INSTALL(TARGETS subconverter DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ENDIF()
|
||||
Reference in New Issue
Block a user