Skip to content

Commit 865da0e

Browse files
new cmake build system
1 parent f4c982c commit 865da0e

23 files changed

+742
-177
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
[submodule "libmapper"]
88
path = libmapper
99
url = https://github.com/mathiasbredholt/libmapper.git
10+
[submodule "compat-idf"]
11+
path = compat-idf
12+
url = https://github.com/mathiasbredholt/compat-idf.git

CMakeLists.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
cmake_minimum_required(VERSION 3.10)
2+
set(CMAKE_TOOLCHAIN_FILE arduino-esp32.cmake)
3+
4+
project(libmapper)
5+
6+
set(LIBLO_SRCS liblo/src/address.c liblo/src/blob.c liblo/src/bundle.c liblo/src/message.c liblo/src/method.c liblo/src/pattern_match.c liblo/src/send.c liblo/src/server.c liblo/src/server_thread.c liblo/src/timetag.c liblo/src/version.c)
7+
set(LIBMAPPER_SRCS libmapper/src/database.c libmapper/src/device.c libmapper/src/expression.c libmapper/src/link.c libmapper/src/list.c libmapper/src/map.c libmapper/src/network.c libmapper/src/properties.c libmapper/src/router.c libmapper/src/signal.c libmapper/src/slot.c libmapper/src/table.c libmapper/src/timetag.c)
8+
set(COMPAT_SRCS compat-idf/src/gai_strerror.c compat-idf/src/gethostname.c compat-idf/src/getnameinfo.c compat-idf/src/ifaddrs.c)
9+
set(ZLIB_SRCS zlib/crc32.c)
10+
11+
set(SRCS ${COMPAT_SRCS} ${LIBLO_SRCS} ${LIBMAPPER_SRCS} ${ZLIB_SRCS})
12+
13+
include_directories(liblo liblo/src libmapper/include compat-idf/include zlib ${IDF_INCLUDES})
14+
15+
add_library(mapper STATIC ${SRCS})
16+
17+
get_filename_component(compat_include compat-idf/include/compat.h ABSOLUTE)
18+
target_compile_options(mapper PRIVATE -DHAVE_CONFIG_H -include${compat_include} -w)
19+
20+
add_custom_command(OUTPUT liblo/config.h
21+
COMMAND cp liblo_config.h liblo/config.h)
22+
add_custom_command(OUTPUT liblo/lo/lo.h
23+
COMMAND cp lo.h liblo/lo/lo.h)
24+
add_custom_command(OUTPUT liblo/lo/lo_endian.h
25+
COMMAND cp lo_endian.h liblo/lo/lo_endian.h)
26+
add_custom_command(OUTPUT libmapper/src/config.h
27+
COMMAND cp libmpr_config.h libmapper/src/config.h)
28+
29+
add_custom_target(libmapper_config_headers DEPENDS liblo/config.h liblo/lo/lo.h liblo/lo/lo_endian.h libmapper/src/config.h)
30+
31+
add_custom_command(TARGET mapper POST_BUILD COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/genlib.sh)

arduino-esp32.cmake

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
set(SDK $ENV{HOME}/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk)
2+
set(SDK_INCLUDE ${SDK}/include)
3+
set(tools $ENV{HOME}/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0)
4+
set(ARDUINO_COMPILE_FLAGS "-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE=${SDK}/mbedtls/esp_config.h -DHAVE_CONFIG_H -DGCC_NOT_5_2_0=0 -DWITH_POSIX -std=gnu99 -Os -g3 -fstack-protector -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -MMD -I${SDK_INCLUDE}/config -I${SDK_INCLUDE}/app_trace -I${SDK_INCLUDE}/app_update -I${SDK_INCLUDE}/asio -I${SDK_INCLUDE}/bootloader_support -I${SDK_INCLUDE}/bt -I${SDK_INCLUDE}/coap -I${SDK_INCLUDE}/console -I${SDK_INCLUDE}/driver -I${SDK_INCLUDE}/esp-tls -I${SDK_INCLUDE}/esp32 -I${SDK_INCLUDE}/esp_adc_cal -I${SDK_INCLUDE}/esp_event -I${SDK_INCLUDE}/esp_http_client -I${SDK_INCLUDE}/esp_http_server -I${SDK_INCLUDE}/esp_https_ota -I${SDK_INCLUDE}/esp_ringbuf -I${SDK_INCLUDE}/ethernet -I${SDK_INCLUDE}/expat -I${SDK_INCLUDE}/fatfs -I${SDK_INCLUDE}/freemodbus -I${SDK_INCLUDE}/freertos -I${SDK_INCLUDE}/heap -I${SDK_INCLUDE}/idf_test -I${SDK_INCLUDE}/jsmn -I${SDK_INCLUDE}/json -I${SDK_INCLUDE}/libsodium -I${SDK_INCLUDE}/log -I${SDK_INCLUDE}/lwip -I${SDK_INCLUDE}/mbedtls -I${SDK_INCLUDE}/mdns -I${SDK_INCLUDE}/micro-ecc -I${SDK_INCLUDE}/mqtt -I${SDK_INCLUDE}/newlib -I${SDK_INCLUDE}/nghttp -I${SDK_INCLUDE}/nvs_flash -I${SDK_INCLUDE}/openssl -I${SDK_INCLUDE}/protobuf-c -I${SDK_INCLUDE}/protocomm -I${SDK_INCLUDE}/pthread -I${SDK_INCLUDE}/sdmmc -I${SDK_INCLUDE}/smartconfig_ack -I${SDK_INCLUDE}/soc -I${SDK_INCLUDE}/spi_flash -I${SDK_INCLUDE}/spiffs -I${SDK_INCLUDE}/tcp_transport -I${SDK_INCLUDE}/tcpip_adapter -I${SDK_INCLUDE}/ulp -I${SDK_INCLUDE}/vfs -I${SDK_INCLUDE}/wear_levelling -I${SDK_INCLUDE}/wifi_provisioning -I${SDK_INCLUDE}/wpa_supplicant -I${SDK_INCLUDE}/xtensa-debug-module -I${SDK_INCLUDE}/esp-face -I${SDK_INCLUDE}/esp32-camera -I${SDK_INCLUDE}/esp-face -I${SDK_INCLUDE}/fb_gfx")
5+
6+
set(CMAKE_SYSTEM_NAME Generic)
7+
8+
set(CMAKE_C_COMPILER ${tools}/bin/xtensa-esp32-elf-gcc)
9+
set(CMAKE_CXX_COMPILER ${tools}/bin/xtensa-esp32-elf-g++)
10+
set(CMAKE_ASM_COMPILER ${tools}/bin/xtensa-esp32-elf-gcc)
11+
12+
set(CMAKE_C_FLAGS ${ARDUINO_COMPILE_FLAGS} CACHE STRING "C Compiler Base Flags")
13+
set(CMAKE_CXX_FLAGS ${ARDUINO_COMPILE_FLAGS} CACHE STRING "C++ Compiler Base Flags")

compat-idf

Submodule compat-idf added at 501d297

compat/include/compat.h

Lines changed: 0 additions & 11 deletions
This file was deleted.

compat/include/ifaddrs.h

Lines changed: 0 additions & 42 deletions
This file was deleted.

compat/include/netinet/tcp.h

Whitespace-only changes.

compat/include/poll.h

Lines changed: 0 additions & 4 deletions
This file was deleted.

compat/library.properties

Lines changed: 0 additions & 10 deletions
This file was deleted.

compat/src/gai_strerror.c

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)