remymuller / juce-cmake

CMake find module for the JUCE library
MIT License
30 stars 6 forks source link

find_package() unable to locate FindJuce.cmake due to filename capitalization #14

Closed jaysterling closed 5 years ago

jaysterling commented 5 years ago

Just started using this project and it's a huge time saver! However, it seems the capitalization in "FindJuce.cmake" is not what cmake expects. It instead looks for a FindJUCE.cmake file since the find_package() call is made with the name "JUCE".

Environment: Debian 9, cmake 3.7.2 Repro steps:

  1. In CMakeLists.txt, add the relative path to FindJuce.cmake to CMAKE_MODULE_PATH: list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../juce-cmake/cmake)

  2. Call find_package as shown in examples: find_package(JUCE REQUIRED COMPONENTS juce_audio_basics juce_audio_devices ... )

  3. Run cmake

Results:

cmake returns an error about not being able to find the FindJUCE.cmake file (because the file is actually named FindJuce.cmake):

By not providing "FindJUCE.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "JUCE", but CMake did not find one.

Could not find a package configuration file provided by "JUCE" with any of the following names:

JUCEConfig.cmake
juce-config.cmake

Add the installation prefix of "JUCE" to CMAKE_PREFIX_PATH or set "JUCE_DIR" to a directory containing one of the above files. If "JUCE" provides a separate development package or SDK, be sure it has been installed.

Simply renaming the file to FindJUCE.cmake resolves the issue for me. Am I missing something? It seems this would be a real fundamental issue for everyone, so maybe there's some case-sensitive configuration on cmake I can change? Still, it seems being named FindJUCE.cmake would be more correct since this is the default expectation and what's described in the cmake documentation.

jaysterling commented 5 years ago

Thanks for addressing!