123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- set(MODULE_NAME "libtoolkit")
- set(MODULE_PREFIX "LIBTOOLKIT")
- if(MSVC)
- # add_definitions(-DLIBTOOLKIT_EXPORTS)
- endif(MSVC)
- include(CheckLibraryExists)
- check_library_exists (dbghelp UnDecorateSymbolName "" HAVE_DBGHELP)
- if(HAVE_DBGHELP)
- message(STATUS "have dbghelp")
- endif(HAVE_DBGHELP)
- 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
- # )
- if(NOT WIN32)
- list(REMOVE_ITEM ${MODULE_PREFIX}_SRCS
- dllmain.c
- gettimeofday.c shm.h shm.c
- wavfile.c wavfile.h
- bus-win.c bus_daemon-win.c ioqueue-win.c
- )
- else()
- list(REMOVE_ITEM ${MODULE_PREFIX}_SRCS
- bus-unix.c bus_daemon-unix.c ioqueuq-unix.c)
- endif()
- #foreach(item ${${MODULE_PREFIX}_SRCS})
- # message(STATUS ${item})
- #endforeach()
- # On windows create dll version information.
- 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})
- if(MSVC)
- target_compile_definitions(${MODULE_NAME} PRIVATE "-DLIBTOOLKIT_EXPORTS")
- list(APPEND ${MODULE_PREFIX}_LIBS
- dbghelp
- ws2_32
- Winmm
- MsWSock # ioqueue
- winpr)
- else(MSVC)
- list(APPEND ${MODULE_PREFIX}_LIBS winpr)
- endif(MSVC)
- target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
- if (BUILD_TESTING)
- add_library(${MODULE_NAME}_a STATIC ${${MODULE_PREFIX}_SRCS})
- target_link_libraries(${MODULE_NAME}_a ${${MODULE_PREFIX}_LIBS})
- target_compile_definitions(${MODULE_NAME}_a PRIVATE "-DTOOLKIT_LINKED_AS_STATIC_LIBRARY")
- add_subdirectory(test)
- # add_custom_command(TAGET ${MODULE_NAME}
- # POST_BUILD
- # COMMAND ${CMAKE_OMMAND}
- # ARGS -E copy
- # )
- endif()
- install(TARGETS ${MODULE_NAME}
- RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
- ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
- LIBRARY DESTINATION "${RVC_LIBRARY_PATH}"
- COMPONENT libraries)
- if(INSTALL_INCLUDE_FILES)
- file(GLOB PUBLIC_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
- install( FILES ${PUBLIC_HEADERS} DESTINATION "${RVC_INCLUDE_PATH}/${MODULE_NAME}" COMPONENT headers)
- endif()
|