Skip to content

Commit f35300b

Browse files
committed
Added support for building the project from Linux
1 parent e76e690 commit f35300b

File tree

5 files changed

+33
-3
lines changed

5 files changed

+33
-3
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
build
44
*.user
55
CMakeLists.txt.old
6+
pico-sdk

PicoHTTPServer/CMakeLists.txt

+17-3
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,19 @@ endif()
1313
set(CMAKE_C_STANDARD 11)
1414
set(CMAKE_CXX_STANDARD 17)
1515

16+
if (CMAKE_HOST_WIN32)
17+
set(SIMPLE_FS_BUILDER_EXE ${CMAKE_CURRENT_SOURCE_DIR}/../tools/SimpleFSBuilder/SimpleFSBuilder.exe)
18+
else()
19+
set(SIMPLE_FS_BUILDER_EXE ${CMAKE_CURRENT_SOURCE_DIR}/../tools/SimpleFSBuilder/build/SimpleFSBuilder)
20+
endif()
21+
22+
if (NOT EXISTS ${SIMPLE_FS_BUILDER_EXE})
23+
message(FATAL_ERROR "Missing ${SIMPLE_FS_BUILDER_EXE}. Please build it before building this project.")
24+
endif()
1625

1726
function(add_resource_folder target name path)
1827
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}.fs ${CMAKE_CURRENT_BINARY_DIR}/__rerun_${name}.fs
19-
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../tools/SimpleFSBuilder/SimpleFSBuilder
28+
COMMAND ${SIMPLE_FS_BUILDER_EXE}
2029
ARGS ${path} ${CMAKE_CURRENT_BINARY_DIR}/${name}.fs
2130
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
2231
COMMENT "Generating ${name}.fs")
@@ -61,6 +70,11 @@ target_link_libraries(PicoHTTPServer
6170
pico_cyw43_arch_lwip_sys_freertos
6271
pico_stdlib
6372
pico_lwip_iperf
64-
FreeRTOS-Kernel-Heap4
65-
Profiler)
73+
FreeRTOS-Kernel-Heap4)
74+
75+
if (TARGET Profiler)
76+
target_link_libraries(PicoHTTPServer
77+
Profiler)
78+
endif()
79+
6680
pico_add_extra_outputs(PicoHTTPServer)

build-all.sh

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
mkdir -p tools/SimpleFSBuilder/build
3+
mkdir -p tools/PicoHTTPServer/build
4+
cmake -S tools/SimpleFSBuilder -B tools/SimpleFSBuilder/build
5+
make -C tools/SimpleFSBuilder/build || exit 1
6+
7+
test -d pico-sdk || git clone --recursive https://github.com/raspberrypi/pico-sdk
8+
test -d pico-sdk/FreeRTOS || git clone --recursive https://github.com/FreeRTOS/FreeRTOS-Kernel pico-sdk/FreeRTOS
9+
grep -e ip4_secondary_ip_address pico-sdk/lib/lwip/src/core/ipv4/ip4.c || patch -p1 -d pico-sdk/lib/lwip < lwip_patch/lwip.patch || (echo "Failed to apply patch" && exit 1)
10+
11+
12+
cmake -S PicoHTTPServer -B PicoHTTPServer/build -DPICO_SDK_PATH=`pwd`/pico-sdk -DPICO_GCC_TRIPLE=arm-none-eabi -DPICO_BOARD=pico_w -DWIFI_SSID="PicoHTTP" -DWIFI_PASSWORD=""
13+
make -C PicoHTTPServer/build || exit 1

tools/SimpleFSBuilder/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
cmake_minimum_required(VERSION 2.7)
55
project(SimpleFSBuilder)
66
add_executable(SimpleFSBuilder SimpleFSBuilder.cpp)
7+
set_property(TARGET SimpleFSBuilder PROPERTY CXX_STANDARD 17)
78
target_link_libraries(SimpleFSBuilder -static -static-libgcc -static-libstdc++)

tools/SimpleFSBuilder/SimpleFSBuilder.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <memory.h>
88
#include <string.h>
99
#include <map>
10+
#include <vector>
1011
#include "SimpleFS.h"
1112

1213
using namespace std;

0 commit comments

Comments
 (0)