<div dir="ltr"><div><div>Hello,<br></div><br></div><div>2 folders:<br></div><div>src/bin/cft.c  <- cft target<br></div><div>src/cft/signature.c and src/cft/ssl.c <- libcft target<br><br></div><div>So libcft target:<br><br></div><div>pkg_search_module(XMLSEC REQUIRED xmlsec1)<br>include_directories(${XMLSEC_INCLUDE_DIRS})<br><br>add_library(libcft signature.c ssl.c)<br>target_link_libraries(libcft ${XMLSEC_LIBRARIES})<br>target_compile_definitions(libcft PUBLIC ${XMLSEC_CFLAGS_OTHER})<br><br></div><div>Not cft target version 1:<br>add_executable(cft cft.c)<br>target_link_libraries(cft libcft)<br><br><br></div><div>I have to say, that XMLSEC_CFLAGS_OTHER is bunch of definitions:<br>-DXMLSEC_CRYPTO=\"openssl\" -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_SIZE_T -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1<br><br></div><div>With cft target version 1 cmake doesnt use this definitions, So I got error:<br><br>Linking C executable ../../bin/cft<br>cd /mili/cp-proxy/src/bin && /usr/bin/cmake -E cmake_link_script CMakeFiles/cft.dir/link.txt --verbose=1<br>/usr/bin/cc     CMakeFiles/cft.dir/cft.c.o  -o ../../bin/cft -rdynamic ../cft/liblibcft.a -lcurl -lxmlsec1 -lltdl -lxslt -lxml2 -lssl -lcrypto /usr/local/lib/libxmlsec1.so ../lib/libBASE64.a -Wl,-rpath,/usr/local/lib <br>../cft/liblibcft.a(signature.c.o): In function `cft_utils_init':<br>signature.c:(.text+0xac1): undefined reference to `xmlSecCryptoDLLoadLibrary'<br><br></div><div>So here come cft target version 2:<br><br>pkg_search_module(XMLSEC REQUIRED xmlsec1)<br>add_executable(cft cft.c)<br>target_compile_definitions(cft PUBLIC ${XMLSEC_CFLAGS_OTHER}) <-- main line here<br>target_link_libraries(cft libcft)<br><br></div><div>Again:<br><br>Linking C executable ../../bin/cft<br>cd /mili/cp-proxy/src/bin && /usr/bin/cmake -E cmake_link_script CMakeFiles/cft.dir/link.txt --verbose=1<br>/usr/bin/cc     CMakeFiles/cft.dir/cft.c.o  -o ../../bin/cft -rdynamic ../cft/liblibcft.a -lcurl -lxmlsec1 -lltdl -lxslt -lxml2 -lssl -lcrypto /usr/local/lib/libxmlsec1.so ../lib/libBASE64.a -Wl,-rpath,/usr/local/lib <br>../cft/liblibcft.a(signature.c.o): In function `cft_utils_init':<br>signature.c:(.text+0xac1): undefined reference to `xmlSecCryptoDLLoadLibrary'<br><br></div><div>cft version 3<br></div><div>I tried to add add_definition by hand, but no succes, cmake doesn't use these definitions for cft target.<br><br></div><div>Any ideas how to compile that with xmlsec definitions?<br><br></div><div>Thanks<br></div></div>