2017-10-10 1 views
0

J'ai un projet externe license_readerComment ajouter la dépendance à l'ExternalProject_Add avec 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 
) 

Je veux que mon lien avec pour OpenSSL lors de la construction à l'aide de CMake.

Comment puis-je transmettre l'argument de liaison en utilisant CMAKE_ARGS?

+1

'CMAKE_ {EXE,} PARTAGÉ _LINKER_FLAGS' ? – arrowd

Répondre

0

Après quelques essais, je réussi à le faire est d'ajouter la ligne suivante:

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

et dans l'ensemble du CMake ressemble à ceci:

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")