CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. set(MODULE_NAME "spshell")
  2. set(MODULE_PREFIX "SPSHELL")
  3. set(${MODULE_PREFIX}_SRCS
  4. app.cpp
  5. log.cpp
  6. spshell.cpp
  7. stdafx.cpp
  8. svc.cpp
  9. )
  10. if(MSVC)
  11. list(APPEND ${MODULE_PREFIX}_SRCS
  12. IOCPSocketServer.cpp
  13. SpShellConsole.cpp
  14. TelnetServer.cpp
  15. )
  16. endif(MSVC)
  17. if (WIN32)
  18. set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR})
  19. set (RC_VERSION_MINOR ${RVC_VERSION_MINOR})
  20. set (RC_VERSION_BUILD ${RVC_VERSION_REVISION})
  21. configure_file(
  22. ${CMAKE_SOURCE_DIR}/Version.rc.in
  23. ${CMAKE_CURRENT_BINARY_DIR}/version.rc
  24. @ONLY)
  25. set ( ${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
  26. endif()
  27. include_directories(${PROJECT_SOURCE_DIR}/spbase)
  28. include_directories(${PROJECT_SOURCE_DIR}/libtoolkit)
  29. add_executable(${MODULE_NAME} WIN32 ${${MODULE_PREFIX}_SRCS})
  30. list(APPEND ${MODULE_PREFIX}_LIBS libtoolkit spbase)
  31. if(MSVC)
  32. # ÉèÖÿØÖÆÌ¨²»ÏÔʾ
  33. # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
  34. list(APPEND ${MODULE_PREFIX}_LIBS
  35. ws2_32
  36. DbgHelp
  37. )
  38. else()
  39. list(APPEND ${MODULE_PREFIX}_LIBS winpr)
  40. endif()
  41. target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} libtoolkit)
  42. # copy_output_on_build(${MODULE_NAME} bin)
  43. install(TARGETS ${MODULE_NAME}
  44. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  45. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  46. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}"
  47. COMPONENT libraries)