You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2021/12/14 18:49:06 UTC

[incubator-teaclave] branch master updated: Fix packages rebuild every time (#589)

This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git


The following commit(s) were added to refs/heads/master by this push:
     new e919563  Fix packages rebuild every time (#589)
e919563 is described below

commit e919563c2f7d6fcad65729a37aedc42d0008915c
Author: Mingshen Sun <bo...@mssun.me>
AuthorDate: Tue Dec 14 10:47:13 2021 -0800

    Fix packages rebuild every time (#589)
    
    * Fix rebuild packages every time
    
    * Remove test targets when TEST_MOD is ON, remove dcap targets when DCAP is OFF
    
    * Polish CMakeList.txt
---
 CMakeLists.txt            | 58 +++++++++++++++++++++++------------------------
 cmake/TeaclaveUtils.cmake |  4 ----
 2 files changed, 29 insertions(+), 33 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a2f65db..97bb26f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -107,6 +107,18 @@ parse_cargo_packages(
   EDL_NAMES
   EDL_LIB_NAMES)
 
+if(NOT TEST_MODE)
+  list(FILTER SGX_APPS EXCLUDE REGEX "_tests$")
+  list(FILTER SGX_APP_CATEGORIES EXCLUDE REGEX "tests")
+  list(FILTER SGX_LIBS EXCLUDE REGEX "_tests_enclave$")
+  list(FILTER SGX_LIB_CATEGORIES EXCLUDE REGEX "tests")
+endif()
+
+if(NOT DCAP)
+  list(FILTER UNIX_APPS EXCLUDE REGEX "dcap")
+  list(FILTER UNIX_APP_CATEGORIES EXCLUDE REGEX "dcap")
+endif()
+
 include(TeaclaveGenVars)
 
 # ========== CONFIG-TIME CHECKS AND INITIALIZATIONS BEGIN =========
@@ -119,13 +131,11 @@ include(UtilTargets)
 
 # unix_app
 list(LENGTH UNIX_APPS UNIX_APP_LEN)
+set(UNIX_APPS_DEPENDS prep)
 math(EXPR UNIX_APP_LAST_INDEX "${UNIX_APP_LEN} - 1")
 foreach(_i RANGE ${UNIX_APP_LAST_INDEX})
   list(GET UNIX_APPS ${_i} _pkg_name)
   list(GET UNIX_APP_CATEGORIES ${_i} _category)
-  if(${_category} STREQUAL "dcap" AND NOT DCAP)
-    continue()
-  endif()
   add_cargo_build_target(
     ${_pkg_name}
     TARGET_NAME
@@ -139,11 +149,12 @@ foreach(_i RANGE ${UNIX_APP_LAST_INDEX})
     EXTRA_CARGO_FLAGS
     ${EXTRA_CARGO_FLAGS}
     DEPENDS
-    prep)
+    ${UNIX_APPS_DEPENDS})
 endforeach()
 
 # sgx_untrusted_app
 list(LENGTH SGX_APPS SGX_APP_LEN)
+set(SGX_APPS_DEPENDS prep)
 math(EXPR SGX_APP_LAST_INDEX "${SGX_APP_LEN} - 1")
 foreach(_i RANGE ${SGX_APP_LAST_INDEX})
   list(GET SGX_APPS ${_i} _pkg_name)
@@ -161,7 +172,7 @@ foreach(_i RANGE ${SGX_APP_LAST_INDEX})
     EXTRA_CARGO_FLAGS
     ${EXTRA_CARGO_FLAGS}
     DEPENDS
-    prep)
+    ${SGX_APPS_DEPENDS})
 endforeach()
 
 set(MESAPY_OUTPUTS
@@ -248,38 +259,27 @@ target_compile_options(pycomponent PUBLIC -UWITH_THREAD -O2 -fPIC -Wimplicit
 
 # sgx_trusted_lib
 list(LENGTH SGX_LIBS SGX_LIB_LEN)
+set(SGX_LIB_DEPENDS prep mesapy pycomponent)
 math(EXPR SGX_LIB_LAST_INDEX "${SGX_LIB_LEN} - 1")
 foreach(_i RANGE ${SGX_LIB_LAST_INDEX})
   list(GET SGX_LIBS ${_i} _pkg_name)
   list(GET SGX_LIB_PATHS ${_i} _pkg_path)
   list(GET SGX_LIB_CATEGORIES ${_i} _category)
   list(GET EDL_LIB_NAMES ${_i} _edl_lib_name)
+
   if(EXECUTOR_WAMR)
-    add_sgx_build_target(
-      ${_pkg_path}
-      ${_pkg_name}
-      DEPENDS
-      prep
-      mesapy
-      pycomponent
-      wamr
-      INSTALL_DIR
-      ${TEACLAVE_INSTALL_DIR}/${_category}
-      EDL_LIB_NAME
-      ${_edl_lib_name})
-  else()
-    add_sgx_build_target(
-      ${_pkg_path}
-      ${_pkg_name}
-      DEPENDS
-      prep
-      mesapy
-      pycomponent
-      INSTALL_DIR
-      ${TEACLAVE_INSTALL_DIR}/${_category}
-      EDL_LIB_NAME
-      ${_edl_lib_name})
+    list(APPEND SGX_LIB_DEPENDS wamr)
   endif()
+
+  add_sgx_build_target(
+    ${_pkg_path}
+    ${_pkg_name}
+    DEPENDS
+    ${SGX_LIB_DEPENDS}
+    INSTALL_DIR
+    ${TEACLAVE_INSTALL_DIR}/${_category}
+    EDL_LIB_NAME
+    ${_edl_lib_name})
 endforeach()
 
 # Dylib/staticlib of Teaclave Rust Client SDK
diff --git a/cmake/TeaclaveUtils.cmake b/cmake/TeaclaveUtils.cmake
index 97acc47..9853c82 100644
--- a/cmake/TeaclaveUtils.cmake
+++ b/cmake/TeaclaveUtils.cmake
@@ -203,10 +203,6 @@ function(add_sgx_build_target sgx_lib_path pkg_name)
 
   set(_target_name ${SGXLIB_PREFIX}-${pkg_name_no_enclave})
 
-  if(pkg_name_no_enclave MATCHES "_tests$")
-    set(RUSTFLAGS "${RUSTFLAGS} --cfg test_mode")
-  endif()
-
   if(pkg_name_no_enclave MATCHES "_tests$" AND CMAKE_BUILD_TYPE_LOWER STREQUAL
                                                "release")
     set(_enclave_info "/dev/null")

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org