From 61c1a106bd81794f48e4cd85bae129f9270279e8 Mon Sep 17 00:00:00 2001 From: Andrew Shadura Date: Sun, 1 Nov 2015 19:41:28 +0100 Subject: libdigidoc (3.10.1.1208-1) unstable; urgency=medium * Initial upload (Closes: #658300). # imported from the archive --- libdigidoc/CMakeLists.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 libdigidoc/CMakeLists.txt (limited to 'libdigidoc/CMakeLists.txt') diff --git a/libdigidoc/CMakeLists.txt b/libdigidoc/CMakeLists.txt new file mode 100644 index 0000000..eceebfe --- /dev/null +++ b/libdigidoc/CMakeLists.txt @@ -0,0 +1,153 @@ +configure_file( + ${CMAKE_SOURCE_DIR}/etc/digidoc.conf.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${DIGIDOC_CONF_NAME} + @ONLY +) +FILE( GLOB CERTS ${CMAKE_SOURCE_DIR}/etc/certs/*.crt ) + +set( PUBLIC_HEADER + DigiDocCert.h + DigiDocConfig.h + DigiDocConvert.h + DigiDocDebug.h + DigiDocDefs.h + DigiDocDfExtract.h + DigiDocEncGen.h + DigiDocEnc.h + DigiDocEncSAXParser.h + DigiDocError.h + DigiDocGen.h + DigiDocLib.h + DigiDocMem.h + DigiDocObj.h + DigiDocOCSP.h + DigiDocParser.h +# DigiDocPKCS11.h + DigiDocSAXParser.h + DigiDocStack.h + DigiDocVerify.h + DigiDocHTTP.h + DigiDocService.h +) + +if( WIN32 ) + add_definitions( -DWITH_SOAPDEFS_H ) + list( APPEND libdigidoc_SRCS DigiDocGlobals.c DigiDocCSP.c DigiCrypt.c DlgUnit.c DlgUnitS.c ) + set( EXT_LIBRARIES Crypt32 Comctl32 ) +endif() + +if( MSVC ) + add_definitions( + -D_CRT_NONSTDC_NO_DEPRECATE + -D_CRT_SECURE_NO_DEPRECATE + -D_CRT_SECURE_NO_WARNINGS + -D_SCL_SECURE_NO_WARNINGS + ) +endif() + +add_library( digidoc SHARED + ${PUBLIC_HEADER} + ${CMAKE_CURRENT_BINARY_DIR}/${DIGIDOC_CONF_NAME} + ${libdigidoc_SRCS} + ${CERTS} + libdigidoc.rc + DigiDocConfig.c + DigiDocLib.c + DigiDocObj.c + DigiDocPKCS11.c + DigiDocError.c + DigiDocParser.c + DigiDocDebug.c + DigiDocSAXParser.c + DigiDocMem.c + DigiDocStack.c + DigiDocEnc.c + DigiDocEncGen.c + DigiDocEncSAXParser.c + DigiDocCert.c + DigiDocConvert.c + DigiDocGen.c + DigiDocVerify.c + DigiDocOCSP.c + DigiDocDfExtract.c + DigiDocHTTP.c + DigiDocService.c +) + +target_link_libraries( digidoc + ${CMAKE_DL_LIBS} + ${LIBXML2_LIBRARIES} + ${OPENSSL_LIBRARIES} + ${ZLIB_LIBRARIES} + ${EXT_LIBRARIES} +) + +set_target_properties( digidoc PROPERTIES + VERSION ${MAJOR_VER}.${MINOR_VER}.${RELEASE_VER} + SOVERSION 2 + PUBLIC_HEADER "${PUBLIC_HEADER}" + RESOURCE ${CMAKE_CURRENT_BINARY_DIR}/${DIGIDOC_CONF_NAME} + FRAMEWORK_VERSION 2 + FRAMEWORK "${FRAMEWORK}" + MACOSX_FRAMEWORK_IDENTIFIER "ee.ria.libdigidoc" + MACOSX_RPATH YES +) + +add_executable(cdigidoc cdigidoc.c cdigidoc.rc) +target_link_libraries(cdigidoc digidoc) + +install( TARGETS digidoc + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RESOURCE DESTINATION ${CMAKE_INSTALL_SYSCONFDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libdigidoc + FRAMEWORK DESTINATION /Library/Frameworks +) + +if(WIN32) + install( DIRECTORY ${PROJECT_BINARY_DIR}/libdigidoc/ DESTINATION ${CMAKE_INSTALL_LIBDIR} FILES_MATCHING PATTERN "*.pdb" ) +endif() + +if( FRAMEWORK ) + set_target_properties( digidoc PROPERTIES + OUTPUT_NAME "libdigidoc" + COMPILE_DEFINITIONS "FRAMEWORK" + LINK_FLAGS "-framework CoreFoundation -framework Security" + RESOURCE "${CERTS};${CMAKE_CURRENT_BINARY_DIR}/${DIGIDOC_CONF_NAME}" + ) + add_custom_command( TARGET cdigidoc POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $/Resources ) + add_custom_target( codesign DEPENDS cdigidoc + COMMAND codesign -f -s \"$$SIGNCERT\" $/Resources/cdigidoc + COMMAND codesign -f -s \"$$SIGNCERT\" $/../.. + COMMAND touch $ + ) + add_custom_target( pkgbuild DEPENDS codesign + COMMAND make install DESTDIR=install \; pkgbuild + --root install + --sign \"$$INSTCERT\" + ${CMAKE_BINARY_DIR}/libdigidoc_${VERSION}$ENV{VER_SUFFIX}.pkg + ) + add_custom_target( zipdebug DEPENDS cdigidoc + COMMAND dsymutil -o libdigidoc.dSYM $ + COMMAND dsymutil -o libdigidoc.dSYM $ + COMMAND zip -r ${CMAKE_BINARY_DIR}/libdigidoc-dbg_${VERSION}$ENV{VER_SUFFIX}.zip libdigidoc.dSYM + ) +else() + install( TARGETS cdigidoc DESTINATION ${CMAKE_INSTALL_BINDIR} ) + configure_file( libdigidoc.pc.cmake libdigidoc.pc @ONLY ) + configure_file( cdigidoc.1.cmake cdigidoc.1 ) + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libdigidoc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/cdigidoc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 ) + install( FILES ${CERTS} DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/libdigidoc ) +endif() + +#install( FILES +# pkcs11/pkcs11.h +# pkcs11/pkcs11f.h +# pkcs11/pkcs11t.h +# pkcs11/unix.h +# pkcs11/cryptoki.h +# DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libdigidoc/pkcs11 +#) -- cgit v1.2.3