cmake_minimum_required(VERSION 3.21) project(aswm) set(CMAKE_C_STANDARD 23) find_package(X11 REQUIRED) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address -pg") add_library(libaswm src/aswm/aswm.c src/aswm/mapper/mapper.c src/aswm/event_handlers/create.c src/aswm/event_handlers/configure.c src/aswm/event_handlers/reparent.c src/aswm/event_handlers/destroy.c src/aswm/event_handlers/map.c src/aswm/event_handlers/unmap.c src/aswm/event_handlers/property.c src/aswm/event_handlers/message.c src/aswm/log/log.c ) target_include_directories(libaswm PUBLIC ${X11_INCLUDE_DIR} src) target_link_libraries(libaswm ${X11_LIBRARIES}) add_executable(aswm src/aswm/main.c) target_link_libraries(aswm libaswm) include(FetchContent) FetchContent_Declare( unity GIT_REPOSITORY https://github.com/ThrowTheSwitch/Unity.git GIT_TAG v2.6.1 ) FetchContent_MakeAvailable(unity) add_executable(test_aswm test/test_set_up.c test/aswm/test_aswm.c ) target_include_directories(test_aswm PUBLIC unity) target_link_libraries(test_aswm libaswm unity) enable_testing() add_test(aswm test_aswm)