Change compile flag and clearer to read
[apps/app-templates.git] / cmake / cmake.d / 02-macros.cmake
index 08a56f0..5f8e5fa 100644 (file)
@@ -57,7 +57,9 @@ macro(project_targets_populate)
        set(PACKAGE_HTTPDIR ${PROJECT_PKG_BUILD_DIR}/htdocs)
        set(PACKAGE_DATADIR ${PROJECT_PKG_BUILD_DIR}/data)
 
-       add_custom_target(populate)
+       add_custom_command(OUTPUT ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR}
+               COMMAND mkdir -p ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR})
+       add_custom_target(populate DEPENDS ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR})
                get_property(PROJECT_TARGETS GLOBAL PROPERTY PROJECT_TARGETS)
        foreach(TARGET ${PROJECT_TARGETS})
                get_target_property(T ${TARGET} LABELS)
@@ -79,6 +81,7 @@ macro(project_targets_populate)
                        endif()
 
                        if(${T} STREQUAL "BINDING")
+                               list(APPEND BINDINGS_LIST "${P}${OUT}")
                                add_custom_command(OUTPUT ${PACKAGE_LIBDIR}/${P}${OUT}.so
                                        COMMAND mkdir -p ${PACKAGE_LIBDIR}
                                        COMMAND cp ${BD}/${P}${OUT}.so ${PACKAGE_LIBDIR}
@@ -135,6 +138,19 @@ macro(remote_targets_populate)
                        COMMAND exit -1
                )
        else()
+               set(BINDINGS_REGEX "not_set")
+               if(DEFINED BINDINGS_LIST)
+                       list(LENGTH BINDINGS_LIST BINDINGS_LIST_LENGTH)
+                       if(BINDINGS_LIST_LENGTH EQUAL 1)
+                               list(GET BINDINGS_LIST 0 BINDINGS_REGEX)
+                               string(APPEND BINDINGS_REGEX ".so")
+                       elseif(BINDINGS_LIST_LENGTH GREATER 1)
+                               foreach(B IN LISTS BINDINGS_LIST)
+                                       STRING(APPEND BINDINGS_STR "${B}|")
+                               endforeach()
+                                       STRING(REGEX REPLACE "^(.*)\\|$" "(\\1).so" BINDINGS_REGEX ${BINDINGS_STR})
+                       endif()
+               endif()
 
                configure_files_in_dir(${SSH_TEMPLATE_DIR})
                configure_files_in_dir(${GDB_TEMPLATE_DIR})