I compiled crypto++ 5.6.1 with gcc 4.4.6. on unbuntu 11.10 without problems.

On Thu, May 24, 2012 at 2:59 AM, fathimabi shaik <[email protected]> wrote:
> Respected sir,
>
> I am fathima.  I want to use crypto++ in ubuntu. Please help me how to use
> it and how to test it.
>
> I am thankful to you. Please send reply. I am waiting for reply.
>
> On Thu, May 24, 2012 at 12:27 AM, David Irvine <[email protected]>
> wrote:
>>
>> Very helpful thanks a lot. We will use these changes I imagine, gotta love
>> open source !!
>>
>> 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 "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.

Reply via email to