Skip to content
Snippets Groups Projects
  • Konstantinos Sideris's avatar
    4e94dfc7
    Add CMake support · 4e94dfc7
    Konstantinos Sideris authored
    
    The library can now be installed using CMake v3.0+.
    
    Below is an example configuration.
    
    1. Generate configuation
    
    cmake -H. -Bbuild
        -GNinja
        -DCMAKE_BUILD_TYPE=Release // The default profile.
        -DCMAKE_INSTALL_PREFIX=/usr/local/
        -DBUILD_SHARED_LIBS=ON
        -DOLM_TESTS=1
        -DOLM_FUZZERS=1
    
    2. Build & install the targets
    
    cmake --build build --config Release --target install
    
    3. Run the tests
    
    cd build/test && ctest .
    
    The library can also be used as a dependency with CMake using
    
    find_package(Olm::Olm REQUIRED)
    target_link_libraries(my_exe Olm::Olm)
    
    Signed-off-by: default avatarKonstantinos Sideris <sideris.konstantin@gmail.com>
    4e94dfc7
    History
    Add CMake support
    Konstantinos Sideris authored
    
    The library can now be installed using CMake v3.0+.
    
    Below is an example configuration.
    
    1. Generate configuation
    
    cmake -H. -Bbuild
        -GNinja
        -DCMAKE_BUILD_TYPE=Release // The default profile.
        -DCMAKE_INSTALL_PREFIX=/usr/local/
        -DBUILD_SHARED_LIBS=ON
        -DOLM_TESTS=1
        -DOLM_FUZZERS=1
    
    2. Build & install the targets
    
    cmake --build build --config Release --target install
    
    3. Run the tests
    
    cd build/test && ctest .
    
    The library can also be used as a dependency with CMake using
    
    find_package(Olm::Olm REQUIRED)
    target_link_libraries(my_exe Olm::Olm)
    
    Signed-off-by: default avatarKonstantinos Sideris <sideris.konstantin@gmail.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists.txt 2.40 KiB
enable_testing()

add_executable(test_base64 test_base64.cpp)
target_include_directories(test_base64 PRIVATE include)
target_link_libraries(test_base64 Olm::Olm)
add_test(Base64 test_base64)

add_executable(test_crypto test_crypto.cpp)
target_include_directories(test_crypto PRIVATE include)
target_link_libraries(test_crypto Olm::Olm)
add_test(Crypto test_crypto)

add_executable(test_group_session test_group_session.cpp)
target_include_directories(test_group_session PRIVATE include)
target_link_libraries(test_group_session Olm::Olm)
add_test(GroupSession test_group_session)

add_executable(test_list test_list.cpp)
target_include_directories(test_list PRIVATE include)
target_link_libraries(test_list Olm::Olm)
add_test(List test_list)

add_executable(test_megolm test_megolm.cpp)
target_include_directories(test_megolm PRIVATE include)
target_link_libraries(test_megolm Olm::Olm)
add_test(Megolm test_megolm)

add_executable(test_message test_message.cpp)
target_include_directories(test_message PRIVATE include)
target_link_libraries(test_message Olm::Olm)
add_test(Message test_message)

add_executable(test_olm test_olm.cpp)
target_include_directories(test_olm PRIVATE include)
target_link_libraries(test_olm Olm::Olm)
add_test(Olm test_olm)

add_executable(test_olm_decrypt test_olm_decrypt.cpp)
target_include_directories(test_olm_decrypt PRIVATE include)
target_link_libraries(test_olm_decrypt Olm::Olm)
add_test(OlmDecrypt test_olm_decrypt)

add_executable(test_olm_sha256 test_olm_sha256.cpp)
target_include_directories(test_olm_sha256 PRIVATE include)
target_link_libraries(test_olm_sha256 Olm::Olm)
add_test(OlmSha256 test_olm_sha256)

add_executable(test_olm_signature test_olm_signature.cpp)
target_include_directories(test_olm_signature PRIVATE include)
target_link_libraries(test_olm_signature Olm::Olm)
add_test(OlmSignature test_olm_signature)

add_executable(test_olm_using_malloc test_olm_using_malloc.cpp)
target_include_directories(test_olm_using_malloc PRIVATE include)
target_link_libraries(test_olm_using_malloc Olm::Olm)
add_test(OlmUsingMalloc test_olm_using_malloc)

add_executable(test_ratchet test_ratchet.cpp)
target_include_directories(test_ratchet PRIVATE include)
target_link_libraries(test_ratchet Olm::Olm)
add_test(Ratchet test_ratchet)

add_executable(test_session test_session.cpp)
target_include_directories(test_session PRIVATE include)
target_link_libraries(test_session Olm::Olm)
add_test(Session test_session)