CMakeLists 在實際專案中的編寫例項

2021-10-03 03:55:46 字數 2739 閱讀 8048

最近在專案中經常需要編寫cmakelists,在此記錄一下正式專案中是如何編寫使用的,特此記錄便於日後查閱。

project("device-authentication")

cmake_minimum_required(version 3.5)

include_directories(

../include/

../../src/net/mbedtls/include

../../src/smalgo/sms4/include

)set(my_src_crypto

../../src/net/mbedtls/library/aes.c

../../src/net/mbedtls/library/aesni.c

../../src/net/mbedtls/library/base64.c

../../src/net/mbedtls/library/rsa.c

../../src/net/mbedtls/library/rsa_internal.c

../../src/net/mbedtls/library/entropy.c

../../src/net/mbedtls/library/entropy_poll.c

../../src/net/mbedtls/library/bignum.c

../../src/net/mbedtls/library/sha1.c

../../src/net/mbedtls/library/sha256.c

../../src/net/mbedtls/library/sha512.c

../../src/net/mbedtls/library/md.c

../../src/net/mbedtls/library/md5.c

../../src/net/mbedtls/library/md_wrap.c

../../src/net/mbedtls/library/ripemd160.c

../../src/net/mbedtls/library/platform_util.c

../../src/net/mbedtls/library/oid.c

../../src/net/mbedtls/library/timing.c

../../src/net/mbedtls/library/net_sockets.c

../../src/smalgo/sms4/cbc128.c

../../src/smalgo/sms4/sms4_cbc.c

../../src/smalgo/sms4/sms4_common.c

../../src/smalgo/sms4/sms4_enc.c

../../src/smalgo/sms4/sms4_setkey.c

)set(my_src_crypto_dbg

../../src/net/mbedtls/library/ctr_drbg.c

)set(src_list_encrypt_bin

oem_porting.c

sdk_porting.c

authref.c

test.c$$

)set(src_list_decrypt_lib

oem_porting.c

sdk_porting.c

authref.c

auth.c$$

)set(src_list_product_lib

auth_product.h

auth_product.c

)set(src_list_product_auth_bin

auth_product.h

test_product.c

)if(env strequal linux)

link_directories(../device/cmake-build-debug)

endif()

if(env strequal android_v8)

link_directories(./v8)

endif()

if(env strequal android_v7)

link_directories(./v7)

endif()

if(no_local_key strequal on)

add_definitions(-dno_local_key)

endif()

if(random_device_id strequal on)

add_definitions(-dno_local_key)

add_definitions(-drandom_device_id)

endif()

add_definitions(-fpic)

#add_library(authoal static $)

#add_library(authoal shared $)

add_executable(eaidkauth $)

#add_library(productoal shared $)

#target_link_libraries(productoal -lauthoal)

#add_library(productoal shared $)

#add_executable(productauth $)

#target_link_libraries(productauth -lauthoal)

到此 cmakelists 在實際專案中的編寫例項介紹完成。

關於cachedrowset在實際專案中的應用

由於專案需求原因,需要實現乙個功能就是,抽取大量的資料庫資料然後寫入文字並打包上傳。看似乙個很簡單的東西,在大資料量的環境下就顯得不是那麼簡單了。首先有60張左右的表需要進行資料的處理。各個公司情況不同,表的總資料量可能是幾千萬到幾十億不等。所以,耗時非常嚴重。由於只是單純的進行資料的提取加工寫入文...

OTP在實際專案中的整合

提起動態令牌,大家都會想到認證伺服器,而這個認證伺服器又怎麼應用到實際的應用系統中呢?在這裡做乙個分析和說明,幫助廣大使用者能夠更好的使用otp動態令牌這種身份認證產品。從前面otp原理部分中可以看出,伺服器端是在乙個範圍內計算出多個otp,然後檢驗客戶端硬體產生的otp口令是否在這個範圍內。那麼伺...

map在實際專案的中妙用

1.需求描述 在批量編輯購物車的時候,考慮到因為階梯價不同,導致商品編輯的庫存超過總庫存!比如這樣的資料 這個時候假設這個sku的庫存是3那我這個時候編輯資料,把隨機的一條購物車記錄調整為4,那這個時候我是可以編輯的!這與事實不符合。如何去做調整呢?本質 對比傳入的數量與商品sku的總數量!如何分別...