CMake的libake编译选项

时间:2015-06-22 12:46:58

标签: cmake

我在我的项目中使用libpng。现在,我可以编译我的项目:g ++ * .cpp`libpng-config --ldflags`

我想切换到使用CMake轻松重新编译,但我不知道该怎么做libpng部分。如何使用CMake提供`libpng-config --ldflags`?

2 个答案:

答案 0 :(得分:5)

我终于使用find_package解决了这个问题。感谢this博文。

find_package(PNG REQUIRED)
include_directories(${PNG_INCLUDE_DIR})
target_link_libraries(${MY_EXEC} ${PNG_LIBRARY})

答案 1 :(得分:4)

我认为应该使用pkg-config推荐和便携式方式,如下所示:

# search for pkg-config
include (FindPkgConfig)
if (NOT PKG_CONFIG_FOUND)
    message (FATAL_ERROR "pkg-config not found")
endif ()

# check for libpng
pkg_check_modules (LIBPNG libpng16 REQUIRED)
if (NOT LIBPNG_FOUND)
    message(FATAL_ERROR "You don't seem to have libpng16 development libraries installed")
else ()
    include_directories (${LIBPNG_INCLUDE_DIRS})
    link_directories (${LIBPNG_LIBRARY_DIRS})
    link_libraries (${LIBPNG_LIBRARIES})
endif ()
add_executable (app_png ${_MYSOURCES} ${LIBPNG_LINK_FLAGS})