mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	Discovering how exported library building works with CMake
Now exporting a shared and static version of the wsjtx_udp library. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6695 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									f669df4d08
								
							
						
					
					
						commit
						1f6e882800
					
				@ -534,6 +534,12 @@ set (UDP_library_CXXSRCS
 | 
			
		||||
  MessageServer.cpp
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
set (UDP_library_HEADERS
 | 
			
		||||
  Radio.hpp
 | 
			
		||||
  MessageServer.hpp
 | 
			
		||||
  ${PROJECT_BINARY_DIR}/udp_export.h
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
set (message_aggregator_CXXSRCS
 | 
			
		||||
  UDPExamples/MessageAggregator.cpp
 | 
			
		||||
  UDPExamples/MessageAggregatorMainWindow.cpp
 | 
			
		||||
@ -1070,14 +1076,25 @@ target_link_libraries (wsjtx wsjt_fort wsjt_cxx wsjt_qt wsjt_qtmm ${hamlib_LIBRA
 | 
			
		||||
qt5_use_modules (wsjtx SerialPort) # not sure why the interface link library syntax above doesn't work
 | 
			
		||||
 | 
			
		||||
# make a library for WSJT-X UDP servers
 | 
			
		||||
add_library (wsjtx_udp ${LIB_TYPE} ${UDP_library_CXXSRCS})
 | 
			
		||||
add_library (wsjtx_udp SHARED ${UDP_library_CXXSRCS})
 | 
			
		||||
add_library (wsjtx_udp-static STATIC ${UDP_library_CXXSRCS})
 | 
			
		||||
target_include_directories (wsjtx_udp
 | 
			
		||||
  INTERFACE
 | 
			
		||||
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
 | 
			
		||||
  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
 | 
			
		||||
  $<INSTALL_INTERFACE:${WSJT_INCLUDE_DESTINATION}/wsjtx>
 | 
			
		||||
  )
 | 
			
		||||
target_include_directories (wsjtx_udp-static
 | 
			
		||||
  INTERFACE
 | 
			
		||||
  $<INSTALL_INTERFACE:${WSJT_INCLUDE_DESTINATION}/wsjtx>
 | 
			
		||||
  )
 | 
			
		||||
set_target_properties (wsjtx_udp PROPERTIES
 | 
			
		||||
  PUBLIC_HEADER "${UDP_library_HEADERS}"
 | 
			
		||||
  )
 | 
			
		||||
set_target_properties (wsjtx_udp-static PROPERTIES
 | 
			
		||||
  COMPILE_FLAGS -DUDP_STATIC_DEFINE
 | 
			
		||||
  OUTPUT_NAME wsjtx_udp
 | 
			
		||||
  )
 | 
			
		||||
qt5_use_modules (wsjtx_udp Network)
 | 
			
		||||
qt5_use_modules (wsjtx_udp-static Network)
 | 
			
		||||
generate_export_header (wsjtx_udp BASE_NAME udp)
 | 
			
		||||
 | 
			
		||||
add_executable (udp_daemon UDPExamples/UDPDaemon.cpp UDPExamples/udp_daemon.rc ${WSJTX_ICON_FILE})
 | 
			
		||||
@ -1118,16 +1135,21 @@ install (TARGETS wsjtx
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
install (TARGETS wsjtx_udp EXPORT udp
 | 
			
		||||
  RUNTIME DESTINATION ${WSJT_BIN_DESTINATION}
 | 
			
		||||
  LIBRARY DESTINATION ${WSJT_LIB_DESTINATION}
 | 
			
		||||
  ARCHIVE DESTINATION ${WSJT_LIB_DESTINATION}
 | 
			
		||||
  PUBLIC_HEADER DESTINATION ${WSJT_INCLUDE_DESTINATION}/wsjtx
 | 
			
		||||
  )
 | 
			
		||||
install (TARGETS wsjtx_udp-static EXPORT udp-static
 | 
			
		||||
  DESTINATION ${WSJT_LIB_DESTINATION}
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
install (EXPORT udp NAMESPACE wsjtx::
 | 
			
		||||
  DESTINATION ${WSJT_LIB_DESTINATION}/cmake/wsjtx
 | 
			
		||||
  )
 | 
			
		||||
install (FILES
 | 
			
		||||
  Radio.hpp
 | 
			
		||||
  MessageServer.hpp
 | 
			
		||||
  ${PROJECT_BINARY_DIR}/udp_export.h
 | 
			
		||||
  DESTINATION ${WSJT_INCLUDE_DESTINATION}/wsjtx)
 | 
			
		||||
install (EXPORT udp-static NAMESPACE wsjtx::
 | 
			
		||||
  DESTINATION ${WSJT_LIB_DESTINATION}/cmake/wsjtx
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
install (TARGETS udp_daemon message_aggregator
 | 
			
		||||
  RUNTIME DESTINATION ${WSJT_BIN_DESTINATION} COMPONENT runtime
 | 
			
		||||
@ -1316,7 +1338,7 @@ if (NOT is_debug_build)
 | 
			
		||||
      #set (hamlib_lib_dir ${hamlib_lib_dir}/../bin)
 | 
			
		||||
 | 
			
		||||
      get_filename_component (fftw_lib_dir ${FFTW3F_LIBRARY} PATH)
 | 
			
		||||
      list (APPEND fixup_library_dirs ${WSJT_LIB_DESTINATION} ${fftw_lib_dir})
 | 
			
		||||
      list (APPEND fixup_library_dirs ${fftw_lib_dir})
 | 
			
		||||
 | 
			
		||||
      # install required Qt plugins
 | 
			
		||||
      install (
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user