|
1 | | -# |
2 | | -# OpenAPI Petstore |
3 | | -# This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. |
4 | | -# |
5 | | -# OpenAPI spec version: 1.0.0 |
6 | | -# |
7 | | -# https://openapi-generator.tech |
8 | | -# |
9 | | -# NOTE: Auto generated by OpenAPI Generator (https://openapi-generator.tech). |
10 | | - |
11 | | -cmake_minimum_required (VERSION 2.8) |
12 | | - |
13 | | -#PROJECT's NAME |
14 | | -project(CppRestOpenAPIClient) |
15 | | - |
16 | | - |
17 | | -# THE LOCATION OF OUTPUT BINARIES |
18 | | -set(CMAKE_LIBRARY_DIR ${PROJECT_SOURCE_DIR}/lib) |
19 | | -set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_DIR}) |
20 | | - |
21 | | -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
22 | | - |
23 | | -if(NOT CMAKE_BUILD_TYPE) |
24 | | - set(CMAKE_BUILD_TYPE Release) |
25 | | -endif() |
26 | | - |
27 | | -# BUILD TYPE |
28 | | -message("A ${CMAKE_BUILD_TYPE} build configuration is detected") |
29 | | - |
30 | | -# Update require components as necessary |
31 | | -#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}) |
32 | | - |
33 | | -# build and set path to cpp rest sdk |
34 | | -set(CPPREST_ROOT ${PROJECT_SOURCE_DIR}/3rdParty/cpprest) |
35 | | -set(CPPREST_INCLUDE_DIR ${CPPREST_ROOT}/include) |
36 | | -set(CPPREST_LIBRARY_DIR ${CPPREST_ROOT}/lib) |
37 | | - |
38 | | -include_directories(${PROJECT_SOURCE_DIR} api model ${CPPREST_INCLUDE_DIR}) |
39 | | - |
40 | | - |
41 | | -# If using vcpkg, set include directories. Also comment out CPPREST section above since vcpkg will handle it. |
42 | | -# To install required vcpkg packages execute: |
43 | | -# > vcpkg install cpprestsdk cpprestsdk:x64-windows boost-uuid boost-uuid:x64-windows |
44 | | -# set(VCPKG_ROOT "C:\\vcpkg\\installed\\x64-windows") |
45 | | -# set(VCPKG_INCLUDE_DIR ${VCPKG_ROOT}/include) |
46 | | -# set(VCPKG_LIBRARY_DIR ${VCPKG_ROOT}/lib) |
47 | | -# include_directories(${PROJECT_SOURCE_DIR} api model ${VCPKG_INCLUDE_DIR}) |
48 | | - |
49 | | -#SUPPORTING FILES |
50 | | -set(SUPPORTING_FILES "ApiClient" "ApiConfiguration" "ApiException" "HttpContent" "IHttpBody" "JsonBody" "ModelBase" "MultipartFormData" "Object") |
51 | | -#SOURCE FILES |
52 | | -file(GLOB SOURCE_FILES "api/*" "model/*") |
53 | | - |
54 | | -add_library(${PROJECT_NAME} ${SUPPORTING_FILES} ${SOURCE_FILES}) |
| 1 | +cmake_minimum_required (VERSION 3.2) |
| 2 | + |
| 3 | +project(cpprest-petstore) |
| 4 | +set(CMAKE_VERBOSE_MAKEFILE ON) |
| 5 | +set(CMAKE_INCLUDE_CURRENT_DIR ON) |
| 6 | + |
| 7 | + |
| 8 | +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Wno-unused-variable") |
| 9 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -std=c++14 -Wall -Wno-unused-variable") |
| 10 | + |
| 11 | +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg -g3") |
| 12 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg -g3") |
| 13 | +set(CMAKE_BUILD_TYPE Debug) |
| 14 | +set(CMAKE_PREFIX_PATH /usr/lib/x86_64-linux-gnu/cmake) |
| 15 | +find_package(cpprestsdk REQUIRED) |
| 16 | +find_package(Boost REQUIRED) |
| 17 | +add_subdirectory(client) |
| 18 | + |
| 19 | +file(GLOB SRCS |
| 20 | + ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp |
| 21 | +) |
| 22 | +include_directories( |
| 23 | + ${CMAKE_CURRENT_SOURCE_DIR}/client |
| 24 | + ${CMAKE_CURRENT_SOURCE_DIR}/client/model |
| 25 | + ${CMAKE_CURRENT_SOURCE_DIR}/client/api |
| 26 | +) |
| 27 | + |
| 28 | +link_directories( |
| 29 | + ${Boost_LIBRARY_DIRS} |
| 30 | +) |
| 31 | +add_executable(${PROJECT_NAME} ${SRCS}) |
| 32 | +add_dependencies(${PROJECT_NAME} CppRestOpenAPIClient ) |
| 33 | +target_link_libraries(${PROJECT_NAME} CppRestOpenAPIClient cpprest pthread boost_system crypto) |
| 34 | +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) |
| 35 | +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) |
| 36 | + |
| 37 | +install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) |
0 commit comments