forked from loafle/openapi-generator-original
[cpp-qt5-client ] Improve CMake (#8724)
* Improve CMake * Don't link ssl and crypto only for apple * update samples Co-authored-by: William Cheng <wing328hk@gmail.com>
This commit is contained in:
parent
85b2b3c2e4
commit
2b716684f3
@ -15,12 +15,28 @@ find_package(Qt5Core REQUIRED)
|
|||||||
find_package(Qt5Network REQUIRED){{#contentCompression}}
|
find_package(Qt5Network REQUIRED){{#contentCompression}}
|
||||||
find_package(ZLIB REQUIRED){{/contentCompression}}
|
find_package(ZLIB REQUIRED){{/contentCompression}}
|
||||||
|
|
||||||
file(GLOB SRCS
|
add_library(${PROJECT_NAME}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
{{#models}}
|
||||||
|
{{#model}}
|
||||||
|
{{classname}}.cpp
|
||||||
|
{{/model}}
|
||||||
|
{{/models}}
|
||||||
|
{{#apiInfo}}
|
||||||
|
{{#apis}}
|
||||||
|
{{#operations}}
|
||||||
|
{{classname}}.cpp
|
||||||
|
{{/operations}}
|
||||||
|
{{/apis}}
|
||||||
|
{{/apiInfo}}
|
||||||
|
{{prefix}}Helpers.cpp
|
||||||
|
{{prefix}}HttpRequest.cpp
|
||||||
|
{{prefix}}HttpFileElement.cpp
|
||||||
)
|
)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network {{#contentCompression}} ${ZLIB_LIBRARIES}{{/contentCompression}})
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} ${SRCS})
|
if(NOT APPLE)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network ssl crypto{{#contentCompression}} ${ZLIB_LIBRARIES}{{/contentCompression}})
|
target_link_libraries(${PROJECT_NAME} PRIVATE ssl crypto)
|
||||||
|
endif()
|
||||||
|
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||||
|
@ -11,17 +11,19 @@ find_package(Qt5Core REQUIRED)
|
|||||||
find_package(Qt5Network REQUIRED)
|
find_package(Qt5Network REQUIRED)
|
||||||
find_package(Qt5Test REQUIRED)
|
find_package(Qt5Test REQUIRED)
|
||||||
|
|
||||||
file(GLOB SRCS
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/PetStore/*.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/client
|
${CMAKE_CURRENT_SOURCE_DIR}/client
|
||||||
)
|
)
|
||||||
|
|
||||||
add_subdirectory(client)
|
add_subdirectory(client)
|
||||||
add_executable(${PROJECT_NAME} ${SRCS})
|
add_executable(${PROJECT_NAME}
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network Qt5::Test ssl crypto client)
|
PetStore/main.cpp
|
||||||
|
PetStore/PetApiTests.cpp
|
||||||
|
PetStore/StoreApiTests.cpp
|
||||||
|
PetStore/UserApiTests.cpp
|
||||||
|
)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE client)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network Qt5::Test)
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_EXTENSIONS OFF)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_EXTENSIONS OFF)
|
||||||
|
@ -14,12 +14,25 @@ endif ()
|
|||||||
find_package(Qt5Core REQUIRED)
|
find_package(Qt5Core REQUIRED)
|
||||||
find_package(Qt5Network REQUIRED)
|
find_package(Qt5Network REQUIRED)
|
||||||
|
|
||||||
file(GLOB SRCS
|
add_library(${PROJECT_NAME}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
PFXApiResponse.cpp
|
||||||
|
PFXCategory.cpp
|
||||||
|
PFXOrder.cpp
|
||||||
|
PFXPet.cpp
|
||||||
|
PFXTag.cpp
|
||||||
|
PFXUser.cpp
|
||||||
|
PFXPetApi.cpp
|
||||||
|
PFXStoreApi.cpp
|
||||||
|
PFXUserApi.cpp
|
||||||
|
PFXHelpers.cpp
|
||||||
|
PFXHttpRequest.cpp
|
||||||
|
PFXHttpFileElement.cpp
|
||||||
)
|
)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network )
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} ${SRCS})
|
if(NOT APPLE)
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Network ssl crypto)
|
target_link_libraries(${PROJECT_NAME} PRIVATE ssl crypto)
|
||||||
|
endif()
|
||||||
|
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user