CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #project(spbase)
  2. set(MODULE_NAME "spbase")
  3. set(MODULE_PREFIX "SPBASE")
  4. file(GLOB ${MODULE_PREFIX}_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h" "*.cpp" "*.c")
  5. list(REMOVE_ITEM ${MODULE_PREFIX}_SRCS "SpVitualDevice.h" "SpVirtualDevice.cpp" "testInherits.cpp")
  6. if (WIN32)
  7. set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR})
  8. set (RC_VERSION_MINOR ${RVC_VERSION_MINOR})
  9. set (RC_VERSION_BUILD ${RVC_VERSION_REVISION})
  10. configure_file(
  11. ${CMAKE_SOURCE_DIR}/Version.rc.in
  12. ${CMAKE_CURRENT_BINARY_DIR}/version.rc
  13. @ONLY)
  14. set ( ${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
  15. list(APPEND ${MODULE_PREFIX}_SRCS "spbase.rc")
  16. endif()
  17. if(WIN32)
  18. #add_definitions(-DSPBASE_EXPORTS -DSCEW_DLL)
  19. endif(WIN32)
  20. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  21. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../Common)
  22. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../libtoolkit)
  23. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../third_party/scew/scew)
  24. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../third_party/scew/expat-2.1.0/lib)
  25. if(MSVC)
  26. target_compile_definitions(${MODULE_NAME} PRIVATE "-DSPBASE_EXPORTS" "-DSCEW_DLL")
  27. target_link_libraries(${MODULE_NAME} psapi imagehlp ws2_32 libtoolkit RVCComm scew)
  28. endif(MSVC)
  29. if (BUILD_TESTING)
  30. add_library(${MODULE_NAME}_a STATIC ${${MODULE_PREFIX}_SRCS})
  31. target_link_libraries(${MODULE_NAME}_a psapi imagehlp ws2_32 libtoolkit RVCComm scew)
  32. target_compile_definitions(${MODULE_NAME}_a PRIVATE "-DSPABASE_LINKED_AS_STATIC_LIBRARY")
  33. add_subdirectory(test)
  34. endif()
  35. install(TARGETS ${MODULE_NAME}
  36. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  37. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  38. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}"
  39. COMPONENT libraries)