mirror of
https://github.com/jlengrand/openapi-generator.git
synced 2026-03-10 08:31:23 +00:00
[cpprestsdk] CMake build system improvements (#10660)
* cmake install support * fix option overriding issue * fix alignment
This commit is contained in:
@@ -2,3 +2,5 @@ generatorName: cpp-restsdk
|
||||
outputDir: samples/client/petstore/cpp-restsdk/client
|
||||
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/cpp-rest-sdk-client
|
||||
additionalProperties:
|
||||
packageName: CppRestPetstoreClient
|
||||
|
||||
@@ -12,6 +12,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|defaultInclude|The default include statement that should be placed in all headers for including things like the declspec (convention: #include "Commons.h" | ||
|
||||
|generateGMocksForApis|Generate Google Mock classes for APIs.| |null|
|
||||
|modelPackage|C++ namespace for models (convention: name.space.model).| |org.openapitools.client.model|
|
||||
|packageName|C++ package (library) name.| |CppRestOpenAPIClient|
|
||||
|packageVersion|C++ package version.| |1.0.0|
|
||||
|reservedWordPrefix|Prefix to prepend to reserved words in order to avoid conflicts| |r_|
|
||||
|variableNameFirstCharacterUppercase|Make first character of variable name uppercase (eg. value -> Value)| |true|
|
||||
|
||||
@@ -38,10 +38,13 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
public static final String DECLSPEC = "declspec";
|
||||
public static final String DEFAULT_INCLUDE = "defaultInclude";
|
||||
public static final String GENERATE_GMOCKS_FOR_APIS = "generateGMocksForApis";
|
||||
public static final String DEFAULT_PACKAGE_NAME = "CppRestOpenAPIClient";
|
||||
|
||||
protected String packageName = "";
|
||||
protected String packageVersion = "1.0.0";
|
||||
protected String declspec = "";
|
||||
protected String defaultInclude = "";
|
||||
protected String modelDirName = "model";
|
||||
|
||||
private final Set<String> parentModels = new HashSet<>();
|
||||
private final Multimap<String, CodegenModel> childrenByParent = ArrayListMultimap.create();
|
||||
@@ -119,6 +122,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
cliOptions.clear();
|
||||
|
||||
// CLI options
|
||||
addOption(CodegenConstants.PACKAGE_NAME, "C++ package (library) name.", DEFAULT_PACKAGE_NAME);
|
||||
addOption(CodegenConstants.MODEL_PACKAGE, "C++ namespace for models (convention: name.space.model).",
|
||||
this.modelPackage);
|
||||
addOption(CodegenConstants.API_PACKAGE, "C++ namespace for apis (convention: name.space.api).",
|
||||
@@ -159,6 +163,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
|
||||
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
|
||||
supportingFiles.add(new SupportingFile("cmake-lists.mustache", "", "CMakeLists.txt"));
|
||||
supportingFiles.add(new SupportingFile("cmake-config.mustache", "", "Config.cmake.in"));
|
||||
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
|
||||
|
||||
languageSpecificPrimitives = new HashSet<String>(
|
||||
@@ -195,6 +200,8 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
public void processOpts() {
|
||||
super.processOpts();
|
||||
|
||||
packageName = (String) additionalProperties.getOrDefault(CodegenConstants.PACKAGE_NAME, DEFAULT_PACKAGE_NAME);
|
||||
|
||||
if (additionalProperties.containsKey(DECLSPEC)) {
|
||||
declspec = additionalProperties.get(DECLSPEC).toString();
|
||||
}
|
||||
@@ -212,6 +219,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
additionalProperties.put("gmockApis", "true");
|
||||
}
|
||||
|
||||
additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName);
|
||||
additionalProperties.put("modelNamespaceDeclarations", modelPackage.split("\\."));
|
||||
additionalProperties.put("modelNamespace", modelPackage.replaceAll("\\.", "::"));
|
||||
additionalProperties.put("modelHeaderGuardPrefix", modelPackage.replaceAll("\\.", "_").toUpperCase(Locale.ROOT));
|
||||
@@ -229,7 +237,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
*/
|
||||
@Override
|
||||
public String modelFileFolder() {
|
||||
return outputFolder + "/model";
|
||||
return outputFolder + "/" + modelDirName;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -246,7 +254,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen {
|
||||
if (importMapping.containsKey(name)) {
|
||||
return importMapping.get(name);
|
||||
} else {
|
||||
return "#include \"" + toModelFilename(name) + ".h\"";
|
||||
return "#include \"" + modelDirName + "/" + toModelFilename(name) + ".h\"";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
#define {{apiHeaderGuardPrefix}}_{{classname}}_H_
|
||||
|
||||
{{{defaultInclude}}}
|
||||
#include "../ApiClient.h"
|
||||
|
||||
#include "ApiClient.h"
|
||||
{{^hasModelImport}}#include "ModelBase.h"{{/hasModelImport}}
|
||||
{{#imports}}{{{import}}}
|
||||
{{/imports}}
|
||||
{{^hasModelImport}}#include "../ModelBase.h"{{/hasModelImport}}
|
||||
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
{{#apiNamespaceDeclarations}}
|
||||
|
||||
5
modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/cmake-config.mustache
vendored
Normal file
5
modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/cmake-config.mustache
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake)
|
||||
|
||||
check_required_components("@PROJECT_NAME@")
|
||||
@@ -8,69 +8,85 @@
|
||||
#
|
||||
# NOTE: Auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
cmake_minimum_required (VERSION 3.1)
|
||||
|
||||
#PROJECT's NAME
|
||||
project(CppRestOpenAPIClient)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
project({{{packageName}}})
|
||||
|
||||
# THE LOCATION OF OUTPUT BINARIES
|
||||
set(CMAKE_LIBRARY_DIR ${PROJECT_SOURCE_DIR}/lib)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(NOT CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
|
||||
# BUILD TYPE
|
||||
message("A ${CMAKE_BUILD_TYPE} build configuration is detected")
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
file(GLOB_RECURSE HEADER_FILES "*.h")
|
||||
file(GLOB_RECURSE SOURCE_FILES "*.cpp")
|
||||
|
||||
add_library(${PROJECT_NAME} ${HEADER_FILES} ${SOURCE_FILES})
|
||||
|
||||
target_compile_options(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
|
||||
-Wall -Wno-unused-variable>
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
|
||||
target_link_directories(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
${Boost_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if (UNIX)
|
||||
message(STATUS "Building client library for Linux/Unix")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Wno-unused-variable")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wno-unused-variable")
|
||||
set(cpprestsdk_DIR /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/cmake/)
|
||||
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC cpprest ${Boost_LIBRARIES} crypto)
|
||||
else()
|
||||
message(STATUS "Building client library for Windows")
|
||||
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC cpprestsdk::cpprest ${Boost_LIBRARIES} bcrypt)
|
||||
endif()
|
||||
|
||||
# Manually set the cpprestsdk paths when not using package manager
|
||||
#set(CPPREST_INCLUDE_DIR ${CPPREST_ROOT}/include)
|
||||
#set(CPPREST_LIBRARY_DIR ${CPPREST_ROOT}/lib)
|
||||
#include_directories(${CPPREST_INCLUDE_DIR})
|
||||
#link_directories(${CPPREST_LIBRARY_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})
|
||||
|
||||
target_include_directories(
|
||||
${PROJECT_NAME} PRIVATE
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/model
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/api
|
||||
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
||||
)
|
||||
|
||||
target_link_directories(
|
||||
${PROJECT_NAME} PRIVATE
|
||||
${Boost_LIBRARY_DIRS}
|
||||
install(
|
||||
TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
|
||||
if (UNIX)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE cpprest ${Boost_LIBRARIES} crypto)
|
||||
else()
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE cpprestsdk::cpprest ${Boost_LIBRARIES} bcrypt)
|
||||
endif()
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
|
||||
FILES_MATCHING PATTERN "*.h"
|
||||
)
|
||||
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
install(
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
{{^parent}}
|
||||
{{{defaultInclude}}}
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
{{/parent}}
|
||||
|
||||
{{#imports}}{{{this}}}
|
||||
|
||||
@@ -1,57 +1,21 @@
|
||||
cmake_minimum_required (VERSION 3.2)
|
||||
|
||||
project(cpprest-petstore)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
if (UNIX)
|
||||
message(STATUS "Building for Linux/Unix")
|
||||
|
||||
set(CMAKE_BUILD_TYPE Debug)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Wno-unused-variable -pg -g3")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wno-unused-variable -pg -g3")
|
||||
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
else()
|
||||
message(STATUS "Building for Windows")
|
||||
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
find_package(pthreads REQUIRED)
|
||||
endif()
|
||||
cmake_minimum_required (VERSION 3.1)
|
||||
|
||||
add_subdirectory(client)
|
||||
|
||||
file(GLOB SRCS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
project(cpprest-petstore)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
file(GLOB SOURCE_FILES "*.cpp")
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
CppRestPetstoreClient
|
||||
Threads::Threads
|
||||
)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SRCS})
|
||||
add_dependencies(${PROJECT_NAME} CppRestOpenAPIClient )
|
||||
|
||||
target_include_directories(
|
||||
${PROJECT_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/client
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/client/model
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/client/api
|
||||
${Boost_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
target_link_directories(
|
||||
${PROJECT_NAME} PRIVATE
|
||||
${Boost_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if (UNIX)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE CppRestOpenAPIClient cpprest pthread ${Boost_LIBRARIES} crypto)
|
||||
else()
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE CppRestOpenAPIClient cpprestsdk::cpprest ${pthreads_LIBRARIES} ${Boost_LIBRARIES} bcrypt)
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if (UNIX)
|
||||
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
|
||||
endif()
|
||||
|
||||
@@ -6,6 +6,7 @@ ApiConfiguration.h
|
||||
ApiException.cpp
|
||||
ApiException.h
|
||||
CMakeLists.txt
|
||||
Config.cmake.in
|
||||
HttpContent.cpp
|
||||
HttpContent.h
|
||||
IHttpBody.h
|
||||
|
||||
@@ -8,69 +8,85 @@
|
||||
#
|
||||
# NOTE: Auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
cmake_minimum_required (VERSION 3.1)
|
||||
|
||||
#PROJECT's NAME
|
||||
project(CppRestOpenAPIClient)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
project(CppRestPetstoreClient)
|
||||
|
||||
# THE LOCATION OF OUTPUT BINARIES
|
||||
set(CMAKE_LIBRARY_DIR ${PROJECT_SOURCE_DIR}/lib)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(NOT CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
|
||||
# BUILD TYPE
|
||||
message("A ${CMAKE_BUILD_TYPE} build configuration is detected")
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
file(GLOB_RECURSE HEADER_FILES "*.h")
|
||||
file(GLOB_RECURSE SOURCE_FILES "*.cpp")
|
||||
|
||||
add_library(${PROJECT_NAME} ${HEADER_FILES} ${SOURCE_FILES})
|
||||
|
||||
target_compile_options(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
|
||||
-Wall -Wno-unused-variable>
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
|
||||
target_link_directories(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
${Boost_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if (UNIX)
|
||||
message(STATUS "Building client library for Linux/Unix")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Wno-unused-variable")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wno-unused-variable")
|
||||
set(cpprestsdk_DIR /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/cmake/)
|
||||
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC cpprest ${Boost_LIBRARIES} crypto)
|
||||
else()
|
||||
message(STATUS "Building client library for Windows")
|
||||
|
||||
find_package(cpprestsdk REQUIRED)
|
||||
find_package(Boost REQUIRED)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC cpprestsdk::cpprest ${Boost_LIBRARIES} bcrypt)
|
||||
endif()
|
||||
|
||||
# Manually set the cpprestsdk paths when not using package manager
|
||||
#set(CPPREST_INCLUDE_DIR ${CPPREST_ROOT}/include)
|
||||
#set(CPPREST_LIBRARY_DIR ${CPPREST_ROOT}/lib)
|
||||
#include_directories(${CPPREST_INCLUDE_DIR})
|
||||
#link_directories(${CPPREST_LIBRARY_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})
|
||||
|
||||
target_include_directories(
|
||||
${PROJECT_NAME} PRIVATE
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/model
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/api
|
||||
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
||||
)
|
||||
|
||||
target_link_directories(
|
||||
${PROJECT_NAME} PRIVATE
|
||||
${Boost_LIBRARY_DIRS}
|
||||
install(
|
||||
TARGETS ${PROJECT_NAME}
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
|
||||
if (UNIX)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE cpprest ${Boost_LIBRARIES} crypto)
|
||||
else()
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE cpprestsdk::cpprest ${Boost_LIBRARIES} bcrypt)
|
||||
endif()
|
||||
install(
|
||||
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
|
||||
FILES_MATCHING PATTERN "*.h"
|
||||
)
|
||||
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
install(
|
||||
EXPORT ${PROJECT_NAME}Targets
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake)
|
||||
|
||||
check_required_components("@PROJECT_NAME@")
|
||||
@@ -19,14 +19,13 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_API_PetApi_H_
|
||||
|
||||
|
||||
#include "../ApiClient.h"
|
||||
|
||||
#include "ApiResponse.h"
|
||||
#include "ApiClient.h"
|
||||
|
||||
#include "model/ApiResponse.h"
|
||||
#include "HttpContent.h"
|
||||
#include "Pet.h"
|
||||
#include "model/Pet.h"
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
namespace org {
|
||||
|
||||
@@ -19,13 +19,12 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_API_StoreApi_H_
|
||||
|
||||
|
||||
#include "../ApiClient.h"
|
||||
|
||||
#include "Order.h"
|
||||
#include "ApiClient.h"
|
||||
|
||||
#include "model/Order.h"
|
||||
#include <map>
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
namespace org {
|
||||
|
||||
@@ -19,13 +19,12 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_API_UserApi_H_
|
||||
|
||||
|
||||
#include "../ApiClient.h"
|
||||
|
||||
#include "User.h"
|
||||
#include "ApiClient.h"
|
||||
|
||||
#include "model/User.h"
|
||||
#include <vector>
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
namespace org {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_MODEL_ApiResponse_H_
|
||||
|
||||
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_MODEL_Category_H_
|
||||
|
||||
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_MODEL_Order_H_
|
||||
|
||||
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_MODEL_Pet_H_
|
||||
|
||||
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
|
||||
#include "Tag.h"
|
||||
#include "model/Tag.h"
|
||||
#include <cpprest/details/basic_types.h>
|
||||
#include "Category.h"
|
||||
#include <vector>
|
||||
#include "model/Category.h"
|
||||
|
||||
namespace org {
|
||||
namespace openapitools {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_MODEL_Tag_H_
|
||||
|
||||
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#define ORG_OPENAPITOOLS_CLIENT_MODEL_User_H_
|
||||
|
||||
|
||||
#include "../ModelBase.h"
|
||||
#include "ModelBase.h"
|
||||
|
||||
#include <cpprest/details/basic_types.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user