set(MY_EXE "app") add_executable(${MY_EXE} "src/main.cpp") target_link_libraries(${MY_EXE} "moduleA" "moduleB" "moduleC") # no need to include directories, because they are included automatically # thanks to exposing the directories using PUBLIC