如何让cmake搜索位于用户定义位置的框架?

时间:2015-08-27 09:18:06

标签: macos frameworks cmake

我现在正试图将MAC中的jpeg框架与cmake链接起来。问题是,似乎CMake总是在系统路径中搜索jpeg.framework,而它应该在用户定义的位置进行链接。我使用以下命令强制cmake在用户定义的文件夹中搜索框架,但失败了:

  target_link_libraries(${ProjectNameC} "-framework jpeg")

  set_target_properties(${ProjectNameC} PROPERTIES LINK_FLAGS "-F${user_defined_folder}")

我也尝试过这种方式:

   set_target_properties(${ProjectNameC} PROPERTIES LINK_FLAGS "-F${user_defined_folder} -framework jpeg")

两种解决方案都失败了。我可以使用f ind_library(),但由于创建的jpeg框架没有find_library()的任何辅助文件。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以将find_package(JPEG required)CMAKE_PREFIX_PATH结合使用(记录为here)。

请注意,如果可能的话,最好避免将特定于平台的内容(如-framework)放入CMake文件中,因为这会使在其他平台上生成有效的构建系统变得困难。