1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 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
- cputime.h
- cputime.c
- iatpatch.h
- iatpatch.c
- iconv.c
- iconv.h
- ioreactor.c
- ioreactor.h)
- if(NOT WIN32)
- list(REMOVE_ITEM ${MODULE_PREFIX}_SRCS
- gettimeofday.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)
- list(APPEND ${MODULE_PREFIX}_LIBS
- dbghelp
- ws2_32
- Winmm)
- 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})
- 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)
- 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()
|