cmake_minimum_required(VERSION 3.00) PROJECT(main) file(GLOB SOURCE_FILES "src/*.c" ) add_library(foo src/foo.c) add_executable(${PROJECT_NAME} ${SOURCE_FILES}) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/src) target_link_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/lib ${PROJECT_SOURCE_DIR}/src) target_link_libraries(${PROJECT_NAME} foo)