diff --git a/components/spotify/CMakeLists.txt b/components/spotify/CMakeLists.txt index 9b78f37a..f2b2c0e4 100644 --- a/components/spotify/CMakeLists.txt +++ b/components/spotify/CMakeLists.txt @@ -21,6 +21,12 @@ set(BELL_DISABLE_MQTT ON) set(BELL_DISABLE_WEBSERVER ON) set(CSPOT_TARGET_ESP32 ON) +set(_secret $ENV{SPOTIFY_SECRET}) +if(_secret) + separate_arguments(_secret) + set_source_files_properties(shim.cpp PROPERTIES COMPILE_OPTIONS "${_secret}") +endif() + # because CMake is so broken, the cache set below overrides a normal "set" for the first build set(BELL_EXTERNAL_VORBIS "idf::codecs" CACHE STRING "provide own codecs") set(BELL_EXTERNAL_CJSON "idf::json" CACHE STRING "provide own CJSON") diff --git a/components/spotify/Shim.cpp b/components/spotify/Shim.cpp index 261509ac..abcc41de 100644 --- a/components/spotify/Shim.cpp +++ b/components/spotify/Shim.cpp @@ -32,16 +32,16 @@ #include "platform_config.h" #include "nvs_utilities.h" #include "tools.h" - + +#if !defined(CLIENT_ID) || !defined(CLIENT_SECRET) #if __has_include("client_info.h") #include "client_info.h" -#endif - -#if !defined(CLIENT_ID) || !defined(CLIENT_SECRET) +#else #warning "missing Spotify's CLIENT_ID and/or CLIENT_SECRET (set env varibles or in client_info.h" #define CLIENT_ID "" #define CLIENT_SECRET "" #endif +#endif static class cspotPlayer *player;