11cmake_minimum_required (VERSION 3.5 )
22project (hmac_cpp VERSION 0.2.0 LANGUAGES CXX )
33
4- if (NOT DEFINED CMAKE_CXX_STANDARD )
5- set (CMAKE_CXX_STANDARD 11)
6- endif ()
7- set (CMAKE_CXX_STANDARD_REQUIRED ON )
8-
9- option (BUILD_EXAMPLE "Build the example program" ON )
10- option (BUILD_TESTS "Build the test suite" OFF )
4+ option (HMACCPP_BUILD_EXAMPLES "Build the example program" OFF )
5+ option (HMACCPP_BUILD_TESTS "Build the test suite" OFF )
6+ option (HMACCPP_BUILD_BENCH "Build benchmarks" OFF )
117
128set (HMAC_SOURCES
139 src/sha1.cpp
@@ -27,12 +23,17 @@ set(HMAC_HEADERS
2723)
2824
2925add_library (hmac_cpp STATIC ${HMAC_SOURCES} )
26+ target_compile_features (hmac_cpp PUBLIC cxx_std_11 )
3027target_include_directories (hmac_cpp PUBLIC
3128 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
3229 $<INSTALL_INTERFACE :include >
3330)
3431
35- if (BUILD_EXAMPLE)
32+ if (NOT TARGET hmac_cpp::hmac_cpp)
33+ add_library (hmac_cpp::hmac_cpp ALIAS hmac_cpp )
34+ endif ()
35+
36+ if (HMACCPP_BUILD_EXAMPLES)
3637 add_executable (example example.cpp )
3738 target_link_libraries (example PRIVATE hmac_cpp )
3839 target_include_directories (example PRIVATE ${CMAKE_CURRENT_SOURCE_DIR } /include )
@@ -41,7 +42,11 @@ endif()
4142include (CMakePackageConfigHelpers )
4243install (TARGETS hmac_cpp EXPORT hmac_cppTargets DESTINATION lib)
4344install (FILES ${HMAC_HEADERS} DESTINATION include/hmac_cpp)
44- install (EXPORT hmac_cppTargets NAMESPACE hmac_cpp:: DESTINATION lib/cmake/hmac_cpp)
45+ install (EXPORT hmac_cppTargets
46+ FILE hmac_cppTargets.cmake
47+ NAMESPACE hmac_cpp::
48+ DESTINATION lib/cmake/hmac_cpp
49+ )
4550
4651configure_package_config_file (
4752 cmake/hmac_cppConfig.cmake.in
@@ -59,7 +64,7 @@ install(FILES
5964 DESTINATION lib/cmake/hmac_cpp
6065)
6166
62- if (BUILD_TESTS )
67+ if (HMACCPP_BUILD_TESTS )
6368 enable_testing ()
6469 include (FetchContent )
6570 FetchContent_Declare (
@@ -80,3 +85,8 @@ if(BUILD_TESTS)
8085 target_include_directories (test_totp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR } /include )
8186 add_test (NAME test_totp COMMAND test_totp )
8287endif ()
88+
89+ export (EXPORT hmac_cppTargets
90+ FILE "${CMAKE_CURRENT_BINARY_DIR } /hmac_cppTargets.cmake"
91+ NAMESPACE hmac_cpp::
92+ )
0 commit comments