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