CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ADD_SUBDIRECTORY (./lib)
  2. FILE(GLOB_RECURSE SRC_LIST ./*.cc ./*.c)
  3. include(../utils.cmake)
  4. #添加头文件搜索路径,相当于gcc -I
  5. INCLUDE_DIRECTORIES(
  6. . ./algorithm ./buffer ./chain
  7. ./data ./hotbk ./log ./mem
  8. ./misc ./node ./nodegroup ./raw
  9. ./task ./time ./tree
  10. ../libs/common
  11. ../devel/cpp
  12. ../daemons
  13. ../libs/stat
  14. ../libs/log4cplus/include
  15. ../libs/zlib/include64
  16. ../libs/yaml-cpp/include
  17. ../libs/hsql/include
  18. ../libs/mysql/include/)
  19. #添加.so/.a文件搜索路径,相当于gcc -L
  20. LINK_DIRECTORIES(
  21. ${PROJECT_SOURCE_DIR}/src/libs/mysql/libs
  22. ${PROJECT_SOURCE_DIR}/src/libs/log4cplus/libs
  23. ${PROJECT_SOURCE_DIR}/src/libs/yaml-cpp/libs
  24. ${PROJECT_SOURCE_DIR}/src/libs/zlib/lib/
  25. ${PROJECT_SOURCE_DIR}/src/libs/hsql/libs
  26. ${PROJECT_SOURCE_DIR}/build/src/libs/common
  27. ${PROJECT_SOURCE_DIR}/build/src/libs/stat
  28. ${PROJECT_SOURCE_DIR}/build/src/daemons)
  29. #添加链接库,相当于gcc -l
  30. LINK_LIBRARIES(libmysqlclient.a)
  31. LINK_LIBRARIES(liblog4cplus.a)
  32. LINK_LIBRARIES(libsqlparser.a)
  33. LINK_LIBRARIES(libcommon.a)
  34. LINK_LIBRARIES(libyaml-cpp.a)
  35. LINK_LIBRARIES(libstat.a)
  36. LINK_LIBRARIES(libdaemons.a)
  37. LINK_LIBRARIES(libz64.a)
  38. LINK_LIBRARIES(pthread)
  39. LINK_LIBRARIES(dl)
  40. #编译参数
  41. ADD_DEFINITIONS("-g -rdynamic -fPIC -D_CORE_ -fpermissive -std=gnu++11 -D_GLIBCXX_USE_CXX11_ABI=0 -export-dynamic -Wl,--version-script,core.export.lst")
  42. ADD_DEFINITIONS(-Wno-builtin-macro-redefined)
  43. #编译为.so/.a
  44. ADD_EXECUTABLE(dtcd ${SRC_LIST})
  45. #将目标文件与库文件链接
  46. TARGET_LINK_LIBRARIES(dtcd libdaemons.a libstat.a libsqlparser.a libcommon.a libyaml-cpp.a liblog4cplus.a libz64.a libmysqlclient.a)
  47. redefine_file_macro(dtcd)