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 similarity index 100% rename from common.cmake rename to 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}")