Browse Source

setup for shared libs

Bill McCormick 7 years ago
parent
commit
73073d08ec

+ 1 - 1
bin/posix/setup_posix.sh

@@ -1,2 +1,2 @@
-cmake -DOpENer_PLATFORM:STRING="POSIX" -DCMAKE_BUILD_TYPE:STRING="" ../../source
+cmake -DOpENer_PLATFORM:STRING="POSIX" -DCMAKE_BUILD_TYPE:STRING="" -DBUILD_SHARED_LIBS:BOOL=ON ../../source
 

+ 1 - 1
source/CMakeLists.txt

@@ -16,7 +16,7 @@ set( OpENer_Device_Config_Device_Type 12 CACHE STRING "Device Type ID")
 set( OpENer_Device_Config_Product_Code 65001 CACHE STRING "Device Product Code")
 set( OpENer_Device_Config_Device_Name "OpENer PC" CACHE STRING "Device Name")
 set( OpENer_VERSION_MAJOR 2 )
-set( OpENer_VERSION_MINOR 2 )
+set( OpENer_VERSION_MINOR 3 )
 
 configure_file(  
 	"${PROJECT_SOURCE_DIR}/src/ports/devicedata.h.in"

+ 12 - 0
source/src/cip/CMakeLists.txt

@@ -15,3 +15,15 @@ opener_platform_support("INCLUDES")
 set( CIP_SRC appcontype.c cipassembly.c cipclass3connection.c cipcommon.c cipconnectionobject.c cipconnectionmanager.c ciperror.h cipethernetlink.c cipidentity.c cipioconnection.c cipmessagerouter.c ciptcpipinterface.c ciptypes.h cipepath.h cipepath.c cipelectronickey.h cipelectronickey.c cipqos.c )
 
 add_library( CIP ${CIP_SRC} )
+
+if( BUILD_SHARED_LIBS )
+  install(TARGETS CIP
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib
+    RUNTIME DESTINATION lib
+  )
+  install(DIRECTORY ${CIP_SRC_DIR}
+    DESTINATION include
+    FILES_MATCHING PATTERN "*.h"
+   )
+endif( BUILD_SHARED_LIBS )

+ 13 - 1
source/src/enet_encap/CMakeLists.txt

@@ -16,4 +16,16 @@ opener_platform_support("INCLUDES")
 
 add_library( ENET_ENCAP ${ENET_ENCAP_SRC} )
 
-target_link_libraries( ENET_ENCAP Utils)
+if( BUILD_SHARED_LIBS )
+  install(TARGETS ENET_ENCAP
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib
+    RUNTIME DESTINATION lib
+  )
+  install(DIRECTORY ${ENET_ENCAP_SRC_DIR}
+    DESTINATION include
+    FILES_MATCHING PATTERN "*.h"
+   )
+endif( BUILD_SHARED_LIBS )
+
+target_link_libraries( ENET_ENCAP Utils)

+ 13 - 0
source/src/ports/CMakeLists.txt

@@ -17,3 +17,16 @@ opener_platform_support("INCLUDES")
 set( PLATFORM_GENERIC_SRC generic_networkhandler.c socket_timer.c  udp_protocol.c)
 
 add_library( PLATFORM_GENERIC ${PLATFORM_GENERIC_SRC})
+
+if( BUILD_SHARED_LIBS )
+  install(TARGETS PLATFORM_GENERIC
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib
+    RUNTIME DESTINATION lib
+  )
+  install(DIRECTORY ${PORTS_SRC_DIR}
+    DESTINATION include
+    FILES_MATCHING PATTERN "*.h" PATTERN "*.h.in"
+   )
+endif( BUILD_SHARED_LIBS )
+

+ 1 - 0
source/src/ports/POSIX/CMakeLists.txt

@@ -23,6 +23,7 @@ opener_common_includes()
 opener_platform_support("INCLUDES")
 
 add_library( ${OpENer_PLATFORM}PLATFORM ${PLATFORM_SPEC_SRC})
+# Mark executables and/or libraries for installation
 
 add_executable(OpENer main.c)
 

+ 13 - 0
source/src/utils/CMakeLists.txt

@@ -5,3 +5,16 @@ opener_platform_spec()
 set( UTILS_SRC random.c xorshiftrandom.c doublylinkedlist.c  enipmessage.c)
 
 add_library( Utils ${UTILS_SRC} )
+
+if( BUILD_SHARED_LIBS )
+  install(TARGETS Utils
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib
+    RUNTIME DESTINATION lib
+  )
+  install(DIRECTORY ${UTILS_SRC_DIR}
+    DESTINATION include
+    FILES_MATCHING PATTERN "*.h"
+   )
+endif( BUILD_SHARED_LIBS )
+