Commit 48dc1b75 authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Cleanup CMakeLists/remove unnecessary files

parent eb74e19d
......@@ -11,5 +11,3 @@ set (BUILD_TOP_DIR ${OPENAIRCN_DIR}/build)
set (SRC_TOP_DIR $ENV{OPENAIRCN_DIR}/src)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../src/oai-amf/CMakeLists.txt)
#ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../../src/common ${CMAKE_CURRENT_BINARY_DIR}/common)
......@@ -142,7 +142,7 @@ function main()
cd ./build
$CMAKE $cmake_args .. > /dev/null
ret=$?;[[ $ret -ne 0 ]] && return $ret
compilations amf amf $OPENAIRCN_DIR/build/amf/build/amf
compilations amf amf $OPENAIRCN_DIR/build/amf/build/amf $verbose
ret=$?;[[ $ret -ne 0 ]] && return $ret
# For daemon should not be group writable
$SUDO chmod 755 $OPENAIRCN_DIR/build/amf/build/amf
......
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/amf-app)
include_directories(${SRC_TOP_DIR}/itti)
include_directories(${SRC_TOP_DIR}/itti/msgs)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/contexts)
include_directories(${SRC_TOP_DIR}/nas/ies)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/nas/msgs)
include_directories(${SRC_TOP_DIR}/nas/utils)
include_directories(${SRC_TOP_DIR}/ngap/libngap)
include_directories(${SRC_TOP_DIR}/ngap/ngap_app)
include_directories(${SRC_TOP_DIR}/ngap/ngapIEs)
include_directories(${SRC_TOP_DIR}/ngap/ngapMsgs)
include_directories(${SRC_TOP_DIR}/sbi/amf_server)
include_directories(${SRC_TOP_DIR}/sbi/amf_server/api)
include_directories(${SRC_TOP_DIR}/sbi/amf_server/impl)
include_directories(${SRC_TOP_DIR}/sbi/amf_server/model)
include_directories(${SRC_TOP_DIR}/sbi/smf_client)
include_directories(${SRC_TOP_DIR}/sbi/smf_client/api)
include_directories(${SRC_TOP_DIR}/sbi/smf_client/inputs)
include_directories(${SRC_TOP_DIR}/sbi/smf_client/model)
include_directories(${SRC_TOP_DIR}/sctp)
include_directories(${SRC_TOP_DIR}/secu_algorithms/5gaka)
include_directories(${SRC_TOP_DIR}/secu_algorithms/nas_enc_int)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
file(GLOB AMF_src_files
${CMAKE_CURRENT_SOURCE_DIR}/amf_app.cpp
${CMAKE_CURRENT_SOURCE_DIR}/amf_config.cpp
${CMAKE_CURRENT_SOURCE_DIR}/amf_module_from_config.cpp
${CMAKE_CURRENT_SOURCE_DIR}/amf_n1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/amf_n2.cpp
${CMAKE_CURRENT_SOURCE_DIR}/amf_n11.cpp
${CMAKE_CURRENT_SOURCE_DIR}/amf_statistics.cpp
${CMAKE_CURRENT_SOURCE_DIR}/mysql_db.cpp
${SRC_TOP_DIR}/nas/msgs/*.cpp
${SRC_TOP_DIR}/nas/ies/*.cpp
${SRC_TOP_DIR}/nas/utils/*.c
${SRC_TOP_DIR}/utils/*.cpp
${SRC_TOP_DIR}/utils/*.c
${SRC_TOP_DIR}/utils/bstr/*.c
${SRC_TOP_DIR}/ngap/libngap/*.c
${SRC_TOP_DIR}/ngap/ngap_app/*.cpp
${SRC_TOP_DIR}/ngap/ngapMsgs/*.cpp
${SRC_TOP_DIR}/ngap/ngapIEs/*.cpp
)
add_library (AMF STATIC
${AMF_src_files}
)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
add_library( LOG STATIC
include_directories(${SRC_TOP_DIR}/common/unicode)
file(GLOB COMMON_SRC ${SRC_TOP_DIR}/common/conversions.cpp)
add_library(3GPP_COMMON_TYPES STATIC
${SRC_TOP_DIR}/common/logger.cpp
${SRC_TOP_DIR}/common/conversions.cpp
)
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/itti)
include_directories(${SRC_TOP_DIR}/itti/msgs)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/contexts)
include_directories(${SRC_TOP_DIR}/nas/ies)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/nas/utils)
include_directories(${SRC_TOP_DIR}/ngap/libngap)
include_directories(${SRC_TOP_DIR}/ngap/ngapIEs)
include_directories(${SRC_TOP_DIR}/sctp)
include_directories(${SRC_TOP_DIR}/secu_algorithms/5gaka)
include_directories(${SRC_TOP_DIR}/secu_algorithms/nas_enc_int)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
add_library (CONTEXTS STATIC
${CMAKE_CURRENT_SOURCE_DIR}/gNB_context.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nas_context.cpp
${CMAKE_CURRENT_SOURCE_DIR}/pdu_session_context.cpp
)
include_directories(${SRC_TOP_DIR}/itti)
include_directories(${SRC_TOP_DIR}/itti/msgs)
file(GLOB ITTI_SRC
${SRC_TOP_DIR}/itti/itti.cpp
${SRC_TOP_DIR}/itti/itti_msg.cpp
)
#include <iostream>
#include <thread>
#include <signal.h>
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
#include "logger.hpp"
#include "options.hpp"
#include "amf_config.hpp"
#include "ngap_app.hpp"
#include "itti.hpp"
using namespace std;
using namespace config;
using namespace ngap;
amf_config amf_cfg;
ngap_app *ngap_inst = NULL;
itti_mw *itti_inst = nullptr;
//------------------------------------------------------------------------------
void amf_ngap_app_task(void*) {
const task_id_t task_id = TASK_NGAP_APP;
itti_inst->notify_task_ready(task_id);
Logger::itti().debug("task(%d) ready", TASK_NGAP_APP);
}
//------------------------------------------------------------------------------
int main(int argc, char **argv) {
srand (time(NULL));
if (!Options::parse(argc, argv)) {
cout<<"Options::parse() failed"<<endl;
return 1;
}
Logger::init( "amf" , Options::getlogStdout() , Options::getlogRotFilelog());
Logger::amf_app().startup("Options parsed!");
amf_cfg.load(Options::getlibconfigConfig());
amf_cfg.display();
//ngap_inst = new ngap_app("10.103.238.20",38412);
itti_inst = new itti_mw();
//itti_inst->start(amf_cfg.itti.itti_timer_sched_params);
itti_inst->create_task(TASK_NGAP_APP, amf_ngap_app_task,nullptr);
Logger::amf_app().debug("Initiating Done!");
pause();
return 0;
}
This diff is collapsed.
......@@ -20,7 +20,6 @@
#include "amf_statistics.hpp"
#include "SMFClientApi.hpp"
#include "test.hpp"
#include "smf-client.hpp"
#include <string>
......
set(AMF_API_SERVER_DIR "${SRC_TOP_DIR}/sbi/amf_server")
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/amf-app)
include_directories(${SRC_TOP_DIR}/itti)
include_directories(${SRC_TOP_DIR}/itti/msgs)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/contexts)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/ngap/libngap)
include_directories(${SRC_TOP_DIR}/ngap/ngapIEs)
include_directories(${SRC_TOP_DIR}/secu_algorithms/5gaka)
include_directories(${SRC_TOP_DIR}/secu_algorithms/nas_enc_int)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
include_directories(${SRC_TOP_DIR}/sbi/amf_server)
include_directories(${SRC_TOP_DIR}/sbi/amf_server/api)
include_directories(${SRC_TOP_DIR}/sbi/amf_server/impl)
include_directories(${SRC_TOP_DIR}/sbi/amf_server/model)
file(GLOB AMF_API_SERVER_src_files
${AMF_API_SERVER_DIR}/AMFApiServer.cpp
${AMF_API_SERVER_DIR}/model/*.cpp
${AMF_API_SERVER_DIR}/api/*.cpp
${AMF_API_SERVER_DIR}/impl/*.cpp
)
add_library(AMF_SBI_SERVER STATIC
${AMF_API_SERVER_src_files})
#
# Nsmf_PDUSession
# SMF PDU Session Service. © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
#
# The version of the OpenAPI document: 1.0.0
#
# https://openapi-generator.tech
#
# NOTE: Auto generated by OpenAPI Generator (https://openapi-generator.tech).
cmake_minimum_required (VERSION 2.8)
#PROJECT's NAME
project(CppRestOpenAPIClient)
# THE LOCATION OF OUTPUT BINARIES
set(CMAKE_LIBRARY_DIR ${PROJECT_SOURCE_DIR}/lib)
set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_DIR})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
# BUILD TYPE
message("A ${CMAKE_BUILD_TYPE} build configuration is detected")
# Update require components as necessary
#find_package(Boost 1.45.0 REQUIRED COMPONENTS ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY} ${Boost_DATE_TIME_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
# build and set path to cpp rest sdk
set(CPPREST_ROOT "~/cpprestsdk/Release")
set(CPPREST_INCLUDE_DIR ${CPPREST_ROOT}/include)
set(CPPREST_LIBRARY_DIR ${CPPREST_ROOT}/lib)
include_directories(${PROJECT_SOURCE_DIR} api model ${CPPREST_INCLUDE_DIR})
# If using vcpkg, set include directories. Also comment out CPPREST section above since vcpkg will handle it.
# To install required vcpkg packages execute:
# > vcpkg install cpprestsdk cpprestsdk:x64-windows boost-uuid boost-uuid:x64-windows
# set(VCPKG_ROOT "C:\\vcpkg\\installed\\x64-windows")
# set(VCPKG_INCLUDE_DIR ${VCPKG_ROOT}/include)
# set(VCPKG_LIBRARY_DIR ${VCPKG_ROOT}/lib)
# include_directories(${PROJECT_SOURCE_DIR} api model ${VCPKG_INCLUDE_DIR})
#SUPPORTING FILES
set(SUPPORTING_FILES "ApiClient" "ApiConfiguration" "ApiException" "HttpContent" "IHttpBody" "JsonBody" "ModelBase" "MultipartFormData" "Object")
#SOURCE FILES
file(GLOB SOURCE_FILES "api/*" "model/*")
add_library(${PROJECT_NAME} ${SUPPORTING_FILES} ${SOURCE_FILES})
set(SMF_API_CLIENT_SOURCES
SMFClientApi.cpp
${SOURCE_FILES} ${SUPPORTING_FILES} )
add_executable(smf_client_api
${SMF_API_CLIENT_SOURCES})
target_link_libraries(smf_client_api boost_system pthread ssl cpprest crypto )
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/contexts)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
include_directories(${SRC_TOP_DIR}/sbi/smf_client)
include_directories(${SRC_TOP_DIR}/sbi/smf_client/api)
include_directories(${SRC_TOP_DIR}/sbi/smf_client/inputs)
include_directories(${SRC_TOP_DIR}/sbi/smf_client/model)
add_library (AMF_SBI_CLIENT STATIC
${CMAKE_CURRENT_SOURCE_DIR}/ApiClient.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ApiConfiguration.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ApiException.cpp
${CMAKE_CURRENT_SOURCE_DIR}/HttpContent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/JsonBody.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ModelBase.cpp
${CMAKE_CURRENT_SOURCE_DIR}/MultipartFormData.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Object.cpp
${CMAKE_CURRENT_SOURCE_DIR}/SMFClientApi.cpp
)
#include "SMFClientApi.hpp"
#include "IndividualPDUSessionHSMFApi.h"
#include "IndividualSMContextApi.h"
#include "PDUSessionsCollectionApi.h"
#include "SMContextsCollectionApi.h"
#include "ApiConfiguration.h"
#include "ApiClient.h"
#include "nlohmann/json.hpp"
#include "logger.hpp"
#include <cpprest/http_client.h>
#include <cpprest/filestream.h>
#define DEFAULT_JSON_FILE "/home/oai/oai-5g-amf/src/sbi/smf_client/inputs/SmContextCreateData.json"
using namespace utility; // Common utilities like string conversions
using namespace web; // Common features like URIs.
using namespace web::http; // Common HTTP functionality
using namespace web::http::client; // HTTP client features
using namespace concurrency::streams; // Asynchronous streams // JSON library
using namespace oai::smf::api;
using namespace oai::smf::model;
//using json = nlohmann::json;
int smf_client_test()
{
// create ApiConfiguration
std::shared_ptr <ApiConfiguration> apiConfiguration (new ApiConfiguration);
apiConfiguration->setBaseUrl(utility::conversions::to_string_t("http://10.103.238.82:8889/nsmf-pdusession/v2"));
//apiConfiguration->setBaseUrl(utility::conversions::to_string_t("http://192.168.2.189:8889/nsmf-pdusession/v2"));
std::shared_ptr <ApiClient> apiClient(new ApiClient (apiConfiguration));
std::shared_ptr<SmContextMessage> smContextMessage (new SmContextMessage);
//fill the content of smContextMessage
//TODO:
std::shared_ptr<SmContextCreateData> smContextCreateData (new SmContextCreateData);
Logger::amf_app().debug("starting test smf_client");
json::value jv; // JSON read from input file
try {
Logger::amf_app().debug("try to get smcontextcreatedata json(%s)", DEFAULT_JSON_FILE);
string_t importFile = DEFAULT_JSON_FILE; // extract filename
ifstream_t f(importFile); // filestream of working file
stringstream_t s; // string stream for holding JSON read from file
if (f) {
s << f.rdbuf(); // stream results of reading from file stream into string stream
f.close(); // close the filestream
jv = json::value::parse(s); // parse the resultant string stream.
std::cout << "file" << DEFAULT_JSON_FILE<<std::endl;
}else{
Logger::amf_app().error("no json file");
}
}
catch (web::json::json_exception excep) {
//std::cout << "ERROR Parsing JSON: ";
//std::cout << excep.what();
Logger::amf_app().error("error!");
}
//auto supi = jv.at(U("supi"));
//std::cout << supi <<std::endl;
smContextCreateData->fromJson(jv);
smContextMessage->setJsonData(smContextCreateData);
std::shared_ptr<HttpContent> n1sm(new HttpContent);
//n1sm->setName("\\\"n1SmMsg\\\"");
//n1sm->setContentDisposition("attachment");
n1sm->setContentType("application/vnd.3gpp.5gnas");
//uint8_t buf[18] = {0x2e, 0x05, 0x1e, 0xc1, 0xff, 0xff, 0x91, 0xa1, 0x7b, 0x00, 0x07, 0x80, 0x00, 0xa0, 0x00, 0x00, 0x0d, 0x00};
uint8_t buf[8] = {0x2e, 0x05, 0x1e, 0xc1, 0xff, 0xff, 0x91, 0xa1};
char test[8];
for(int i=0; i<8; i++)
test[i] = (char)buf[i];
printf("%s\n", test);
std::string value = test;
n1sm->setData( std::shared_ptr<std::istream>( new std::stringstream( utility::conversions::to_utf8string(value) ) ) );
//n1sm->setData( std::shared_ptr<std::istream>( new std::stringstream( "2e051ec1ffff91a17b00078000a00000d00" ) ) );
//n1sm->setData( std::shared_ptr<std::istream>(test));
smContextMessage->setBinaryDataN1SmMessage(n1sm);
std::shared_ptr<SMContextsCollectionApi> smContextsCollectionApi (new SMContextsCollectionApi (apiClient));
smContextsCollectionApi->postSmContexts (smContextMessage);
return 0;
}
......@@ -23,75 +23,4 @@ using namespace oai::smf::model;
//using json = nlohmann::json;
int smf_client_test()
{
// create ApiConfiguration
std::shared_ptr <ApiConfiguration> apiConfiguration (new ApiConfiguration);
apiConfiguration->setBaseUrl(utility::conversions::to_string_t("http://10.103.238.82:8889/nsmf-pdusession/v2"));
//apiConfiguration->setBaseUrl(utility::conversions::to_string_t("http://192.168.2.189:8889/nsmf-pdusession/v2"));
std::shared_ptr <ApiClient> apiClient(new ApiClient (apiConfiguration));
std::shared_ptr<SmContextMessage> smContextMessage (new SmContextMessage);
//fill the content of smContextMessage
//TODO:
std::shared_ptr<SmContextCreateData> smContextCreateData (new SmContextCreateData);
Logger::amf_app().debug("starting test smf_client");
json::value jv; // JSON read from input file
try {
Logger::amf_app().debug("try to get smcontextcreatedata json(%s)", DEFAULT_JSON_FILE);
string_t importFile = DEFAULT_JSON_FILE; // extract filename
ifstream_t f(importFile); // filestream of working file
stringstream_t s; // string stream for holding JSON read from file
if (f) {
s << f.rdbuf(); // stream results of reading from file stream into string stream
f.close(); // close the filestream
jv = json::value::parse(s); // parse the resultant string stream.
std::cout << "file" << DEFAULT_JSON_FILE<<std::endl;
}else{
Logger::amf_app().error("no json file");
}
}
catch (web::json::json_exception excep) {
//std::cout << "ERROR Parsing JSON: ";
//std::cout << excep.what();
Logger::amf_app().error("error!");
}
//auto supi = jv.at(U("supi"));
//std::cout << supi <<std::endl;
smContextCreateData->fromJson(jv);
smContextMessage->setJsonData(smContextCreateData);
std::shared_ptr<HttpContent> n1sm(new HttpContent);
//n1sm->setName("\\\"n1SmMsg\\\"");
//n1sm->setContentDisposition("attachment");
n1sm->setContentType("application/vnd.3gpp.5gnas");
//uint8_t buf[18] = {0x2e, 0x05, 0x1e, 0xc1, 0xff, 0xff, 0x91, 0xa1, 0x7b, 0x00, 0x07, 0x80, 0x00, 0xa0, 0x00, 0x00, 0x0d, 0x00};
uint8_t buf[8] = {0x2e, 0x05, 0x1e, 0xc1, 0xff, 0xff, 0x91, 0xa1};
char test[8];
for(int i=0; i<8; i++)
test[i] = (char)buf[i];
printf("%s\n", test);
string value = test;
n1sm->setData( std::shared_ptr<std::istream>( new std::stringstream( utility::conversions::to_utf8string(value) ) ) );
//n1sm->setData( std::shared_ptr<std::istream>( new std::stringstream( "2e051ec1ffff91a17b00078000a00000d00" ) ) );
//n1sm->setData( std::shared_ptr<std::istream>(test));
smContextMessage->setBinaryDataN1SmMessage(n1sm);
std::shared_ptr<SMContextsCollectionApi> smContextsCollectionApi (new SMContextsCollectionApi (apiClient));
smContextsCollectionApi->postSmContexts (smContextMessage);
return 0;
}
int smf_client_test();
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/sctp)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
add_library (AMF_SCTP STATIC
${CMAKE_CURRENT_SOURCE_DIR}/sctp_server.cpp
)
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/nas/ies)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/ngap/libngap)
include_directories(${SRC_TOP_DIR}/secu_algorithms/5gaka)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
add_library (AMF_SECU_5GAKA STATIC
authentication_algorithms_with_5gaka.cpp
rijndael.cpp
sha256.cpp
)
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/nas/ies)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/ngap/libngap)
include_directories(${SRC_TOP_DIR}/secu_algorithms/5gaka)
include_directories(${SRC_TOP_DIR}/secu_algorithms/nas_enc_int)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
add_library (AMF_SECU_NAS STATIC
nas_algorithms.cpp
rijndael.c
snow3g.c
)
include_directories(${SRC_TOP_DIR}/../build/ext/spdlog/include)
include_directories(${SRC_TOP_DIR}/common)
include_directories(${SRC_TOP_DIR}/common/unicode)
include_directories(${SRC_TOP_DIR}/nas/common)
include_directories(${SRC_TOP_DIR}/utils)
include_directories(${SRC_TOP_DIR}/utils/bstr)
add_library (AMF_UTILS STATIC
${CMAKE_CURRENT_SOURCE_DIR}/backtrace.c
${CMAKE_CURRENT_SOURCE_DIR}/conversions.c
${CMAKE_CURRENT_SOURCE_DIR}/hex_string_convert.cpp
${CMAKE_CURRENT_SOURCE_DIR}/http_multi_parser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/if.cpp
${CMAKE_CURRENT_SOURCE_DIR}/multipartparser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/string.cpp
${CMAKE_CURRENT_SOURCE_DIR}/thread_sched.cpp
)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment