register_component()
if(GCC_NOT_5_2_0)
- component_compile_options(-Wno-unused-const-variable)
+ target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-const-variable)
endif()
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
-project(import_cmake_lib)
+project(import_lib)
option(BUILD_SHARED_LIBS OFF)
option(BUILD_TESTING OFF)
+# Unfortunately the library performs install and export. Would
+# have been nice if devs made that an option like BUILD_SHARED_LIBS
+# and BUILD_TESTING. Override install() and export() to do nothing
+# instead.
+function(install)
+endfunction()
+
+function(export)
+endfunction()
+
# Import tinyxml2 targets
add_subdirectory(lib/tinyxml2)
-# Propagate compile settings to tinyxml2
-target_include_directories(tinyxml2 PRIVATE ${IDF_INCLUDE_DIRECTORIES})
-target_compile_options(tinyxml2 PRIVATE "${IDF_COMPILE_OPTIONS}")
-target_compile_options(tinyxml2 PRIVATE "${IDF_CXX_COMPILE_OPTIONS}")
-
# Link tinyxml2 to main component
-target_link_libraries(${COMPONENT_TARGET} tinyxml2)
+target_link_libraries(${COMPONENT_LIB} tinyxml2)
set(COMPONENT_SRCS "mesh_light.c"
"mesh_main.c")
-set(COMPONENT_ADD_INCLUDEDIRS ". include")
+set(COMPONENT_ADD_INCLUDEDIRS "." "include")
register_component()
`gcov_example.o: CFLAGS += --coverage`
Replace `gcov_example.o` with path to your file.
- For CMake-based build system, use `target_compile_options(${COMPONENT_TARGET} PRIVATE --coverage)` or: ` set_source_files_properties(gcov_example.c PROPERTIES COMPILE_FLAGS --coverage`
+ For CMake-based build system, use `target_compile_options(${COMPONENT_LIB} PRIVATE --coverage)` or: ` set_source_files_properties(gcov_example.c PROPERTIES COMPILE_FLAGS --coverage`
### Hard-coded Dump Call
# Embed the server root certificate into the final binary
-set(COMPONENT_EMBED_TXTFILES ${IDF_PROJECT_PATH}/server_certs/ca_cert.pem)
+idf_build_get_property(project_dir PROJECT_DIR)
+set(COMPONENT_EMBED_TXTFILES ${project_dir}/server_certs/ca_cert.pem)
register_component()
set(COMPONENT_ADD_INCLUDEDIRS ".")
# Embed the server root certificate into the final binary
-set(COMPONENT_EMBED_TXTFILES ${IDF_PROJECT_PATH}/server_certs/ca_cert.pem)
+idf_build_get_property(project_dir PROJECT_DIR)
+set(COMPONENT_EMBED_TXTFILES ${project_dir}/server_certs/ca_cert.pem)
register_component()
# Embed the server root certificate into the final binary
-set(COMPONENT_EMBED_TXTFILES ${IDF_PROJECT_PATH}/server_certs/ca_cert.pem)
+idf_build_get_property(project_dir PROJECT_DIR)
+set(COMPONENT_EMBED_TXTFILES ${project_dir}/server_certs/ca_cert.pem)
register_component()
BOOTLOADER_BINS="bootloader/bootloader.elf bootloader/bootloader.bin"
APP_BINS="app-template.elf app-template.bin"
PARTITION_BIN="partition_table/partition-table.bin"
- IDF_COMPONENT_PREFIX="idf_component"
+ IDF_COMPONENT_PREFIX="__idf"
print_status "Initial clean build"
# if build fails here, everything fails