set(MODULE_NAME "RVCComm") set(MODULE_PREFIX "RVCCOMM") if(MSVC) # add_definitions(-DRVCCOMM_EXPORTS) endif(MSVC) message(STATUS "PROJECT_SOURCE_DIR: ${PROJECT_SOURCE_DIR}") include_directories(${PROJECT_SOURCE_DIR}/third_party/openssl-1.1.1d/include/openssl) include_directories(.) file(GLOB ${MODULE_PREFIX}_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp" "*.h" "*.c") # remove the no use file at all platform so far list(REMOVE_ITEM ${MODULE_PREFIX}_SRCS ClientBase.h ClientBase.cpp ServerComm.h ServerComm.cpp ) if (NOT WIN32) list(REMOVE_ITEM ${MODULE_PREFIX}_SRCS XZip.h XZip.cpp XUnzip.h XUnzip.cpp ) endif() if (WIN32) set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR}) set (RC_VERSION_MINOR ${RVC_VERSION_MINOR}) set (RC_VERSION_BUILD ${RVC_VERSION_REVISION}) 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() add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS}) target_link_libraries(${MODULE_NAME} ssl winpr) target_compile_definitions(${MODULE_NAME} PRIVATE "-DRVCCOMM_EXPORTS=1") if (BUILD_TESTING) add_library(${MODULE_NAME}_a STATIC ${${MODULE_PREFIX}_SRCS}) target_link_libraries(${MODULE_NAME}_a ssl winpr) target_compile_definitions(${MODULE_NAME}_a PRIVATE "-DRVCCOMM_LINKED_AS_STATIC_LIBRARY") add_subdirectory(test) endif() install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries)