set(THIS_TARGET_NAME utils)

add_library(${THIS_TARGET_NAME}
    ./include/utils/config.hpp

    ./include/utils/assumptions.hpp
    ./include/utils/invariants.hpp
    ./include/utils/development.hpp

    ./include/utils/timeprof.hpp
    ./src/timeprof.cpp

    ./include/utils/timestamp.hpp
    ./src/timestamp.cpp

    ./include/utils/msgstream.hpp
    ./include/utils/fail_message.hpp
    ./src/fail_message.cpp

    ./include/utils/log.hpp
    ./src/log.cpp

    ./include/utils/program_options_base.hpp
    ./src/program_options_base.cpp

    ./include/utils/hash_combine.hpp     
    ./include/utils/std_pair_hash.hpp
    )

set_target_properties(${THIS_TARGET_NAME} PROPERTIES
    DEBUG_OUTPUT_NAME "${THIS_TARGET_NAME}_${CMAKE_SYSTEM_NAME}_Debug"
    RELEASE_OUTPUT_NAME "${THIS_TARGET_NAME}_${CMAKE_SYSTEM_NAME}_Release"
    RELWITHDEBINFO_OUTPUT_NAME "${THIS_TARGET_NAME}_${CMAKE_SYSTEM_NAME}_RelWithDebInfo"
    )

#install(TARGETS ${THIS_TARGET_NAME} DESTINATION "lib")
