From 010038a342d210b84199a0f45588c066f8976cdf Mon Sep 17 00:00:00 2001 From: Victor Vazquez Date: Wed, 18 Mar 2020 10:58:28 -0700 Subject: [PATCH] moving files and updating cmake to make it compilable (#35) * moving files and updating cmake to make it compilable * Adding http namespace --- CMakeLists.txt | 12 ++++-- .../global_compile_options.cmake | 0 sdk/core/azure-core/CMakeLists.txt | 37 +++---------------- .../{inc => }/internal/contract.hpp | 0 .../azure-core/src/http/az_http_request.cpp | 28 ++++++++++++++ 5 files changed, 42 insertions(+), 35 deletions(-) rename eng/cmake/global_compile_options.txt => cmake-modules/global_compile_options.cmake (100%) rename sdk/core/azure-core/{inc => }/internal/contract.hpp (100%) create mode 100644 sdk/core/azure-core/src/http/az_http_request.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 45e7eb7fc..79fc7dab3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,10 +2,13 @@ # SPDX-License-Identifier: MIT cmake_minimum_required (VERSION 3.12) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake-modules") +# Compile Options option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" ON) option(BUILD_CURL_TRANSPORT "Build internal http transport implementation with CURL for HTTP Pipeline" OFF) +# VCPKG Integration if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "") @@ -13,14 +16,17 @@ elseif(DEFINED ENV{VCPKG_INSTALLATION_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "") endif() - if(DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET) set(VCPKG_TARGET_TRIPLET "$ENV{VCPKG_DEFAULT_TRIPLET}" CACHE STRING "") endif() +# Project definition project(az LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True) -#enable_testing () -include(eng/cmake/global_compile_options.txt) +# compiler warning flags +include(global_compile_options) + +# sub-projects +add_subdirectory(sdk/core/azure-core) diff --git a/eng/cmake/global_compile_options.txt b/cmake-modules/global_compile_options.cmake similarity index 100% rename from eng/cmake/global_compile_options.txt rename to cmake-modules/global_compile_options.cmake diff --git a/sdk/core/azure-core/CMakeLists.txt b/sdk/core/azure-core/CMakeLists.txt index 5a549ff15..36c3af207 100644 --- a/sdk/core/azure-core/CMakeLists.txt +++ b/sdk/core/azure-core/CMakeLists.txt @@ -4,12 +4,12 @@ cmake_minimum_required (VERSION 3.12) project (azure-core LANGUAGES CXX) - -set(CMAKE_C_STANDARD 99) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED True) add_library ( azure-core - src/az_span.c + src/http/az_http_request ) if(MSVC) @@ -32,35 +32,8 @@ else() target_compile_options(azure-core PRIVATE -Wall -Wextra -pedantic ${WARNINGS_AS_ERRORS_FLAG}) endif() -target_include_directories (azure-core PUBLIC $ $) - -# create interface for internal headers -#add_library(az_core_internal INTERFACE) -#target_include_directories(az_core_internal INTERFACE $ $) - -#target_link_libraries(az_core PRIVATE az_core_internal) +target_include_directories (azure-core PUBLIC $ $) +target_include_directories (azure-core PUBLIC $ $) # make sure that users can consume the project as a library. add_library (azure::core ALIAS azure-core) - - add_executable ( - azure-core_test - test/main.cpp - ) - - target_link_libraries(azure-core-test PRIVATE azure-core) - target_include_directories (azure-core-test PRIVATE src) - - if (UNIX) - target_link_libraries(azure-core-test PRIVATE m) - endif() - - target_include_directories (azure-core-test PRIVATE test) - - add_test(NAME azure-core-test COMMAND azure-core-test) - - -if (MOCK_CURL) - MESSAGE("Will mock all calls to http client with static responses") - add_definitions(-DMOCK_CURL="MOCK") -endif() \ No newline at end of file diff --git a/sdk/core/azure-core/inc/internal/contract.hpp b/sdk/core/azure-core/internal/contract.hpp similarity index 100% rename from sdk/core/azure-core/inc/internal/contract.hpp rename to sdk/core/azure-core/internal/contract.hpp diff --git a/sdk/core/azure-core/src/http/az_http_request.cpp b/sdk/core/azure-core/src/http/az_http_request.cpp new file mode 100644 index 000000000..08afdef1c --- /dev/null +++ b/sdk/core/azure-core/src/http/az_http_request.cpp @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// SPDX-License-Identifier: MIT + +#include + +namespace azure +{ +namespace core +{ +namespace http +{ +class az_http_request +{ + +private: + /* data */ +public: + az_http_request(); + ~az_http_request(); +}; + +az_http_request::az_http_request() {} + +az_http_request::~az_http_request() {} + +} // namespace http +} // namespace core +} // namespace azure