| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- cmake_minimum_required(VERSION 3.12)
- project(paddle_model_protect)
- set(CMAKE_CXX_STANDARD 11)
- IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
- # use "-fvisibility=hidden" instead of "-Wl,--version-script ${CMAKE_CURRENT_SOURCE_DIR}/export_rule.map"
- set(CMAKE_C_VISIBILITY_PRESET hidden)
- set(CMAKE_CXX_VISIBILITY_PRESET hidden)
- set(CMAKE_C_FLAGS "-g -O2 -fPIC ${CMAKE_C_FLAGS}")
- set(CMAKE_CXX_FLAGS "-g -O2 -fPIC ${CMAKE_CXX_FLAGS}")
- ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
- set(CMAKE_C_FLAGS_RELEASE "/MT")
- set(CMAKE_CXX_FLAGS_RELEASE "/MT")
- ENDIF ()
- SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output/bin)
- SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output/lib)
- file(COPY "${PROJECT_SOURCE_DIR}/include/paddle_model_encrypt.h" DESTINATION "${PROJECT_SOURCE_DIR}/output/include/paddle_model_encrypt.h")
- file(COPY "${PROJECT_SOURCE_DIR}/include/paddle_model_decrypt.h" DESTINATION "${PROJECT_SOURCE_DIR}/output/include/paddle_model_decrypt.h")
- file(COPY "${PROJECT_SOURCE_DIR}/include/paddle_stream_decrypt.h" DESTINATION "${PROJECT_SOURCE_DIR}/output/include/paddle_stream_decrypt.h")
- file(COPY "${PROJECT_SOURCE_DIR}/include/model_code.h" DESTINATION "${PROJECT_SOURCE_DIR}/output/include/model_code.h")
- set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rd/openssl-1.1.0k/install-${CMAKE_SYSTEM_PROCESSOR}")
- include_directories("../" ${OPENSSL_ROOT_DIR}/include)
- include_directories("${CMAKE_CURRENT_SOURCE_DIR}/3rd/gflags/include")
- IF (CMAKE_SYSTEM_NAME MATCHES "Windows")
- set(OPENSSL_LIBS
- "${OPENSSL_ROOT_DIR}/lib/libssl_static.lib"
- "${OPENSSL_ROOT_DIR}/lib/libcrypto_static.lib")
- set(OPENSSL_LIBS ${OPENSSL_LIBS} ${CMAKE_CURRENT_SOURCE_DIR}/3rd/gflags/lib/gflags_static.lib shlwapi)
- ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Linux")
- set(OPENSSL_LIBS
- "${OPENSSL_ROOT_DIR}/lib/libssl.a"
- "${OPENSSL_ROOT_DIR}/lib/libcrypto.a"
- -ldl -lpthread)
- set(OPENSSL_LIBS ${OPENSSL_LIBS} ${CMAKE_CURRENT_SOURCE_DIR}/3rd/gflags/lib/libgflags.a)
- ENDIF ()
- message("build no paddle libs")
- IF (MSVC)
- # Visual Studio 2015
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ws2_32.lib /NODEFAULTLIB:libcmt.lib")
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ws2_32.lib /NODEFAULTLIB:libcmt.lib")
- ENDIF ()
- aux_source_directory(util/src SRC_COMMON)
- aux_source_directory(util/src/crypto SRC_COMMON)
- set(SRC_ENCRYPT src/paddle_model_encrypt.cpp ${SRC_COMMON})
- # tool: paddle_encrypt_tool
- add_executable(paddle_encrypt_tool
- sample/paddle_encrypt_tool.cpp
- ${SRC_ENCRYPT})
- target_link_libraries(paddle_encrypt_tool ${OPENSSL_LIBS})
|