summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2022-11-17 20:18:01 +1100
committerjacqueline <me@jacqueline.id.au>2022-11-17 20:18:01 +1100
commit42c387807fe0313b21b5280d9d55d4d641fe429c (patch)
treeb18ff7cd57ea7a603d56f07f73d5bc08c64500f8
parentc252132f397414bd996e957bc06ce842fdb33012 (diff)
downloadtangara-fw-42c387807fe0313b21b5280d9d55d4d641fe429c.tar.gz
Basic libmad build
-rw-r--r--CMakeLists.txt3
-rw-r--r--test/CMakeLists.txt3
-rw-r--r--tools/cmake/common.cmake (renamed from common.cmake)0
-rw-r--r--tools/cmake/extra-libs.cmake1
-rw-r--r--tools/cmake/libmad.cmake19
5 files changed, 24 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 54fa1818..751ee3ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.16)
-include(common.cmake)
+include($ENV{PROJ_PATH}/tools/cmake/common.cmake)
set(SDKCONFIG_DEFAULTS "sdkconfig.common")
@@ -10,3 +10,4 @@ idf_build_set_property(COMPILE_OPTIONS "-DRESULT_DISABLE_EXCEPTIONS" APPEND)
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/src")
project(gay-ipod-fw)
+include($ENV{PROJ_PATH}/tools/cmake/extra-libs.cmake)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 0834a2b8..e7af4ab1 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.16)
-include(../common.cmake)
+include($ENV{PROJ_PATH}/tools/cmake/common.cmake)
set(SDKCONFIG_DEFAULTS "../sdkconfig.common;sdkconfig.test")
@@ -18,3 +18,4 @@ list(APPEND EXTRA_COMPONENT_DIRS
set(TEST_COMPONENTS "drivers")
project(device_tests)
+include($ENV{PROJ_PATH}/tools/cmake/extra-libs.cmake)
diff --git a/common.cmake b/tools/cmake/common.cmake
index 53a6a243..53a6a243 100644
--- a/common.cmake
+++ b/tools/cmake/common.cmake
diff --git a/tools/cmake/extra-libs.cmake b/tools/cmake/extra-libs.cmake
new file mode 100644
index 00000000..2d665b63
--- /dev/null
+++ b/tools/cmake/extra-libs.cmake
@@ -0,0 +1 @@
+include($ENV{PROJ_PATH}/tools/cmake/libmad.cmake)
diff --git a/tools/cmake/libmad.cmake b/tools/cmake/libmad.cmake
new file mode 100644
index 00000000..5126bd69
--- /dev/null
+++ b/tools/cmake/libmad.cmake
@@ -0,0 +1,19 @@
+set(LIBMAD_SRC "$ENV{PROJ_PATH}/lib/libmad")
+set(LIBMAD_BIN "${CMAKE_CURRENT_BINARY_DIR}/libmad")
+
+externalproject_add(libmad_build
+ SOURCE_DIR "${LIBMAD_SRC}"
+ PREFIX "${LIBMAD_BIN}"
+ CONFIGURE_COMMAND ${LIBMAD_SRC}/configure CC=${CMAKE_C_COMPILER} --srcdir=${LIBMAD_SRC} --prefix=${LIBMAD_BIN} --host=xtensa-elf --disable-debugging --disable-shared
+ BUILD_COMMAND "make"
+ INSTALL_COMMAND "make install"
+ BUILD_BYPRODUCTS "${LIBMAD_BIN}/libmad.a"
+)
+
+ add_library(libmad STATIC IMPORTED GLOBAL)
+ add_dependencies(libmad libmad_build)
+
+ set_target_properties(libmad PROPERTIES IMPORTED_LOCATION
+ "${LIBMAD_BIN}/libmad.a")
+ set_target_properties(libmad PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+ "${LIBMAD_BIN}")