1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- set(MODULE_NAME "spshell")
- set(MODULE_PREFIX "SPSHELL")
- set(${MODULE_PREFIX}_SRCS
- app.cpp
- log.cpp
- spshell.cpp
- stdafx.cpp
- svc.cpp
- IOCPSocketServer.cpp
- SpShellConsole.cpp
- TelnetServer.cpp
- )
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
- if (WIN32)
- set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR})
- set (RC_VERSION_MINOR ${RVC_VERSION_MINOR})
- set (RC_VERSION_BUILD ${RVC_VERSION_REVISION})
- set (RC_VERSION_PATCH ${RVC_VERSION_BUILD})
- configure_file(
- ${CMAKE_SOURCE_DIR}/Version.rc.in
- ${CMAKE_CURRENT_BINARY_DIR}/version.rc
- @ONLY)
- set (${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
- endif()
- include_directories(${RVCFRAMEWORK_SOURCES_DIR})
- include_directories(${RVCFRAMEWORK_SOURCES_DIR}/spbase)
- include_directories(${RVCFRAMEWORK_SOURCES_DIR}/libtoolkit)
- add_executable(${MODULE_NAME} WIN32 ${${MODULE_PREFIX}_SRCS})
- if(MSVC)
- # run as administration privilidege
- set_target_properties(${MODULE_NAME}
- PROPERTIES LINK_FLAGS
- "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS")
- endif(MSVC)
- target_include_directories(${MODULE_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
- target_include_directories(${MODULE_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
- target_include_directories(${MODULE_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Widgets)
- list(APPEND ${MODULE_PREFIX}_LIBS libtoolkit spbase)
- if(MSVC)
- # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
- list(APPEND ${MODULE_PREFIX}_LIBS
- ws2_32
- DbgHelp
- psapi
- )
- else()
- list(APPEND ${MODULE_PREFIX}_LIBS winpr)
- endif()
- target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
- install(TARGETS ${MODULE_NAME}
- RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
- ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
- LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
- )
- if (WITH_PDB_SAVE AND MSVC)
- install(FILES ${RVC_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${RVC_PDBSAVE_PATH} COMPONENT symbols)
- endif()
|