Hi, On Thursday, October 2, 2014 11:59:10 AM UTC-6, David Irvine wrote: > > Should say, I am happy with pure GPL / BSD on these cmake files, so if you > have a github repo I can add and do a pull request with a gpl header if > that helps. >
Thanks for the reply. For Homebrew, the CMake changes need to be an upstream contribution to Crypto++ project, i.e. only 'official' upstream patches (approved or pending) can be included in a formula. So, in that regard, the license should match the Crypto++ project's. For Homebrew formulae, there is no per-package directory, e.g. nothing to fork to do a PR against. The pending CMakeLists.txt file would be a resource, probably pulled from a gist at github.com into the temp directory, during the build phase. I would use the same gist to post the contribution upstream to Crypto++ project. Your open source license would remain, with any changes I might make noted as a revision. Regards, Larry > On Thu, Oct 2, 2014 at 6:57 PM, David Irvine <[email protected] > <javascript:>> wrote: > >> It is already OSS (GPL) Please help yourself, if you need a different >> license I see no issue with that either. >> >> Here it is I hope it helps >> >> https://github.com/maidsafe/MaidSafe/blob/next/src/third_party_libs/cryptopp/CMakeLists.txt >> >> The whole project uses cmake so feel free to grab any parts you find >> interesting or useful. Any license issues let me know though, should be OK. >> >> >> >> On Thu, Oct 2, 2014 at 6:51 PM, Larry Shaffer < >> [email protected] <javascript:>> wrote: >> >>> Hi David, >>> >>> On Wednesday, May 23, 2012 12:57:26 PM UTC-6, David Irvine wrote: >>>> >>>> Very helpful thanks a lot. We will use these changes I imagine, gotta >>>> love open source !! >>> >>> >>> Then, do you mind releasing your CMakeLists.txt you posted (or an >>> updated one) under an open source license? >>> >>> I am working on adding a dynamic option for the cryptopp Homebrew >>> formula <https://github.com/Homebrew/homebrew/pull/32857> and would >>> like to just use CMake instead of hacking the GNUmakefile >>> >>> Regards, >>> >>> Larry >>> >>> >>> >>>> >>>> Best Regards >>>> David Irvine >>>> >>>> On Wed, May 23, 2012 at 7:15 PM, NoRulez <[email protected]> wrote: >>>> >>>>> Thanks for your file. >>>>> >>>>> There are the same errors on Mac OS X Lion. >>>>> Under windows the build also breaks with MinGW. >>>>> >>>>> I've attached a patch for MinGW if your are interessted. >>>>> >>>>> Best Regards >>>>> >>>>> Am 23. Mai 2012 um 19:16 schrieb David Irvine <[email protected] >>>>> >: >>>>> >>>>> You could try this one of ours, it does seem to work ! not a great >>>>> answer but perhaps a quick fix >>>>> >>>>> David >>>>> >>>>> On Wed, May 23, 2012 at 6:12 PM, NoRulez <[email protected]> wrote: >>>>> >>>>>> I use the following compiler flags: >>>>>> >>>>>> SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -Wall -W >>>>>> -Wunused-variable -Wunused-parameter -Wunused-function -Wunused >>>>>> -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wwrite-strings >>>>>> -fprofile-arcs -ftest-coverage") >>>>>> SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -Wall -W >>>>>> -fprofile-arcs -ftest-coverage") >>>>>> SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} >>>>>> -fprofile-arcs -ftest-coverage") >>>>>> SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} >>>>>> -fprofile-arcs -ftest-coverage") >>>>>> SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} >>>>>> -fprofile-arcs -ftest-coverage") >>>>>> >>>>>> I've also attached the CMakeLists.txt file which I use to compile it. >>>>>> >>>>>> Here is the output after the project is configured: >>>>>> >>>>>> -- The C compiler identification is GNU -- The CXX compiler >>>>>> identification is GNU -- Checking whether C compiler has -isysroot -- >>>>>> Checking whether C compiler has -isysroot - yes -- Checking whether C >>>>>> compiler supports OSX deployment target flag -- Checking whether C >>>>>> compiler supports OSX deployment target flag - yes -- Check for working >>>>>> C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc >>>>>> -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI >>>>>> info - done -- Checking whether CXX compiler has -isysroot -- Checking >>>>>> whether CXX compiler has -isysroot - yes -- Checking whether CXX >>>>>> compiler supports OSX deployment target flag -- Checking whether CXX >>>>>> compiler supports OSX deployment target flag - yes -- Check for working >>>>>> CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: >>>>>> /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting >>>>>> CXX compiler ABI info - done >>>>>> >>>>>> >>>>>> >>>>>> Best Regards >>>>>> >>>>>> >>>>>> Am 23. Mai 2012 um 19:02 schrieb David Irvine <[email protected] >>>>>> >: >>>>>> >>>>>> >>>>>> Compile flags and versions would really help. clang is very actively >>>>>> being developed just now. If you use libc++ and std=c++11 you need to >>>>>> make >>>>>> some changes. Otherwise you may be using pedantic flags or similar. >>>>>> >>>>>> On Wed, May 23, 2012 at 5:59 PM, NoRulez <[email protected]> wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> on windows and on linux crypto++ compiles fine. >>>>>>> But on mac os x lion i get compile errors. >>>>>>> Did i need to define something special to get it to work? >>>>>>> >>>>>>> Here are the errors: >>>>>>> >>>>>>> /.../source/misc.h:414:2: warning: comparison of unsigned expression < >>>>>>> 0 is always false [-Wtype-limits] /.../source/misc.h: In instantiation >>>>>>> of 'std::string CryptoPP::IntToString(T, unsigned int) [with T = >>>>>>> unsigned int; std::string = std::basic_string<char>]': >>>>>>> /.../source/simple.h:42:131: required from here >>>>>>> /.../source/misc.h:414:2: warning: comparison of unsigned expression < >>>>>>> 0 is always false [-Wtype-limits] In file included from >>>>>>> /.../source/rijndael.h:8:0, from /.../source/aes.h:4, from >>>>>>> /.../source/dll.h:11, from /.../source/dll.cpp:6: >>>>>>> /.../source/secblock.h: In instantiation of >>>>>>> 'CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer >>>>>>> CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::allocate(CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::size_type, const void*) [with T = unsigned char; bool >>>>>>> T_Align16 = false; CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::pointer = unsigned char*; CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::size_type = long unsigned int]': >>>>>>> /.../source/secblock.h:129:29: required from here >>>>>>> >>>>>>> /.../source/secblock.h:91:3: error: 'CheckSize' was not declared in >>>>>>> this scope, and no declarations were found by argument-dependent lookup >>>>>>> at the point of instantiation [-fpermissive] >>>>>>> >>>>>>> /.../source/secblock.h:91:3: note: declarations in dependent base >>>>>>> 'CryptoPP::AllocatorBase<unsigned char>' are not found by unqualified >>>>>>> lookup /.../source/secblock.h:91:3: note: use 'this->CheckSize' instead >>>>>>> /.../source/secblock.h: In instantiation of >>>>>>> 'CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer >>>>>>> CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::allocate(CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::size_type, const void*) [with T = short unsigned int; bool >>>>>>> T_Align16 = false; CryptoPP::AllocatorWithCleanup<T, >>>>>>> T_Align16>::pointer = short unsigned int*; >>>>>>> CryptoPP::AllocatorWithCleanup<T, T_Align16>::size_type = long unsigned >>>>>>> int]': /.../source/secblock.h:130:29: required from here >>>>>>> >>>>>>> >>>>>>> /.../source/algebra.h:51:16: warning: unused parameter 'source' >>>>>>> [-Wunused-parameter] In file included from /.../source/algebra.h:282:0, >>>>>>> from /.../source/modarith.h:9, from /.../source/pubkey.h:35, from >>>>>>> /.../source/gfpcrypt.h:8, from /.../source/dh.h:7, from >>>>>>> /.../source/dll.h:17, from /.../source/dll.cpp:6: >>>>>>> /.../source/algebra.cpp: In instantiation of 'const T& >>>>>>> CryptoPP::AbstractEuclideanDomain<T>::Gcd(const Element&, const >>>>>>> Element&) const [with T = CryptoPP::Integer; >>>>>>> CryptoPP::AbstractEuclideanDomain<T>::Element = CryptoPP::Integer]': >>>>>>> /.../source/modarith.h:15:29: required from here >>>>>>> >>>>>>> /.../source/algebra.cpp:61:2: error: 'Equal' was not declared in this >>>>>>> scope, and no declarations were found by argument-dependent lookup at >>>>>>> the point of instantiation [-fpermissive] >>>>>>> >>>>>>> /.../source/algebra.cpp:61:2: note: declarations in dependent base >>>>>>> 'CryptoPP::AbstractGroup<CryptoPP::Integer>' are not found by >>>>>>> unqualified lookup /.../source/algebra.cpp:61:2: note: use >>>>>>> 'this->Equal' instead In file included from /.../source/pubkey.h:36:0, >>>>>>> from /.../source/gfpcrypt.h:8, from /.../source/dh.h:7, from >>>>>>> /.../source/dll.h:17, from /.../source/dll.cpp:6: >>>>>>> /.../source/filters.h: In instantiation of 'size_t >>>>>>> CryptoPP::StringSinkTemplate<T>::Put2(const byte*, size_t, int, bool) >>>>>>> [with T = std::basic_string<char>; size_t = long unsigned int; byte = >>>>>>> unsigned char]': /.../source/filters.h:614:29: required from here >>>>>>> /.../source/filters.h:597:9: warning: unused parameter 'messageEnd' >>>>>>> [-Wunused-parameter] >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> /.../source/algebra.h:210:7: warning: unused parameter 'rhs' >>>>>>> [-Wunused-parameter] In file included from /.../source/dll.h:20:0, from >>>>>>> /.../source/dll.cpp:6: /.../source/eccrypto.h: In instantiation of >>>>>>> 'void CryptoPP::DL_GroupParameters_EC<EC>::Initialize(const >>>>>>> EllipticCurve&, const Point&, const CryptoPP::Integer&, const >>>>>>> CryptoPP::Integer&) [with EC = CryptoPP::ECP; >>>>>>> CryptoPP::DL_GroupParameters_EC<EC>::EllipticCurve = CryptoPP::ECP; >>>>>>> CryptoPP::DL_GroupParameters_EC<EC>::Point = CryptoPP::ECPPoint]': >>>>>>> /.../source/eccrypto.h:263:29: required from here >>>>>>> >>>>>>> /.../source/eccrypto.h:46:3: error: 'SetSubgroupGenerator' was not >>>>>>> declared in this scope, and no declarations were found by >>>>>>> argument-dependent lookup at the point of instantiation [-fpermissive] >>>>>>> >>>>>>> /.../source/eccrypto.h:46:3: note: declarations in dependent base >>>>>>> 'CryptoPP::DL_GroupParameters<CryptoPP::ECPPoint>' are not found by >>>>>>> unqualified lookup /.../source/eccrypto.h:46:3: note: use >>>>>>> 'this->SetSubgroupGenerator' instead In file included from >>>>>>> /.../source/eccrypto.h:258:0, from /.../source/dll.h:20, from >>>>>>> /.../source/dll.cpp:6: /.../source/eccrypto.cpp: In instantiation of >>>>>>> 'void CryptoPP::DL_GroupParameters_EC<EC>::Initialize(const >>>>>>> CryptoPP::OID&) [with EC = CryptoPP::ECP]': >>>>>>> /.../source/eccrypto.h:263:29: required from here >>>>>>> >>>>>>> /.../source/eccrypto.cpp:594:101: error: 'ExponentiateElement' was not >>>>>>> declared in this scope, and no declarations were found by >>>>>>> argument-dependent lookup at the point of instantiation [-fpermissive] >>>>>>> >>>>>>> /.../source/eccrypto.cpp:594:101: note: declarations in dependent base >>>>>>> 'CryptoPP::DL_GroupParameters<CryptoPP::ECPPoint>' are not found by >>>>>>> unqualified lookup /.../source/eccrypto.cpp:594:101: note: use >>>>>>> 'this->ExponentiateElement' instead In file included from >>>>>>> /.../source/dll.h:20:0, from /.../source/dll.cpp:6: >>>>>>> /.../source/eccrypto.h: In instantiation of 'void >>>>>>> CryptoPP::DL_GroupParameters_EC<EC>::Initialize(const EllipticCurve&, >>>>>>> const Point&, const CryptoPP::Integer&, const CryptoPP::Integer&) [with >>>>>>> EC = CryptoPP::EC2N; CryptoPP::DL_GroupParameters_EC<EC>::EllipticCurve >>>>>>> = CryptoPP::EC2N; CryptoPP::DL_GroupParameters_EC<EC>::Point = >>>>>>> CryptoPP::EC2NPoint]': /.../source/eccrypto.h:264:29: required from >>>>>>> here >>>>>>> >>>>>>> /.../source/eccrypto.h:148:44: error: 'SetPublicElement' was not >>>>>>> declared in this scope, and no declarations were found by >>>>>>> argument-dependent lookup at the point of instantiation [-fpermissive] >>>>>>> >>>>>>> /.../source/eccrypto.h:148:44: note: declarations in dependent base >>>>>>> 'CryptoPP::DL_PublicKey<CryptoPP::ECPPoint>' are not found by >>>>>>> unqualified lookup /.../source/eccrypto.h:148:44: note: use >>>>>>> 'this->SetPublicElement' instead /.../source/eccrypto.h: In >>>>>>> instantiation of 'void CryptoPP::DL_PublicKey_EC<EC>::Initialize(const >>>>>>> EC&, const Element&, const CryptoPP::Integer&, const Element&) [with EC >>>>>>> = CryptoPP::ECP; CryptoPP::DL_PublicKey_EC<EC>::Element = >>>>>>> CryptoPP::ECPPoint]': /.../source/eccrypto.h:267:29: required from here >>>>>>> >>>>>>> /.../source/eccrypto.h:169:4: error: 'GenerateRandom' was not declared >>>>>>> in this scope, and no declarations were found by argument-dependent >>>>>>> lookup at the point of instantiation [-fpermissive] >>>>>>> >>>>>>> /.../source/eccrypto.h:169:4: note: declarations in dependent base >>>>>>> 'CryptoPP::DL_PrivateKeyImpl<CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP> >>>>>>> >' are not found by unqualified lookup /.../source/eccrypto.h:169:4: >>>>>>> note: use 'this->GenerateRandom' instead /.../source/eccrypto.h: In >>>>>>> instantiation of 'void >>>>>>> CryptoPP::DL_PrivateKey_EC<EC>::Initialize(CryptoPP::RandomNumberGenerator&, >>>>>>> const EC&, const Element&, const CryptoPP::Integer&) [with EC = >>>>>>> CryptoPP::ECP; CryptoPP::DL_PrivateKey_EC<EC>::Element = >>>>>>> CryptoPP::ECPPoint]': /.../source/eccrypto.h:271:29: required from here >>>>>>> >>>>>>> >>>>>>> >>>>>>> Best Regards >>>>>>> NoRulez >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the >>>>>>> "Crypto++ Users" Google Group. >>>>>>> To unsubscribe, send an email to [email protected]. >>>>>>> More information about Crypto++ and this group is available at >>>>>>> http://www.cryptopp.com. >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the "Crypto++ >>>>>> Users" Google Group. >>>>>> To unsubscribe, send an email to [email protected]. >>>>>> >>>>>> More information about Crypto++ and this group is available at >>>>>> http://www.cryptopp.com. >>>>>> >>>>>> >>>>> #=========================================================== >>>>> ===================# >>>>> # # >>>>> # Copyright (c) 2012 MaidSafe.net limited # >>>>> # # >>>>> # The following source code is property of MaidSafe.net limited and >>>>> is not # >>>>> # meant for external use. The use of this code is governed by the >>>>> license # >>>>> # file licence.txt found in the root directory of this project and >>>>> also on # >>>>> # www.maidsafe.net. # >>>>> # # >>>>> # You are not free to copy, amend or otherwise use this source code >>>>> without # >>>>> # the explicit written permission of the board of directors of >>>>> MaidSafe.net. # >>>>> # # >>>>> #=========================================================== >>>>> ===================# >>>>> >>>>> cmake_minimum_required(VERSION 2.8.7 FATAL_ERROR) >>>>> project(Cryptopp) >>>>> enable_testing() >>>>> >>>>> set(CMAKE_DEBUG_POSTFIX _d) >>>>> set(CMAKE_RELWITHDEBINFO_POSTFIX _rwdi) >>>>> set(CMAKE_MINSIZEREL_POSTFIX _msr) >>>>> >>>>> if(CMAKE_BUILD_TYPE MATCHES "Debug") >>>>> set(TEST_POSTFIX ${CMAKE_DEBUG_POSTFIX}) >>>>> elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo") >>>>> set(TEST_POSTFIX ${CMAKE_RELWITHDEBINFO_POSTFIX}) >>>>> elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel") >>>>> set(TEST_POSTFIX ${CMAKE_MINSIZEREL_POSTFIX}) >>>>> endif() >>>>> >>>>> include(CTest) >>>>> >>>>> set(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 50000) >>>>> set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 50000) >>>>> set(CTEST_CONTINUOUS_DURATION 600) >>>>> set(CTEST_CONTINUOUS_MINIMUM_INTERVAL 10) >>>>> set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY true) >>>>> >>>>> file(GLOB cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") >>>>> file(GLOB cryptopp_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/*.h") >>>>> >>>>> if(CMAKE_CL_64) >>>>> set(cryptopp_SOURCES ${cryptopp_SOURCES} >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm) >>>>> add_custom_command(OUTPUT $(IntDir)x64dll.obj >>>>> COMMAND ml64.exe /c /nologo /Fo$(IntDir)x64dll.obj /Zi >>>>> "${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm" >>>>> MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm >>>>> VERBATIM) >>>>> add_custom_command(OUTPUT $(IntDir)x64masm.obj >>>>> COMMAND ml64.exe /c /nologo /Fo$(IntDir)x64masm.obj /Zi >>>>> "${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm" >>>>> MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm >>>>> VERBATIM) >>>>> endif() >>>>> >>>>> # Not used >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> eccrypto.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> eprecomp.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> cryptlib_bds.cpp") >>>>> >>>>> >>>>> # Set up test >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> bench.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> bench2.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> datatest.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> dlltest.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> fipsalgt.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> regtest.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> test.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> validat1.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> validat2.cpp") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> validat3.cpp") >>>>> >>>>> set(cryptopp_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/bench.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/bench2.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/datatest.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/dlltest.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/fipsalgt.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/regtest.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/test.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/validat1.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/validat2.cpp >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/validat3.cpp) >>>>> >>>>> list(REMOVE_ITEM cryptopp_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> bench.h") >>>>> list(REMOVE_ITEM cryptopp_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> factory.h") >>>>> list(REMOVE_ITEM cryptopp_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/ >>>>> validate.h") >>>>> >>>>> set(cryptopp_TEST_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/bench.h >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/factory.h >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/validate.h) >>>>> >>>>> >>>>> add_executable(cryptest ${cryptopp_TEST_SOURCES} >>>>> ${cryptopp_TEST_HEADERS}) >>>>> >>>>> add_library(cryptopp STATIC ${cryptopp_SOURCES} ${cryptopp_HEADERS}) >>>>> >>>>> set_target_properties(cryptest cryptopp PROPERTIES FOLDER "Third >>>>> Party/Crypto++") >>>>> >>>>> add_custom_command(TARGET cryptest >>>>> POST_BUILD >>>>> COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/TestData $<TARGET_FILE_DIR:cryptest>/ >>>>> TestData) >>>>> add_custom_command(TARGET cryptest >>>>> POST_BUILD >>>>> COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/TestVectors $<TARGET_FILE_DIR:cryptest>/ >>>>> TestVectors) >>>>> add_custom_command(TARGET cryptest >>>>> POST_BUILD >>>>> COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/TestData ${CMAKE_BINARY_DIR}/TestData) >>>>> add_custom_command(TARGET cryptest >>>>> POST_BUILD >>>>> COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory >>>>> ${CMAKE_CURRENT_SOURCE_DIR}/TestVectors ${CMAKE_BINARY_DIR}/ >>>>> TestVectors) >>>>> # if(NOT MSVC) >>>>> # set_target_properties(cryptest PROPERTIES >>>>> # DEBUG_OUTPUT_NAME cryptest${CMAKE_DEBUG_POSTFIX} >>>>> # RELWITHDEBINFO_OUTPUT_NAME cryptest${CMAKE_RELWITHDEBINFO_POSTFIX} >>>>> # MINSIZEREL_OUTPUT_NAME cryptest${CMAKE_MINSIZEREL_POSTFIX}) >>>>> # >>>>> # endif() >>>>> >>>>> # install(TARGETS cryptopp ARCHIVE DESTINATION lib) >>>>> >>>>> target_link_libraries(cryptest cryptopp) >>>>> >>>>> if(UNIX) >>>>> if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") >>>>> add_definitions(-DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_UNCAUGHT_ >>>>> EXCEPTION) >>>>> set_target_properties(cryptopp cryptest PROPERTIES >>>>> COMPILE_FLAGS "-Wno-tautological-compare -fPIC -Wno-c++11-narrowing >>>>> -std=c++11 -stdlib=libc++") >>>>> set_target_properties(cryptest PROPERTIES LINK_FLAGS_RELEASE >>>>> "-stdlib=libc++" LINK_FLAGS "-stdlib=libc++") >>>>> elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") >>>>> execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion >>>>> OUTPUT_VARIABLE GCC_VERSION) >>>>> if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7) >>>>> set_target_properties(cryptopp cryptest PROPERTIES COMPILE_FLAGS "-O2 >>>>> -fPIC -w -pipe -finline-functions -std=c++11") >>>>> >>>>> elseif(GCC_VERSION VERSION_GREATER 4.6 OR GCC_VERSION VERSION_EQUAL >>>>> 4.6) >>>>> set_target_properties(cryptopp cryptest PROPERTIES COMPILE_FLAGS "-O2 >>>>> -fPIC -w -pipe -finline-functions -std=c++0x") >>>>> else() >>>>> message(FATAL "Unsupported verion of GCC, minimum 4.6 required") >>>>> endif() >>>>> endif() >>>>> elseif(MSVC) >>>>> set_target_properties(cryptopp PROPERTIES >>>>> COMPILE_FLAGS "/D_WINDOWS /DUSE_PRECOMPILED_HEADERS /DWIN32 >>>>> /D_VC80_UPGRADE=0x0710 /EHsc /W3") >>>>> set_target_properties(cryptest PROPERTIES >>>>> COMPILE_FLAGS "/D_CONSOLE /DWIN32 /D_VC80_UPGRADE=0x0710 /D_MBCS /EHsc >>>>> /W3" >>>>> LINK_FLAGS_RELEASE "/OPT:REF /OPT:ICF /LTCG" >>>>> LINK_FLAGS_RELWITHDEBINFO "/LTCG" >>>>> LINK_FLAGS_MINSIZEREL "/LTCG") >>>>> set(CMAKE_CXX_FLAGS_RELEASE "/O2 /Ob2 /Oi /Oy /GL /DNDEBUG /GF /MT /Gy >>>>> /Zi") >>>>> set(CMAKE_CXX_FLAGS_DEBUG "/Od /Oi /D_DEBUG /MTd /Zi") >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/dll.cpp") >>>>> # this file doesn't use precompiled headers >>>>> list(REMOVE_ITEM cryptopp_SOURCES >>>>> "${CMAKE_CURRENT_SOURCE_DIR}/iterhash.cpp") >>>>> # this file doesn't use precompiled headers >>>>> list(REMOVE_ITEM cryptopp_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/pch.cpp") >>>>> # this file is used to create precompiled headers >>>>> set_source_files_properties(${cryptopp_SOURCES} PROPERTIES >>>>> COMPILE_FLAGS "/Yu\"pch.h\"") >>>>> set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/pch.cpp >>>>> PROPERTIES >>>>> COMPILE_FLAGS "/Yc\"pch.h\"") >>>>> target_link_libraries(cryptest odbc32.lib odbccp32.lib Ws2_32.lib) >>>>> endif() >>>>> >>>>> add_test(NAME CryptoppTest.BEH_FULL COMMAND $<TARGET_FILE:cryptest> v >>>>> WORKING_DIRECTORY $<TARGET_FILE_DIR:cryptest>) >>>>> add_test(NAME CryptoppTest.BEH_AES COMMAND $<TARGET_FILE:cryptest> tv >>>>> aes WORKING_DIRECTORY $<TARGET_FILE_DIR:cryptest>) >>>>> add_test(NAME CryptoppTest.BEH_SHA COMMAND $<TARGET_FILE:cryptest> tv >>>>> sha WORKING_DIRECTORY $<TARGET_FILE_DIR:cryptest>) >>>>> add_test(NAME CryptoppTest.BEH_RSA_PSS COMMAND $<TARGET_FILE:cryptest> >>>>> tv rsa_pss WORKING_DIRECTORY $<TARGET_FILE_DIR:cryptest>) >>>>> add_test(NAME CryptoppTest.BEH_RSA_OAEP COMMAND >>>>> $<TARGET_FILE:cryptest> tv rsa_oaep WORKING_DIRECTORY >>>>> $<TARGET_FILE_DIR:cryptest>) >>>>> add_test(NAME CryptoppTest.BEH_RSA_PKCS1_1_5 COMMAND >>>>> $<TARGET_FILE:cryptest> tv rsa_pkcs1_1_5 WORKING_DIRECTORY >>>>> $<TARGET_FILE_DIR:cryptest>) >>>>> >>>>> set_property(TEST CryptoppTest.BEH_FULL PROPERTY LABELS Common common >>>>> Behavioural CryptoPP ${CMAKE_BUILD_TYPE}) >>>>> set_property(TEST CryptoppTest.BEH_FULL PROPERTY TIMEOUT 60) >>>>> set_property(TEST CryptoppTest.BEH_AES PROPERTY LABELS Common common >>>>> Behavioural CryptoPP ${CMAKE_BUILD_TYPE}) >>>>> set_property(TEST CryptoppTest.BEH_AES PROPERTY TIMEOUT 60) >>>>> set_property(TEST CryptoppTest.BEH_SHA PROPERTY LABELS Common common >>>>> Behavioural CryptoPP ${CMAKE_BUILD_TYPE}) >>>>> set_property(TEST CryptoppTest.BEH_SHA PROPERTY TIMEOUT 60) >>>>> set_property(TEST CryptoppTest.BEH_RSA_PSS PROPERTY LABELS Common >>>>> common Behavioural CryptoPP ${CMAKE_BUILD_TYPE}) >>>>> set_property(TEST CryptoppTest.BEH_RSA_PSS PROPERTY TIMEOUT 60) >>>>> set_property(TEST CryptoppTest.BEH_RSA_OAEP PROPERTY LABELS Common >>>>> common Behavioural CryptoPP ${CMAKE_BUILD_TYPE}) >>>>> set_property(TEST CryptoppTest.BEH_RSA_OAEP PROPERTY TIMEOUT 60) >>>>> set_property(TEST CryptoppTest.BEH_RSA_PKCS1_1_5 PROPERTY LABELS >>>>> Common common Behavioural CryptoPP ${CMAKE_BUILD_TYPE}) >>>>> set_property(TEST CryptoppTest.BEH_RSA_PKCS1_1_5 PROPERTY TIMEOUT 60) >>>>> >>>>> >>>> -- >>> -- >>> You received this message because you are subscribed to the "Crypto++ >>> Users" Google Group. >>> To unsubscribe, send an email to [email protected] >>> <javascript:>. >>> More information about Crypto++ and this group is available at >>> http://www.cryptopp.com. >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Crypto++ Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected] <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> >> David Irvine >> twitter: @metaquestions >> blog: http://metaquestions.me >> > > > > -- > > David Irvine > twitter: @metaquestions > blog: http://metaquestions.me > -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
