cmake_minimum_required(VERSION 3.10) project(Hydrogen) enable_testing() set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) include_directories(${CMAKE_SOURCE_DIR}/include) file(GLOB SOURCES ${CMAKE_SOURCE_DIR}/src/*.cpp) add_executable(Hydrogen ${SOURCES}) file(GLOB TEST_SOURCES ${CMAKE_SOURCE_DIR}/unit/*.cpp) foreach(TEST_SOURCE ${TEST_SOURCES}) get_filename_component(TEST_NAME ${TEST_SOURCE} NAME_WE) add_executable(${TEST_NAME} ${TEST_SOURCE} ${SOURCES}) add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME}) endforeach(TEST_SOURCE ${TEST_SOURCES}) install(TARGETS Hydrogen DESTINATION bin)