forked from loafle/openapi-generator-original
* [C-libcurl] Add object.c to CMakeLists to compile * [C-libcurl] Add object.h/object.c to CMakeLists of sample
93 lines
2.4 KiB
CMake
93 lines
2.4 KiB
CMake
cmake_minimum_required (VERSION 2.6)
|
|
project (CGenerator)
|
|
|
|
cmake_policy(SET CMP0063 NEW)
|
|
|
|
set(CMAKE_C_VISIBILITY_PRESET default)
|
|
set(CMAKE_CXX_VISIBILITY_PRESET default)
|
|
set(CMAKE_VISIBILITY_INLINES_HIDDEN OFF)
|
|
set(CMAKE_BUILD_TYPE Debug)
|
|
|
|
set(pkgName "openapi_petstore")
|
|
|
|
find_package(CURL 7.58.0 REQUIRED)
|
|
if(CURL_FOUND)
|
|
include_directories(${CURL_INCLUDE_DIR})
|
|
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} ${CURL_LIBRARIES} )
|
|
else(CURL_FOUND)
|
|
message(FATAL_ERROR "Could not find the CURL library and development files.")
|
|
endif()
|
|
|
|
set(SRCS
|
|
src/list.c
|
|
src/apiKey.c
|
|
src/apiClient.c
|
|
external/cJSON.c
|
|
model/object.c
|
|
model/api_response.c
|
|
model/category.c
|
|
model/order.c
|
|
model/pet.c
|
|
model/tag.c
|
|
model/user.c
|
|
api/PetAPI.c
|
|
api/StoreAPI.c
|
|
api/UserAPI.c
|
|
|
|
)
|
|
|
|
set(HDRS
|
|
include/apiClient.h
|
|
include/list.h
|
|
include/keyValuePair.h
|
|
external/cJSON.h
|
|
model/object.h
|
|
model/api_response.h
|
|
model/category.h
|
|
model/order.h
|
|
model/pet.h
|
|
model/tag.h
|
|
model/user.h
|
|
api/PetAPI.h
|
|
api/StoreAPI.h
|
|
api/UserAPI.h
|
|
|
|
)
|
|
|
|
# Add library with project file with projectname as library name
|
|
add_library(${pkgName} SHARED ${SRCS} ${HDRS})
|
|
# Link dependent libraries
|
|
target_link_libraries(${pkgName} ${CURL_LIBRARIES} )
|
|
#install library to destination
|
|
install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX})
|
|
|
|
# Setting file variables to null
|
|
set(SRCS "")
|
|
set(HDRS "")
|
|
|
|
|
|
## This section shows how to use the above compiled libary to compile the source files
|
|
## set source files
|
|
#set(SRCS
|
|
# unit-tests/manual-PetAPI.c
|
|
# unit-tests/manual-StoreAPI.c
|
|
# unit-tests/manual-UserAPI.c
|
|
# unit-tests/manual-order.c
|
|
# unit-tests/manual-user.c)
|
|
|
|
##set header files
|
|
#set(HDRS
|
|
#)
|
|
|
|
## loop over all files in SRCS variable
|
|
#foreach(SOURCE_FILE ${SRCS})
|
|
# # Get only the file name from the file as add_executable doesnot support executable with slash("/")
|
|
# get_filename_component(FILE_NAME_ONLY ${SOURCE_FILE} NAME_WE)
|
|
# # Remove .c from the file name and set it as executable name
|
|
# string( REPLACE ".c" "" EXECUTABLE_FILE ${FILE_NAME_ONLY})
|
|
# # Add executable for every source file in SRCS
|
|
# add_executable(unit-${EXECUTABLE_FILE} ${SOURCE_FILE})
|
|
# # Link above created libary to executable and dependent libary curl
|
|
# target_link_libraries(unit-${EXECUTABLE_FILE} ${CURL_LIBRARIES} ${pkgName} )
|
|
#endforeach(SOURCE_FILE ${SRCS})
|