Просмотр исходного кода

Fixes #351 - Major and minor version configurable via CMake

Takes the project version as a default, but OpENer major and minor version
can be set via corresponding CMake variables, via CLI or GUI.

Signed-off-by: Martin Melik-Merkumians <melik-merkumians@acin.tuwien.ac.at>
Martin Melik-Merkumians 3 лет назад
Родитель
Сommit
50372e1550
3 измененных файлов с 15 добавлено и 9 удалено
  1. 8 2
      source/CMakeLists.txt
  2. 1 1
      source/opener.doxyfile.in
  3. 6 6
      source/src/ports/devicedata.h.in

+ 8 - 2
source/CMakeLists.txt

@@ -24,6 +24,12 @@ endif()
 if( NOT DEFINED OpENer_Device_Config_Device_Name )
   set( OpENer_Device_Config_Device_Name "OpENer PC" CACHE STRING "Device Name" )
 endif()
+if(NOT DEFINED OpENer_Device_Major_Version)
+  set(OpENer_Device_Major_Version ${PROJECT_VERSION_MAJOR} CACHE STRING "Major Version")
+endif()
+if(NOT DEFINED OpENer_Device_Minor_Version)
+  set(OpENer_Device_Minor_Version ${PROJECT_VERSION_MINOR} CACHE STRING "Minor Version")
+endif()
 
 configure_file(  
 	"${PROJECT_SOURCE_DIR}/src/ports/devicedata.h.in"
@@ -169,7 +175,7 @@ set( OpENer_ADD_CIP_OBJECTS_INCLUDES "" CACHE INTERNAL STRING )
 set( OpENer_CIP_OBJECTS_DIR ${PROJECT_SOURCE_DIR}/src/cip_objects )
 include(${OpENer_BUILDSUPPORT_DIR}/OpENer_CIP_Object_generator.cmake)
 
-#######################################
+# ######################################
 # Add subdirectories                  #
-#######################################
+# ######################################
 add_subdirectory( src )

+ 1 - 1
source/opener.doxyfile.in

@@ -38,7 +38,7 @@ PROJECT_NAME           = "OpENer - Open Source EtherNet/IP(TM)  I/O Target Stack
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = @OpENer_VERSION_MAJOR@.@OpENer_VERSION_MINOR@
+PROJECT_NUMBER         = @OpENer_Device_Major_Version@.@OpENer_Device_Minor_Version@
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a

+ 6 - 6
source/src/ports/devicedata.h.in

@@ -7,11 +7,11 @@
 #ifndef DEVICE_DATA_H_
 #define DEVICE_DATA_H_
  
-#define OPENER_DEVICE_VENDOR_ID           @OpENer_Device_Config_Vendor_Id@
-#define OPENER_DEVICE_TYPE               @OpENer_Device_Config_Device_Type@
-#define OPENER_DEVICE_PRODUCT_CODE      @OpENer_Device_Config_Product_Code@
-#define OPENER_DEVICE_MAJOR_REVISION      @OpENer_VERSION_MAJOR@
-#define OPENER_DEVICE_MINOR_REVISION      @OpENer_VERSION_MINOR@
-#define OPENER_DEVICE_NAME ("@OpENer_Device_Config_Device_Name@")
+#define OPENER_DEVICE_VENDOR_ID      (@OpENer_Device_Config_Vendor_Id@)
+#define OPENER_DEVICE_TYPE           (@OpENer_Device_Config_Device_Type@)
+#define OPENER_DEVICE_PRODUCT_CODE   (@OpENer_Device_Config_Product_Code@)
+#define OPENER_DEVICE_MAJOR_REVISION (@OpENer_Device_Major_Version@)
+#define OPENER_DEVICE_MINOR_REVISION (@OpENer_Device_Minor_Version@)
+#define OPENER_DEVICE_NAME           ("@OpENer_Device_Config_Device_Name@")
 
 #endif /* DEVICE_DATA_H_ */