FindJUCE.cmake: 无法指定导入目标“juce_core”的来源

FindJUCE.cmake: Cannot specify sources for imported target “juce_core”

我正在尝试编译 hello world 程序。我用过这个link提供的CMakeList:https://github.com/remymuller/juce-cmake

我不知道这些错误是什么意思,也不知道如何解决。请帮忙。

CMakeLists.txt

$ cat CMakeLists.txt 
cmake_minimum_required(VERSION 3.0)

project(HelloWorld)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "/home/sulakshana/Documents/evon/work/juce/helloworld/NewProject/juce-cmake/cmake/")

find_package(JUCE REQUIRED 
    COMPONENTS 
        juce_core
        juce_data_structures
        juce_events
        juce_graphics
        juce_gui_basics
        juce_gui_extra
)

set(SOURCES
    ../../Source/Main.cpp
    ../../Source/MainComponent.h
    ../../Source/MainComponent.cpp
)

add_executable(${PROJECT_NAME} ${SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
target_link_libraries(${PROJECT_NAME} ${JUCE_LIBRARIES})
source_group(Source FILES ${SOURCES})

我用过这个.cmake:https://github.com/remymuller/juce-cmake/blob/master/cmake/FindJUCE.cmake

文件夹结构:

此处 juce-cmake 是上述 linked 存储库的克隆:

$ ls
Builds  juce-cmake  JuceLibraryCode  NewProject.jucer  Source

CMakeLists.txt地点:

/Builds/LinuxMakefile$ ls
build  buildCMake  CMakeLists.txt  Makefile

错误:

$ cmake ..
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
  Cannot specify sources for imported target "juce_core".
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
  CMakeLists.txt:7 (find_package)


CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
  Cannot specify sources for imported target "juce_data_structures".
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
  CMakeLists.txt:7 (find_package)


CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
  Cannot specify sources for imported target "juce_events".
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:363 (juce_add_module)
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
  CMakeLists.txt:7 (find_package)


CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
  Cannot specify sources for imported target "juce_graphics".
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
  CMakeLists.txt:7 (find_package)


CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
  Cannot specify sources for imported target "juce_gui_basics".
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
  CMakeLists.txt:7 (find_package)


CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
  Cannot specify sources for imported target "juce_gui_extra".
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/AppConfig.h.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:264 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:501 (juce_generate_app_config)
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/JuceHeader.h.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:283 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:514 (juce_generate_juce_header)
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:7 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/sulakshana/Documents/evon/work/juce/helloworld/NewProject/Builds/LinuxMakefile/buildCMake/CMakeFiles/CMakeOutput.log".

此模块依赖于 CMake 3.11 中添加的功能。确保您至少拥有该版本。

最后一组错误是因为你只复制了FindJUCE.cmake文件而没有复制它自带的FindJuceTemplates目录。我建议 cloning/downloading 将整个存储库放入您的工作目录(或将其添加为 Git 子模块)然后包含它。您可能需要将 CMAKE_MODULE_PATH 指向子目录。