cmake_minimum_required( VERSION 3.19 ) project( Alepha ) include( cmake/rules.cmake ) link_libraries( pthread ) # The core alepha library: add_library( alepha SHARED Console.cc ProgramOptions.cc string_algorithms.cc fastRandom.cc word_wrap.cc Thread.cc delimited_list.cc ) # Everything else depends upon it link_libraries( alepha ) # The subdirs to build add_subdirectory( Meta ) add_subdirectory( Atomic ) add_subdirectory( Proof ) add_subdirectory( Memory ) add_subdirectory( IOStreams ) add_subdirectory( Reflection ) add_subdirectory( Algorithm ) add_subdirectory( Testing ) add_subdirectory( Utility ) # The local subdir tests to build add_subdirectory( AutoRAII.test ) add_subdirectory( Enum.test ) add_subdirectory( UnifiedEnum.test ) add_subdirectory( make_template.test ) add_subdirectory( comparisons.test ) add_subdirectory( Exception.test ) add_subdirectory( word_wrap.test ) add_subdirectory( string_algorithms.test ) add_subdirectory( template_for.test ) add_subdirectory( Invariant.test ) add_subdirectory( tuplize_args.test ) add_subdirectory( Thread.test ) add_subdirectory( assertion.test ) add_subdirectory( Constness.test ) add_subdirectory( Capabilities.test ) add_subdirectory( delimited_list.test ) add_subdirectory( UniversalAggregate.test ) # Sample applications add_executable( example example.cc )