49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| if(PROJECT_ENABLE_LIBSODIUM)
 | |
|   if(PROJECT_BUILD)
 | |
|     pkg_check_modules(SODIUM libsodium>=${LIBSODIUM_VERSION} REQUIRED)
 | |
| 
 | |
|     add_definitions(-DPROJECT_ENABLE_LIBSODIUM)
 | |
| 
 | |
|     include_directories(BEFORE SYSTEM ${SODIUM_INCLUDE_DIRS})
 | |
| 
 | |
|     if(PROJECT_IS_MINGW_UNIX)
 | |
|       if(PROJECT_STATIC_LINK)
 | |
|         link_libraries(/mingw64/lib/libsodium.a)
 | |
|       else()
 | |
|         link_libraries(/mingw64/lib/libsodium.dll.a)
 | |
|       endif()
 | |
|     else()
 | |
|       link_libraries(${SODIUM_LIBRARIES})
 | |
|     endif()
 | |
|   elseif(NOT PROJECT_IS_MINGW)
 | |
|     if(PROJECT_IS_MINGW)
 | |
|       set(LIBSODIUM_TYPE mingw64)
 | |
|     else()
 | |
|       set(LIBSODIUM_TYPE linux)
 | |
|     endif()
 | |
| 
 | |
|     if(PROJECT_BUILD_SHARED_LIBS)
 | |
|       set(LIBSODIUM_ENABLE_SHARED yes)
 | |
|     else()
 | |
|       set(LIBSODIUM_ENABLE_SHARED no)
 | |
|     endif()
 | |
| 
 | |
|     ExternalProject_Add(libsodium_project
 | |
|       PREFIX external
 | |
|       URL ${PROJECT_3RD_PARTY_DIR}/libsodium-${LIBSODIUM_VERSION}.tar.gz
 | |
|       URL_HASH SHA256=${LIBSODIUM_HASH}
 | |
|       BUILD_IN_SOURCE 1
 | |
|       LIST_SEPARATOR |
 | |
|       CONFIGURE_COMMAND ${PROJECT_3RD_PARTY_DIR}/libsodium_configure.sh 
 | |
|         ${LIBSODIUM_TYPE}
 | |
|         ${PROJECT_MARCH}
 | |
|         ${PROJECT_EXTERNAL_BUILD_ROOT}
 | |
|         ${LIBSODIUM_ENABLE_SHARED}
 | |
|       BUILD_COMMAND make -j1
 | |
|       INSTALL_COMMAND make install
 | |
|     )
 | |
| 
 | |
|     list(APPEND PROJECT_DEPENDENCIES libsodium_project)
 | |
|   endif()
 | |
| endif()
 |