CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. macro(define_moudle _module_name)
  2. set(MODULE_NAME "mod_${_module_name}")
  3. string(TOUPPER "MOD_${MODULE_NAME}" MODULE_PREFIX)
  4. endmacro(define_moudle)
  5. #macro(add_module _module_prefix _module_name)
  6. #endmacro(add_module)
  7. macro(add_module_libraries _module_prefix _module_name)
  8. if(WIN32)
  9. set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR})
  10. set (RC_VERSION_MINOR ${RVC_VERSION_MINOR})
  11. set (RC_VERSION_BUILD ${RVC_VERSION_REVISION})
  12. set (RC_VERSION_PATCH 0)
  13. set(RC_VERSION_DESCRIPTION "${CMAKE_SHARED_LIBRARY_PREFIX}${_module_name}${CMAKE_SHARED_LIBRARY_SUFFIX}")
  14. configure_file(
  15. ${CMAKE_SOURCE_DIR}/Version.rc.in
  16. ${CMAKE_CURRENT_BINARY_DIR}/version.rc
  17. @ONLY)
  18. set(${_module_prefix}_SRCS ${${_module_prefix}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
  19. endif(WIN32)
  20. add_library(${_module_name} SHARED ${${_module_prefix}_SRCS})
  21. # ÉèÖù¤³ÌÊä³ö·¾¶
  22. # set_target_properties(${_module_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${RVC_MODULE_LIBRARY_PATH}")
  23. endmacro(add_module_libraries)
  24. macro(deploy_module _module_prefix _module_name)
  25. install(TARGETS ${_module_name}
  26. RUNTIME DESTINATION "${RVC_MODULE_PATH}"
  27. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  28. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}"
  29. COMPONENT modules)
  30. set_property(TARGET ${_module_name} PROPERTY FOLDER "module/")
  31. endmacro(deploy_module)
  32. #set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client)
  33. #set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
  34. #set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} msimg32)
  35. #target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  36. file(GLOB module_dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/*")
  37. set(module_list "")
  38. foreach(module_dir ${module_dirs})
  39. if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${module_dir})
  40. list(APPEND module_list ${module_dir})
  41. endif()
  42. endforeach()
  43. foreach(module ${module_list})
  44. message(STATUS "add module ${module}...")
  45. add_subdirectory(${module})
  46. endforeach()