cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(libdraw LANGUAGES C) set(CMAKE_C_STANDARD 23) set(CMAKE_C_STANDARD_REQUIRED TRUE) set(CMAKE_C_EXTENSIONS FALSE) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) set(CMAKE_STATIC_LIBRARY_PREFIX "") set(CMAKE_SHARED_LIBRARY_PREFIX "") add_compile_definitions(VERSION="$ENV{VERSION}") file(GLOB_RECURSE SRC CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/src/*.c) add_library(libdraw SHARED ${SRC}) target_link_libraries(libdraw xcb xcb-keysyms) add_executable(example_draw ${PROJECT_SOURCE_DIR}/examples/draw.c) target_link_libraries(example_draw libdraw)