diff --git a/RestServer/humidityserver/CMakeLists.txt b/RestServer/humidityserver/CMakeLists.txt index 35593f5..acf51fb 100644 --- a/RestServer/humidityserver/CMakeLists.txt +++ b/RestServer/humidityserver/CMakeLists.txt @@ -19,6 +19,35 @@ add_custom_command(OUTPUT ${HUMIDITYSERVER_CODEGEN_SOURCES} file(GLOB HUMIDITYSERVER_SOURCES ${PROJECT_SOURCE_DIR}/*.c*) list(APPEND HUMIDITYSERVER_SOURCES ${HUMIDITYSERVER_CODEGEN_SOURCES}) +### ngrest-db BEGIN + +FUNCTION(CODEGEN_FILES_DB outVar prefix) + SET(listVar "") + FOREACH(file ${ARGN}) + get_filename_component(fileBase "${file}" NAME_WE) + LIST(APPEND listVar "${prefix}/${fileBase}Entities.h") + LIST(APPEND listVar "${prefix}/${fileBase}Entities.cpp") + ENDFOREACH(file) + SET(${outVar} "${listVar}" PARENT_SCOPE) +ENDFUNCTION(CODEGEN_FILES_DB) + + +set(HUMIDITYSERVER_DB_CODEGEN_DIR "${PROJECT_BINARY_DIR}/codegen-ngrest-db") + +PREPEND(HUMIDITYSERVER_DB_HEADERS_PATHS ${PROJECT_SOURCE_DIR} ${HUMIDITYSERVER_HEADERS}) + +CODEGEN_FILES_DB(HUMIDITYSERVER_DB_CODEGEN_SOURCES ${HUMIDITYSERVER_DB_CODEGEN_DIR} ${HUMIDITYSERVER_HEADERS}) + +add_custom_command(OUTPUT ${HUMIDITYSERVER_DB_CODEGEN_SOURCES} + COMMAND ${NGREST_BIN_PATH}ngrestcg -i "${PROJECT_SOURCE_DIR}" -o ${HUMIDITYSERVER_DB_CODEGEN_DIR} -t dbentity ${HUMIDITYSERVER_HEADERS} + DEPENDS ${HUMIDITYSERVER_HEADERS_PATHS} +) + +list(APPEND HUMIDITYSERVER_SOURCES ${HUMIDITYSERVER_DB_CODEGEN_SOURCES}) + +include_directories(${PROJECT_SOURCE_DIR} ${HUMIDITYSERVER_DB_CODEGEN_DIR}) + +### ngrest-db END include_directories(${PROJECT_SOURCE_DIR} $ENV{NGREST_EXT_INCLUDES}) @@ -30,3 +59,8 @@ set_target_properties(humidityserver PROPERTIES ) target_link_libraries(humidityserver ngrestutils ngrestcommon ngrestjson ngrestengine $ENV{NGREST_EXT_LIBS}) +### ngrest-db BEGIN + +target_link_libraries(humidityserver ngrestdbcommon ngrestdbmysql) + +### ngrest-db END