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.
On Thu, Oct 2, 2014 at 6:57 PM, David Irvine <[email protected]> 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]> 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]. >> 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. >> > > > > -- > > 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.
