Skip to content

Commit 8270021

Browse files
author
Tommaso Vinci
committed
automatic versioning
1 parent f473612 commit 8270021

File tree

6 files changed

+49
-58
lines changed

6 files changed

+49
-58
lines changed

CMakeLists.txt

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10" CACHE STRING "Minimum OS X deployment ve
88
### top level compile options
99
project (Neutrino CXX)
1010

11-
set(${PROJECT_NAME}_VERSION_MAJOR "2")
12-
set(${PROJECT_NAME}_VERSION_MINOR "1")
13-
1411
#############################
1512

1613
option(NEUTRINOPLUGINS "Compile Neutrino plugins" ON)
@@ -20,7 +17,40 @@ if (CMAKE_BUILD_TYPE STREQUAL "")
2017
set (CMAKE_BUILD_TYPE "Release")
2118
endif()
2219

23-
message(STATUS "Neutrino build type: ${CMAKE_BUILD_TYPE}")
20+
#versioning
21+
find_package(Git REQUIRED)
22+
if (GIT_FOUND)
23+
#How many commits since last version tag
24+
execute_process(COMMAND ${GIT_EXECUTABLE} describe --match "v[0-9]*\\.[0-9]*" --abbrev=0
25+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
26+
RESULT_VARIABLE NOT_GOOD_TAG
27+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_GIT_VER
28+
OUTPUT_STRIP_TRAILING_WHITESPACE)
29+
30+
if (${NOT_GOOD_TAG})
31+
set(${PROJECT_NAME}_VERSION "1.0")
32+
MESSAGE(WARNING "Cannot find a matching tag imposing ${${PROJECT_NAME}_VERSION}")
33+
else()
34+
string(REGEX REPLACE "^v([0-9]*)\\.([0-9]*)" "\\1.\\2" ${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_GIT_VER}")
35+
endif()
36+
37+
38+
execute_process(COMMAND ${GIT_EXECUTABLE} rev-list --count ${${PROJECT_NAME}_VERSION_GIT_VER}
39+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
40+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_AHEAD
41+
OUTPUT_STRIP_TRAILING_WHITESPACE)
42+
43+
set(${PROJECT_NAME}_VERSION_AHEAD "${${PROJECT_NAME}_VERSION}+${${PROJECT_NAME}_VERSION_AHEAD}")
44+
45+
# Get current commit SHA from git
46+
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
47+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
48+
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_GIT_SHA
49+
OUTPUT_STRIP_TRAILING_WHITESPACE)
50+
51+
52+
53+
endif(GIT_FOUND)
2454

2555
if(UNIX AND NOT APPLE)
2656
set(LINUX TRUE)
@@ -71,33 +101,7 @@ SET(CPACK_RESOURCE_FILE_LICENSE "${${PROJECT_NAME}_SOURCE_DIR}/LICENSE.txt")
71101
set(CPACK_PACKAGE_DESCRIPTION_FILE "${${PROJECT_NAME}_SOURCE_DIR}/README.md")
72102
set(CPACK_GENERATOR ZIP)
73103

74-
75-
#versioning
76-
find_package(Git REQUIRED)
77-
if (GIT_FOUND)
78-
# Get last tag from git
79-
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
80-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
81-
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_STRING
82-
OUTPUT_STRIP_TRAILING_WHITESPACE)
83-
84-
#How many commits since last tag
85-
execute_process(COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD
86-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
87-
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_AHEAD
88-
OUTPUT_STRIP_TRAILING_WHITESPACE)
89-
90-
# Get current commit SHA from git
91-
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
92-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
93-
OUTPUT_VARIABLE ${PROJECT_NAME}_VERSION_GIT_SHA
94-
OUTPUT_STRIP_TRAILING_WHITESPACE)
95-
endif(GIT_FOUND)
96-
97-
if(${NEUTRINOPLUGINS})
98-
set(CPACK_PACKAGE_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}+${${PROJECT_NAME}_VERSION_AHEAD}")
99-
else ()
100-
endif()
104+
set(CPACK_PACKAGE_VERSION "${${PROJECT_NAME}_VERSION_AHEAD}")
101105

102106
if (WIN32)
103107
list(APPEND CPACK_GENERATOR NSIS)

plugins/Wavelet/Wavelet.ui

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
<property name="currentIndex">
5858
<number>0</number>
5959
</property>
60-
<widget class="QWidget" name="Wavelet">
60+
<widget class="QWidget" name="widget_1">
6161
<attribute name="title">
6262
<string>Wavelet</string>
6363
</attribute>
@@ -1105,7 +1105,7 @@
11051105
</action>
11061106
<action name="actionCarrier">
11071107
<property name="icon">
1108-
<iconset>
1108+
<iconset resource="../GhostFringes/GhostFringes.qrc">
11091109
<normaloff>:/icons/refresh2.png</normaloff>:/icons/refresh2.png</iconset>
11101110
</property>
11111111
<property name="text">
@@ -1166,6 +1166,7 @@
11661166
</tabstops>
11671167
<resources>
11681168
<include location="../../../build-neutrinoMaster-Brew-Default/src/qrc/icons.qrc"/>
1169+
<include location="../GhostFringes/GhostFringes.qrc"/>
11691170
</resources>
11701171
<connections/>
11711172
</ui>

resources/cmake/NeutrinoPlugin.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ MACRO(ADD_NEUTRINO_PLUGIN)
77

88
PROJECT (${MY_PROJECT_NAME} CXX)
99

10-
MESSAGE(STATUS "Plugin => ${PROJECT_NAME}")
10+
MESSAGE(STATUS "Plugin : ${PROJECT_NAME}")
1111

1212
include(FindNeutrinoDeps)
1313

src/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ set(CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../UIs)
1616

1717
file(GLOB_RECURSE SOURCES *.cc *.cpp *.h)
1818

19+
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
20+
MESSAGE("SOURCES:\n${SOURCES}")
21+
endif()
22+
1923
list(LENGTH SOURCES LIST_LENGTH)
2024
message(STATUS "${LIST_LENGTH} source files")
2125

@@ -24,7 +28,8 @@ include(FindNeutrinoDeps)
2428
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_BINARY_DIR}/nPhysImage")
2529
set(LIBS ${LIBS} "nPhysImageF")
2630

27-
add_definitions(-D__VER_LATEST="${${PROJECT_NAME}_VERSION_GIT_SHA}")
31+
add_definitions(-D__VER="${${PROJECT_NAME}_VERSION_AHEAD}")
32+
add_definitions(-D__VER_SHA="${${PROJECT_NAME}_VERSION_GIT_SHA}")
2833

2934
if (APPLE AND NOT DEFINED Qt5_DIR)
3035
set(Qt5_DIR "/usr/local/opt/qt5/lib/cmake/Qt5")

src/nApp.cc

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,17 @@
22
#include "neutrino.h"
33
#include <QtNetwork>
44

5-
#ifdef __neutrino_key
6-
#include "nHash.h"
7-
#endif
8-
9-
10-
115
nApp::nApp( int &argc, char **argv ) : QApplication(argc, argv) {
126
QCoreApplication::setOrganizationName("ParisTech");
137
QCoreApplication::setOrganizationDomain("edu");
148
QCoreApplication::setApplicationName("Neutrino");
15-
QCoreApplication::setApplicationVersion(__VER_LATEST);
9+
QCoreApplication::setApplicationVersion(__VER);
1610

1711
#if defined(Q_OS_MAC)
1812
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
1913
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
2014
#endif
2115

22-
#ifdef __neutrino_key
23-
std::string hh = getNHash();
24-
qDebug() << "got nHash: "<< hh << std::endl;
25-
setProperty("nHash", hh.c_str());
26-
#endif
27-
2816
#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
2917
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
3018
#endif
@@ -57,7 +45,7 @@ void nApp::checkUpdates() {
5745

5846
QJsonObject responseObject = json.object();
5947
if (responseObject.contains("sha") && responseObject.value("sha").isString()) {
60-
QString compileSHA = QString(__VER_LATEST);
48+
QString compileSHA = QString(__VER_SHA);
6149
QString onlineSHA=responseObject.value("sha").toString();
6250
qDebug() << "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<";
6351
qDebug() << compileSHA;

src/neutrino.cc

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,7 @@ void neutrino::saveSession (QString fname) {
790790
progress.show();
791791

792792
std::ofstream ofile(fname.toUtf8().constData(), std::ios::out | std::ios::binary);
793-
ofile << "Neutrino " << __VER_LATEST << " " << my_w->my_view->physList.size() << " " << panList.size() << std::endl;
793+
ofile << "Neutrino " << __VER << " " << my_w->my_view->physList.size() << " " << panList.size() << std::endl;
794794

795795
for (int i=0;i<my_w->my_view->physList.size(); i++) {
796796
if (progress.wasCanceled()) break;
@@ -1737,14 +1737,7 @@ void neutrino::about() {
17371737
connect(my_about.buttonBox, SIGNAL(accepted()), &myabout, SLOT(close()));
17381738
connect(my_about.buttonBox, SIGNAL(rejected()), &myabout, SLOT(close()));
17391739

1740-
my_about.version->setText(QString(__VER_LATEST));
1741-
#ifdef __neutrino_key
1742-
QString serial(qApp->property("nHash").toString());
1743-
// copy serial to clipboard
1744-
myabout.label->setText(myabout.label->text()+"\nSerial number:"+serial);
1745-
QApplication::clipboard()->setText(serial);
1746-
#endif
1747-
1740+
my_about.version->setText(QApplication::applicationVersion());
17481741
my_about.creditsText->setLineWrapMode(QTextEdit::FixedColumnWidth);
17491742
my_about.creditsText->setLineWrapColumnOrWidth(80);
17501743
QScrollBar *vScrollBar = my_about.creditsText->verticalScrollBar();

0 commit comments

Comments
 (0)