diff options
-rw-r--r-- | CMakeLists.txt | 30 | ||||
-rwxr-xr-x | make-version.pl | 22 | ||||
-rw-r--r-- | version.h.in | 1 | ||||
-rw-r--r-- | wsutil/CMakeLists.txt | 2 |
4 files changed, 28 insertions, 27 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e5ea9d617..e4f506d179 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -922,21 +922,6 @@ test_big_endian(WORDS_BIGENDIAN) set_property(GLOBAL PROPERTY USE_FOLDERS ON) -add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/version.h - COMMAND ${PERL_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/make-version.pl - ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/make-version.pl -) - -add_custom_target( - gitversion ALL - DEPENDS ${CMAKE_BINARY_DIR}/version.h -) -set_target_properties(gitversion PROPERTIES FOLDER "Auxiliary") - add_subdirectory( asn1 EXCLUDE_FROM_ALL ) add_subdirectory( capchild ) add_subdirectory( caputils ) @@ -948,8 +933,6 @@ add_subdirectory( ui ) add_subdirectory( wiretap ) add_subdirectory( wsutil ) -add_dependencies(wsutil gitversion) - if(NOT WIN32) add_custom_target(dumpabi DEPENDS dumpabi-libwireshark dumpabi-libwiretap dumpabi-libwsutil color.h) endif() @@ -1064,8 +1047,18 @@ else() endif() set( VERSION ${PROJECT_VERSION} ) +execute_process( + COMMAND ${PERL_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/make-version.pl + --print-vcs + ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE VERSION_H_CONTENT +) set( configure_input "Built with CMake ${CMAKE_VERSION}" ) configure_file(${CMAKE_SOURCE_DIR}/cmakeconfig.h.in ${CMAKE_BINARY_DIR}/config.h) +configure_file(${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_BINARY_DIR}/version.h) +#set_target_properties(${CMAKE_BINARY_DIR}/version.h PROPERTIES FOLDER "Auxiliary") + set(ICON_PATH "${CMAKE_SOURCE_DIR}/image/") set( IN_FILES adns_dll.rc @@ -1693,8 +1686,6 @@ if(BUILD_wireshark AND QT_FOUND) ${APPLE_SYSTEM_CONFIGURATION_LIBRARY} ${NL_LIBRARIES} ) - # wireshark and wireshark-gtk share wireshark_FILES - add_dependencies(qtui gitversion) # Policy since 2.8.11 if (POLICY CMP0020) @@ -2242,7 +2233,6 @@ if(BUILD_androiddump) add_executable(androiddump WIN32 ${androiddump_FILES}) # XXX Shouldn't we add wsutil to androiddump_LIBS instead? - add_dependencies(androiddump gitversion) set_extcap_executable_properties(androiddump) target_link_libraries(androiddump ${androiddump_LIBS}) install(TARGETS androiddump RUNTIME DESTINATION ${EXTCAP_DIR}) diff --git a/make-version.pl b/make-version.pl index 57e08f2cd6..79a2c81869 100755 --- a/make-version.pl +++ b/make-version.pl @@ -76,6 +76,7 @@ my $repo_branch = "unknown"; my $git_description = undef; my $get_vcs = 0; my $set_vcs = 0; +my $print_vcs = 0; my $set_version = 0; my $set_release = 0; my %version_pref = ( @@ -374,6 +375,8 @@ Commit ID : $commit_id Revision source : $info_source Release stamp : $package_string Fin + } elsif ($print_vcs) { + print new_version_h(); } } @@ -625,12 +628,9 @@ sub update_versioned_files &update_cmake_lib_releases; } -# Print the version control system's version to $version_file. -# Don't change the file if it is not needed. -sub print_VCS_REVISION +sub new_version_h { my $VCS_REVISION; - my $needs_update = 1; if ($git_description) { $VCS_REVISION = "#define VCSVERSION \"" . @@ -645,6 +645,16 @@ sub print_VCS_REVISION " Rev Unknown\"\n" . "#define VCSBRANCH \"unknown\"\n"; } + + return $VCS_REVISION; +} + +# Print the version control system's version to $version_file. +# Don't change the file if it is not needed. +sub print_VCS_REVISION +{ + my $VCS_REVISION = new_version_h(); + my $needs_update = 1; if (open(OLDREV, "<$version_file")) { my $old_VCS_REVISION = <OLDREV> . <OLDREV>; if ($old_VCS_REVISION eq $VCS_REVISION) { @@ -677,13 +687,14 @@ sub get_config { "help|h", \$show_help, "get-vcs|get-svn|g", \$get_vcs, "set-vcs|set-svn|s", \$set_vcs, + "print-vcs", \$print_vcs, "set-version|v", \$set_version, "set-release|r|package-version|p", \$set_release ) || pod2usage(2); if ($show_help) { pod2usage(1); } - if ( !( $show_help || $get_vcs || $set_vcs || $set_version || $set_release ) ) { + if ( !( $show_help || $get_vcs || $set_vcs || $print_vcs || $set_version || $set_release ) ) { $set_vcs = 1; } @@ -753,6 +764,7 @@ make-version.pl [options] [source directory] --help, -h This help message --get-vcs, -g Print the VCS revision and source. --set-vcs, -s Set the information in version.h + --print-vcs Print the vcs version to standard output --set-version, -v Set the major, minor, and micro versions in configure.ac, config.nmake, debian/changelog, and docbook/asciidoc.conf. diff --git a/version.h.in b/version.h.in new file mode 100644 index 0000000000..15de02837f --- /dev/null +++ b/version.h.in @@ -0,0 +1 @@ +@VERSION_H_CONTENT@ diff --git a/wsutil/CMakeLists.txt b/wsutil/CMakeLists.txt index 2d0de5af01..76d775fe05 100644 --- a/wsutil/CMakeLists.txt +++ b/wsutil/CMakeLists.txt @@ -214,8 +214,6 @@ add_library(wsutil ${LINK_MODE_LIB} ${CMAKE_BINARY_DIR}/image/libwsutil.rc ) -add_dependencies(wsutil gitversion) - set(FULL_SO_VERSION "0.0.0") set_target_properties(wsutil PROPERTIES |