diff --git a/.gitignore b/.gitignore index bc9e916..bd30325 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ build +.vscode cmake/credentials.cmake cmake/pico_sdk_import.cmake diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c44f51a..ecdb47a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,21 +1,36 @@ set(PROGRAM_NAME pico_w_webserver) -set(MAKE_FS_DATA_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/external/makefsdata) - -if (NOT EXISTS ${MAKE_FS_DATA_SCRIPT}) - file(DOWNLOAD - https://raw.githubusercontent.com/krzmaz/lwip/e15654409d14a238aec5ed4bd5516063938c9345/src/apps/http/makefsdata/makefsdata - ${MAKE_FS_DATA_SCRIPT} - ) +if (CMAKE_HOST_WIN32) + set(MAKE_FS_DATA_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/external/makefsdata.py) + if(NOT EXISTS ${MAKE_FS_DATA_SCRIPT}) + file(DOWNLOAD + https://gist.githubusercontent.com/rspeir/99e6c28e98930872f684bbe2f7aa2dee/raw/8d2a0d904dc4b67872e6f8c2b7cb3d8be5666beb/makefsdata.py + ${MAKE_FS_DATA_SCRIPT} + ) + endif() + find_package(Python3 COMPONENTS Interpreter REQUIRED) + execute_process(COMMAND + ${Python3_EXECUTABLE} ${MAKE_FS_DATA_SCRIPT} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + RESULT_VARIABLE FSDATA_RESULT + ) +else() + set(MAKE_FS_DATA_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/external/makefsdata) + if (NOT EXISTS ${MAKE_FS_DATA_SCRIPT}) + file(DOWNLOAD + https://raw.githubusercontent.com/krzmaz/lwip/e15654409d14a238aec5ed4bd5516063938c9345/src/apps/http/makefsdata/makefsdata + ${MAKE_FS_DATA_SCRIPT} + ) + endif() + execute_process(COMMAND + perl ${MAKE_FS_DATA_SCRIPT} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + ECHO_OUTPUT_VARIABLE + ECHO_ERROR_VARIABLE + COMMAND_ERROR_IS_FATAL ANY + ) endif() -message("Running makefsdata script") -execute_process(COMMAND - perl ${MAKE_FS_DATA_SCRIPT} - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - ECHO_OUTPUT_VARIABLE - ECHO_ERROR_VARIABLE - COMMAND_ERROR_IS_FATAL ANY - ) + file(RENAME fsdata.c my_fsdata.c) add_executable(${PROGRAM_NAME}