include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake) include(build/config_base.cmake) set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH}) set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH}) include_directories( ./src ./include ${UTILS_SOURCE_PATH}/StatusCode/include ${UTILS_SOURCE_PATH}/Log/include ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib ) # link_directories( # ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs # ) aux_source_directory(./src SRC_FILES) set(TARGET_NAME ConfigBase) add_library(${TARGET_NAME} STATIC ${SRC_FILES}) target_link_libraries(${TARGET_NAME} StatusCode Log libconfig.a) if ("${COMPILE_IMPROVE_SUPPORT}" MATCHES "true") add_custom_target( ConfigBase_code_check COMMAND ${CLANG_TIDY_EXE} -checks='${CLANG_TIDY_CHECKS}' --header-filter=.* --system-headers=false ${SRC_FILES} ${CLANG_TIDY_CONFIG} -p ${PLATFORM_PATH}/cmake-shell WORKING_DIRECTORY ${UTILS_SOURCE_PATH}/ConfigBase ) add_custom_command( TARGET ${TARGET_NAME} PRE_BUILD COMMAND make ConfigBase_code_check WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/ ) file(GLOB_RECURSE HEADER_FILES *.h) add_custom_target( ConfigBase_code_format COMMAND ${CLANG_FORMAT_EXE} -style=file -i ${SRC_FILES} ${HEADER_FILES} WORKING_DIRECTORY ${UTILS_SOURCE_PATH}/ConfigBase ) add_custom_command( TARGET ${TARGET_NAME} PRE_BUILD COMMAND make ConfigBase_code_check COMMAND make ConfigBase_code_format WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/ ) endif() # build libconfig before make libConfigBase.a add_custom_command( # OUTPUT ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a COMMAND echo "Build libconfig-1.7.3. COMPILE_HOST = ${COMPILE_HOST}" # COMMAND tar zxvf libconfig-1.7.3.tar.gz COMMAND sh build_libconfig.sh ${TARGET_PLATFORM} ${COMPILE_HOST} COMMAND mv ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/libconfig/ ) add_custom_target( libconfig.a # DEPENDS ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a ) define_file_name(${TARGET_NAME}) config_owner(${TARGET_NAME}) file(GLOB_RECURSE INSTALL_HEADER_FILES include/*.h) install(FILES ${INSTALL_HEADER_FILES} DESTINATION include)