2017-10-10 114 views
0

我有一个外部项目license_reader如何添加依赖于ExternalProject_Add通过CMake

ExternalProject_Add(
    license_reader 
    PREFIX "${BUILD_DIR}" 
    SOURCE_DIR "${CMAKE_SOURCE_DIR}/extern/license_reader" 
    CMAKE_ARGS -DCMAKE_BUILD_TYPE=${BUILD_TYPE} 
    -DCMAKE_INSTALL_PREFIX=${BUILD_DIR} 
DEPENDS openssl 
) 

我希望我的它与OpenSSL的使用CMake的构建时,它联系起来。

如何通过使用CMAKE_ARGS进行链接的参数?

+1

'CMAKE_ {EXE,SHARED} _LINKER_FLAGS' ? – arrowd

回答

0

试了几次后,我设法做到这一点是添加以下行:

set(LICENSE_READER_LIBRARIES "${LICENSE_READER_LIBRARY};${OPENSSL_LIBRARIES};dl") 

和整体CMake的是这样的:

ExternalProject_Add(
    license_reader 
    PREFIX "${BUILD_DIR}" 
    SOURCE_DIR "${CMAKE_SOURCE_DIR}/extern/license_reader" 
    CMAKE_ARGS -DCMAKE_BUILD_TYPE=${BUILD_TYPE} 
    -DCMAKE_INSTALL_PREFIX=${BUILD_DIR} 
DEPENDS openssl 
) 
set(LICENSE_READER_LIBRARIES "${LICENSE_READER_LIBRARY};${OPENSSL_LIBRARIES};dl")