132 lines
4 KiB
CMake
132 lines
4 KiB
CMake
cmake_minimum_required(VERSION 3.1)
|
|
project(Squeezer CXX)
|
|
|
|
find_package(QT NAMES Qt5 COMPONENTS Core REQUIRED HINTS $ENV{Qt5_DIR})
|
|
find_package(Qt5 COMPONENTS Core Network REQUIRED)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror=format -Werror=return-type")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=format -Werror=return-type")
|
|
|
|
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fsanitize=undefined")
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=undefined")
|
|
add_definitions("-D_GLIBCXX_DEBUG")
|
|
add_definitions("-DQT_SHAREDPOINTER_TRACK_POINTERS")
|
|
add_definitions("-DCMAKE_DEBUG")
|
|
add_definitions("-DSUPERVERBOSE")
|
|
endif()
|
|
|
|
add_library(QtWebApp STATIC
|
|
QtWebApp/httpserver/httpconnectionhandler.cpp
|
|
QtWebApp/httpserver/httpconnectionhandler.h
|
|
QtWebApp/httpserver/httpconnectionhandlerpool.cpp
|
|
QtWebApp/httpserver/httpconnectionhandlerpool.h
|
|
QtWebApp/httpserver/httpcookie.cpp
|
|
QtWebApp/httpserver/httpcookie.h
|
|
QtWebApp/httpserver/httpglobal.cpp
|
|
QtWebApp/httpserver/httpglobal.h
|
|
QtWebApp/httpserver/httplistener.cpp
|
|
QtWebApp/httpserver/httplistener.h
|
|
QtWebApp/httpserver/httprequest.cpp
|
|
QtWebApp/httpserver/httprequest.h
|
|
QtWebApp/httpserver/httprequesthandler.cpp
|
|
QtWebApp/httpserver/httprequesthandler.h
|
|
QtWebApp/httpserver/httpresponse.cpp
|
|
QtWebApp/httpserver/httpresponse.h
|
|
QtWebApp/httpserver/httpsession.cpp
|
|
QtWebApp/httpserver/httpsession.h
|
|
QtWebApp/httpserver/httpsessionstore.cpp
|
|
QtWebApp/httpserver/httpsessionstore.h
|
|
QtWebApp/httpserver/staticfilecontroller.cpp
|
|
QtWebApp/httpserver/staticfilecontroller.h
|
|
|
|
QtWebApp/logging/dualfilelogger.cpp
|
|
QtWebApp/logging/dualfilelogger.h
|
|
QtWebApp/logging/filelogger.cpp
|
|
QtWebApp/logging/filelogger.h
|
|
QtWebApp/logging/logger.cpp
|
|
QtWebApp/logging/logger.h
|
|
QtWebApp/logging/logglobal.h
|
|
QtWebApp/logging/logmessage.cpp
|
|
QtWebApp/logging/logmessage.h
|
|
|
|
QtWebApp/templateengine/template.cpp
|
|
QtWebApp/templateengine/template.h
|
|
QtWebApp/templateengine/templatecache.cpp
|
|
QtWebApp/templateengine/templatecache.h
|
|
QtWebApp/templateengine/templateglobal.h
|
|
QtWebApp/templateengine/templateloader.cpp
|
|
QtWebApp/templateengine/templateloader.h
|
|
)
|
|
target_include_directories(QtWebApp PUBLIC
|
|
QtWebApp/logging
|
|
QtWebApp/templateengine
|
|
QtWebApp/httpserver
|
|
)
|
|
target_link_libraries(QtWebApp Qt5::Core Qt5::Network)
|
|
|
|
add_executable(squeezer
|
|
src/tasks/SequentialTask.cpp
|
|
src/tasks/SequentialTask.h
|
|
src/tasks/Task.cpp
|
|
src/tasks/Task.h
|
|
|
|
src/net/Validator.h
|
|
src/net/Sink.h
|
|
src/net/NetJob.h
|
|
src/net/NetJob.cpp
|
|
src/net/NetAction.h
|
|
src/net/Mode.h
|
|
src/net/FileSink.h
|
|
src/net/FileSink.cpp
|
|
src/net/Download.h
|
|
src/net/Download.cpp
|
|
src/net/ChecksumValidator.h
|
|
src/net/ByteArraySink.h
|
|
|
|
src/mojang/PackageManifest.h
|
|
src/mojang/PackageManifest.cpp
|
|
|
|
src/pathmatcher/FSTreeMatcher.h
|
|
src/pathmatcher/IPathMatcher.h
|
|
src/pathmatcher/MultiMatcher.h
|
|
src/pathmatcher/RegexpMatcher.h
|
|
|
|
src/teamcity/BuildIndex.h
|
|
src/teamcity/BuildIndex.cpp
|
|
|
|
src/controller/dumpcontroller.cpp
|
|
src/controller/dumpcontroller.h
|
|
src/controller/fileuploadcontroller.cpp
|
|
src/controller/fileuploadcontroller.h
|
|
src/controller/formcontroller.cpp
|
|
src/controller/formcontroller.h
|
|
src/controller/logincontroller.cpp
|
|
src/controller/logincontroller.h
|
|
src/controller/sessioncontroller.cpp
|
|
src/controller/sessioncontroller.h
|
|
src/controller/templatecontroller.cpp
|
|
src/controller/templatecontroller.h
|
|
src/documentcache.h
|
|
src/global.cpp
|
|
src/global.h
|
|
src/main.cpp
|
|
src/requestmapper.cpp
|
|
src/requestmapper.h
|
|
|
|
src/FileSystem.cpp
|
|
src/FileSystem.h
|
|
src/Json.cpp
|
|
src/Json.h
|
|
src/QObjectPtr.h
|
|
)
|
|
target_link_libraries(squeezer QtWebApp)
|
|
target_include_directories(squeezer PRIVATE src)
|
|
|
|
install(TARGETS squeezer DESTINATION bin)
|
|
install(DIRECTORY data/ DESTINATION .)
|