luckfox-pico-sdk/project/app/ipcweb/ipcweb-backend/cmake/FindCgicc.cmake
2023-08-08 20:36:47 +08:00

44 lines
1.8 KiB
CMake

find_package(PkgConfig QUIET)
pkg_check_modules(PKG_CGICC QUIET "libcgicc")
set(CGICC_DEFINITIONS ${PKG_CGICC_CFLAGS_OTHER})
find_path(CGICC_INCLUDE_DIR
NAMES cgicc/Cgicc.h
HINTS ${PKG_CGICC_INCLUDEDIR} ${PKG_CGICC_INCLUDE_DIRS})
find_library(CGICC_LIBRARY
NAMES cgicc
HINTS /usr/lib/x86_64-linux-gnu ${PKG_CGICC_LIBDIR} ${PKG_CGICC_LIBRARY_DIRS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Cgicc DEFAULT_MSG
CGICC_LIBRARY CGICC_INCLUDE_DIR)
mark_as_advanced(Cgicc_FOUND CGICC_INCLUDE_DIR CGICC_LIBRARY)
if(NOT Cgicc_FOUND)
include(ExternalProject)
find_program(MAKE_EXE NAMES make gmake nmake)
ExternalProject_Add(
Cgicc
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cgicc"
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/cgicc"
BUILD_BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/cgicc/lib/${CMAKE_SHARED_LIBRARY_PREFIX}cgicc${CMAKE_SHARED_LIBRARY_SUFFIX}"
BUILD_IN_SOURCE true
CONFIGURE_COMMAND ""
BUILD_COMMAND ./configure --host=${TARGET_HOST} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} --prefix=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/cgicc && ${MAKE_EXE}
INSTALL_COMMAND ${MAKE_EXE} install
)
ExternalProject_Get_Property(Cgicc install_dir)
ExternalProject_Get_Property(Cgicc source_dir)
set(CGICC_INCLUDE_DIR ${source_dir})
set(CGICC_LIBRARY ${install_dir}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}cgicc${CMAKE_SHARED_LIBRARY_SUFFIX})
set(Cgicc_FOUND 1)
endif()
if(Cgicc_FOUND AND NOT TARGET Cgicc::Cgicc)
add_library(Cgicc::Cgicc UNKNOWN IMPORTED)
add_dependencies(Cgicc::Cgicc Cgicc)
set_property(TARGET Cgicc::Cgicc PROPERTY IMPORTED_LOCATION ${CGICC_LIBRARY})
set_property(TARGET Cgicc::Cgicc PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CGICC_INCLUDE_DIR}")
endif()