Undefined reference to fonction de CMake

Je suis en train d'apprendre CMake, mais j'obtiens un undefined reference to ... erreur de l'éditeur de liens
J'ai un répertoire avec un sous-répertoire.
chacun d'eux a sa propre CMakeLists.txt

test
|----main.cpp
|----CMakeLists.txt
|----test2
     |----foo.hpp
     |----foo.cpp
     |----CMakeLists.txt

l'CMakeLists.txt pour le test est:

cmake_minimum_required(VERSION 3.5)
project(tests)

add_subdirectory(test2)
set(SOURCE_FILES main.cpp)
add_executable(tests ${SOURCE_FILES})

l'CMakeLists.txt pour test2 est:

set(test2_files
        foo.cpp
        foo.hpp
        )
add_library(test2 ${test2_files})

foo.cpp implémente une fonction qui est définie dans foo.hpp
pour cette fonction, je suis non défini erreur de référence.
Ce que je fais mal? Comment puis-je me débarrasser de cette erreur liens

EDIT: Ma CMakeLists.txt ressemble maintenant à ceci, mais j'ai toujours l'erreur liens:

project(tests)

cmake_minimum_required(VERSION 2.8)

set(SOURCE_FILES main.cpp)

include_directories(test2)
link_directories(test2)

add_subdirectory(test)

add_executable( ${PROJECT_NAME} ${SOURCE_FILES} )

target_link_libraries(${PROJECT_NAME} test2)

J'ai aussi essayé avec le chemin d'accès absolu au lieu de test2

EDIT:
résolu c'était seulement une faute de frappe dans le CMakeLists.txt de test2.

InformationsquelleAutor Exagon | 2016-07-22