免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1566 | 回复: 1
打印 上一主题 下一主题

[其他] 极简 cmake 脚本 [复制链接]

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-01-05 19:40 |只看该作者 |倒序浏览
  msys2  "http://msys2.github.io/"   有个好处,头文件和库的位置比较标准,可以直接  include_directories 和 link_directories  
  1. project(cppserver CXX C)
  2. cmake_minimum_required(VERSION 3.0)

  3. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_MINGW -DUSE_BOOST_THREAD -std=c++11")

  4. MESSAGE(STATUS "This is SOURCE dir " ${CMAKE_SOURCE_DIR})

  5. set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/" "${CMAKE_ROOT}/Modules")
  6. set(SYSLIBS  ws2_32)
  7. set(THRIFTLIBS thrift thriftnb thriftz)

  8. find_package(Boost 1.58.0 REQUIRED COMPONENTS system thread)

  9. #find_package(PkgConfig REQUIRED)

  10. #message(STATUS "    find PkgConfig: ${PkgConfig_FOUND}")
  11. #message(STATUS "    find PkgConfig: ${PKG_CONFIG_EXECUTABLE}")

  12. #pkg_check_modules(GTKMM REQUIRED gtkmm-3.0)

  13. include_directories("../libcpp/src" "/mingw32/include"  "/mingw32/i686-w64-mingw32/include"  ${Boost_INCLUDE_DIRS})
  14. link_directories("../lib" "/mingw32/lib"  "/mingw32/i686-w64-mingw32/lib")

  15. ADD_SUBDIRECTORY(gen-cpp)

  16. add_executable(cppserver  main.cpp)
  17. target_link_libraries(cppserver gencpp ${THRIFTLIBS} event ${Boost_LIBRARIES} ${SYSLIBS})
复制代码

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
2 [报告]
发表于 2016-01-06 09:57 |只看该作者

我也凑热闹

project(media)
cmake_minimum_required(VERSION 2.6)
set(CMAKE_SKIP_RPATH true)
set(CMAKE_C_FLAGS -std=gnu99)
add_definitions(-msse)
add_definitions(-DHAVE_CONFIG_H)

file(GLOB_RECURSE HEADERS "*.h")
set(INCLUDE_DIRS "")
foreach(_headerFile ${HEADERS})
get_filename_component(_dir ${_headerFile} PATH)
list(APPEND INCLUDE_DIRS ${_dir})
endforeach()
list(REMOVE_DUPLICATES INCLUDE_DIRS)

include_directories(${INCLUDE_DIRS} "libmedia/media/ffmpeg/include" "/usr/include/jni" "/usr/include/jni/linux")
link_directories(../libmedia/media/ffmpeg ../libmedia/media/codec/h264/x264 ../libmedia/media/platform/signalproc)
file(GLOB_RECURSE SRC_LIST1 "libmedia/media/*.c")
file(GLOB_RECURSE SRC_LIST2 "libmedia/media/*.cpp")

add_library(media2 SHARED ${SRC_LIST1} ${SRC_LIST2})
set_target_properties(media2 PROPERTIES LINK_FLAGS -Wl,-z,defs)
target_link_libraries(media2 libx264.a libavcodec.a libavutil.a libwebrtc.a m rt dl pthread)

file(GLOB_RECURSE SRC_LIST1 "projects/nav/*.c")
file(GLOB_RECURSE SRC_LIST2 "projects/nav/*.cpp")

add_library(mm SHARED ${SRC_LIST1} ${SRC_LIST2})
set_target_properties(mm PROPERTIES LINK_FLAGS -Wl,-z,defs)
target_link_libraries(mm media2 pthread)


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP