Loading CMakeLists.txt +8 −10 Original line number Diff line number Diff line Loading @@ -14,29 +14,27 @@ include(ExternalProject) set(EXTERNAL_DIR ${CMAKE_CURRENT_BINARY_DIR}/external) ExternalProject_Add( i2c_tools i2c-tools GIT_REPOSITORY https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git GIT_TAG v4.4 PREFIX ${EXTERNAL_DIR}/i2c-tools BINARY_DIR ${EXTERNAL_DIR}/i2c-tools/src/i2c_tools SOURCE_DIR ${EXTERNAL_DIR}/i2c-tools/src STAMP_DIR ${EXTERNAL_DIR}/i2c-tools/stamp CONFIGURE_COMMAND "" BUILD_COMMAND make BUILD_STATIC_LIB=1 -j4 BUILD_IN_SOURCE 1 INSTALL_COMMAND "" ) # Get build directory of i2c-tools ExternalProject_Get_Property(i2c_tools BINARY_DIR) ExternalProject_Get_Property(i2c-tools BINARY_DIR) message(STATUS "i2c-tools build directory: ${BINARY_DIR}") set(I2C_LIB_PATH ${BINARY_DIR}/lib/libi2c.a) set(I2C_INCLUDE_DIR ${EXTERNAL_DIR}/i2c-tools/src/i2c_tools/include) set(I2C_INCLUDE_DIR ${EXTERNAL_DIR}/i2c-tools/src/include) # Create an imported target add_library(i2c STATIC IMPORTED) set_target_properties(i2c PROPERTIES IMPORTED_LOCATION ${I2C_LIB_PATH} INTERFACE_INCLUDE_DIRECTORIES ${I2C_INCLUDE_DIR} ) add_dependencies(i2c i2c_tools) set_target_properties(i2c PROPERTIES IMPORTED_LOCATION ${I2C_LIB_PATH}) include_directories(${I2C_INCLUDE_DIR}) include_directories(lib) add_subdirectory(lib) Loading lib/CMakeLists.txt +2 −2 Original line number Diff line number Diff line cmake_minimum_required(VERSION 3.20) file(GLOB SRC *.cpp) add_library(${PROJECT_NAME} ${SRC}) target_link_libraries(${PROJECT_NAME} i2c) No newline at end of file add_library(${PROJECT_NAME} STATIC ${SRC}) target_link_libraries(${PROJECT_NAME} PRIVATE i2c) No newline at end of file Loading
CMakeLists.txt +8 −10 Original line number Diff line number Diff line Loading @@ -14,29 +14,27 @@ include(ExternalProject) set(EXTERNAL_DIR ${CMAKE_CURRENT_BINARY_DIR}/external) ExternalProject_Add( i2c_tools i2c-tools GIT_REPOSITORY https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git GIT_TAG v4.4 PREFIX ${EXTERNAL_DIR}/i2c-tools BINARY_DIR ${EXTERNAL_DIR}/i2c-tools/src/i2c_tools SOURCE_DIR ${EXTERNAL_DIR}/i2c-tools/src STAMP_DIR ${EXTERNAL_DIR}/i2c-tools/stamp CONFIGURE_COMMAND "" BUILD_COMMAND make BUILD_STATIC_LIB=1 -j4 BUILD_IN_SOURCE 1 INSTALL_COMMAND "" ) # Get build directory of i2c-tools ExternalProject_Get_Property(i2c_tools BINARY_DIR) ExternalProject_Get_Property(i2c-tools BINARY_DIR) message(STATUS "i2c-tools build directory: ${BINARY_DIR}") set(I2C_LIB_PATH ${BINARY_DIR}/lib/libi2c.a) set(I2C_INCLUDE_DIR ${EXTERNAL_DIR}/i2c-tools/src/i2c_tools/include) set(I2C_INCLUDE_DIR ${EXTERNAL_DIR}/i2c-tools/src/include) # Create an imported target add_library(i2c STATIC IMPORTED) set_target_properties(i2c PROPERTIES IMPORTED_LOCATION ${I2C_LIB_PATH} INTERFACE_INCLUDE_DIRECTORIES ${I2C_INCLUDE_DIR} ) add_dependencies(i2c i2c_tools) set_target_properties(i2c PROPERTIES IMPORTED_LOCATION ${I2C_LIB_PATH}) include_directories(${I2C_INCLUDE_DIR}) include_directories(lib) add_subdirectory(lib) Loading
lib/CMakeLists.txt +2 −2 Original line number Diff line number Diff line cmake_minimum_required(VERSION 3.20) file(GLOB SRC *.cpp) add_library(${PROJECT_NAME} ${SRC}) target_link_libraries(${PROJECT_NAME} i2c) No newline at end of file add_library(${PROJECT_NAME} STATIC ${SRC}) target_link_libraries(${PROJECT_NAME} PRIVATE i2c) No newline at end of file