Automated with: git grep -l qttools | xargs sed 's/\bqttools\b/\0-5/g' -i git checkout NEWS
		
			
				
	
	
		
			131 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
This is a backport of the commits in PR 235 (“Fixes for packaging on
 | 
						|
linux-like systems”), which was merged upstream:
 | 
						|
 | 
						|
https://github.com/opengribs/XyGrib/pull/235
 | 
						|
 | 
						|
It fixes finding resources such as icons, maps and translations installed in
 | 
						|
the data directory.  This patch has been merged upstream and can be removed
 | 
						|
with the next release.
 | 
						|
 | 
						|
Sightly adapted to find openjpg-2.4.
 | 
						|
 | 
						|
diff --git a/CMakeLists.txt b/CMakeLists.txt
 | 
						|
index 64059ab65dae..00cc5d6aea6f 100644
 | 
						|
--- a/CMakeLists.txt
 | 
						|
+++ b/CMakeLists.txt
 | 
						|
@@ -7,6 +7,9 @@ set(VERSION_PATCH 6)
 | 
						|
 set(XYGRIB_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
 | 
						|
 set(XYGRIB_VERSION_DATE "2019-07-05")
 | 
						|
 
 | 
						|
+option(GNU_PACKAGE "Install into GNU standard directories" OFF)
 | 
						|
+option(GEN_TRANSLATIONS "Generate translations" ON)
 | 
						|
+
 | 
						|
 set(CMAKE_VERBOSE_MAKEFILE ON)
 | 
						|
 
 | 
						|
 # Find includes in corresponding build directories
 | 
						|
@@ -25,7 +28,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
 | 
						|
 set(CMAKE_CXX_STANDARD 11)
 | 
						|
 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
 | 
						|
 if(UNIX AND NOT APPLE)
 | 
						|
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC")
 | 
						|
+add_compile_options(-Wall -fPIC)
 | 
						|
 endif()
 | 
						|
 
 | 
						|
 # Add support for address etc sanitizers, part 1/2 (other half after ADD_EXECUTABLE)
 | 
						|
@@ -108,17 +111,12 @@ find_path(OPENJPEG_INCLUDE_DIR
 | 
						|
      ~/Library/Frameworks/include
 | 
						|
      /Library/Frameworks/include
 | 
						|
      /usr/local/include
 | 
						|
-     /usr/local/include/openjpeg-2.3
 | 
						|
-     /usr/include/openjpeg-2.3
 | 
						|
-     /usr/local/include/openjpeg-2.1
 | 
						|
-     /usr/include/openjpeg-2.1
 | 
						|
-     /usr/local/include/openjpeg-2.2
 | 
						|
-     /usr/include/openjpeg-2.2
 | 
						|
      /usr/include
 | 
						|
      /sw/include # Fink
 | 
						|
      /opt/local/include # DarwinPorts
 | 
						|
      /opt/csw/include # Blastwave
 | 
						|
      /opt/include
 | 
						|
+     PATH_SUFFIXES openjpeg-2.4 openjpeg-2.3 openjpeg-2.2 openjpeg-2.1
 | 
						|
      REQUIRED
 | 
						|
  )
 | 
						|
 include_directories(${OPENJPEG_INCLUDE_DIR})
 | 
						|
@@ -212,22 +210,24 @@ include_directories(${PNG_INCLUDE_DIR})
 | 
						|
 configure_file(cmake/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include/Version.h)
 | 
						|
 include_directories(${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include)
 | 
						|
 
 | 
						|
-if(APPLE)
 | 
						|
-set(PREFIX_BIN ${PROJECT_NAME})
 | 
						|
-set(PREFIX_PKGDATA ${PROJECT_NAME})
 | 
						|
-endif()
 | 
						|
-if(WIN32)
 | 
						|
-set(PREFIX_BIN ".")
 | 
						|
-set(PREFIX_PKGDATA ".")
 | 
						|
-endif()
 | 
						|
-if(UNIX AND NOT APPLE)
 | 
						|
-# This is not exactly a good idea on linux - the code should be changed so that the executable would go to /usr/local/bin and the data to /usr/local/share/XyGrib
 | 
						|
-set(PREFIX_BIN ${PROJECT_NAME})
 | 
						|
-set(PREFIX_PKGDATA ${PROJECT_NAME})
 | 
						|
+if(GNU_PACKAGE)
 | 
						|
+    include(GNUInstallDirs)
 | 
						|
+    set(PREFIX_BIN ${CMAKE_INSTALL_FULL_BINDIR})
 | 
						|
+    set(PREFIX_PKGDATA ${CMAKE_INSTALL_FULL_DATADIR}/openGribs/${PROJECT_NAME})
 | 
						|
+else()
 | 
						|
+    if(WIN32)
 | 
						|
+        set(PREFIX_BIN ".")
 | 
						|
+        set(PREFIX_PKGDATA ".")
 | 
						|
+    else()
 | 
						|
+        set(PREFIX_BIN ${PROJECT_NAME})
 | 
						|
+        set(PREFIX_PKGDATA ${PROJECT_NAME})
 | 
						|
+    endif()
 | 
						|
 endif()
 | 
						|
 
 | 
						|
 add_subdirectory(src)
 | 
						|
-add_subdirectory(data/tr)
 | 
						|
+if(GEN_TRANSLATIONS)
 | 
						|
+    add_subdirectory(data/tr)
 | 
						|
+endif()
 | 
						|
 
 | 
						|
 # Installation
 | 
						|
 # macOS bundle parameters
 | 
						|
@@ -241,4 +241,14 @@ set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STR
 | 
						|
 set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${XYGRIB_VERSION}")
 | 
						|
 set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_COPYRIGHT "${PROJECT_NAME} Authors")
 | 
						|
 # Install data
 | 
						|
-install(DIRECTORY data DESTINATION ${PREFIX_PKGDATA})
 | 
						|
+install(DIRECTORY data DESTINATION ${PREFIX_PKGDATA}
 | 
						|
+        PATTERN "CMakeFiles" EXCLUDE
 | 
						|
+        PATTERN "CMakeLists.txt" EXCLUDE
 | 
						|
+        PATTERN "Makefile" EXCLUDE
 | 
						|
+        PATTERN "cmake_install.cmake" EXCLUDE)
 | 
						|
+if(GNU_PACKAGE)
 | 
						|
+    install(FILES debian/xygrib.desktop
 | 
						|
+            DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/applications)
 | 
						|
+    install(FILES debian/xygrib.png
 | 
						|
+            DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/pixmaps)
 | 
						|
+endif()
 | 
						|
diff --git a/INSTALL.md b/INSTALL.md
 | 
						|
index 2c9d3ab4da03..1190cc780182 100644
 | 
						|
--- a/INSTALL.md
 | 
						|
+++ b/INSTALL.md
 | 
						|
@@ -22,7 +22,19 @@ https://gihub.com/opengribs/XyGrib/releases or on https://opengribs.org in the d
 | 
						|
   - openSUSE Tumbleweed: `sudo zypper install gcc git cmake libqt5-qtbase-devel libpng-devel openjpeg2-devel libnova-devel libproj-devel zlib-devel libbz2-devel
 | 
						|
 
 | 
						|
 ## Build and package
 | 
						|
+### Options
 | 
						|
 
 | 
						|
+XyGrib has two CMake options
 | 
						|
+- GNU_PACKAGE (DEFAULT: OFF)
 | 
						|
+```
 | 
						|
+Files will be installed in GNU standard installation directories such as prefix/bin and prefix/share.
 | 
						|
+Packagers are recommended to test this option.
 | 
						|
+```
 | 
						|
+- GEN_TRANSLATION (DEFAULT: ON)
 | 
						|
+```
 | 
						|
+Create targets to generate translation files.
 | 
						|
+Turning this off removes the need for qt-linguist, part of qttools-5 qt5 submodule, during build.
 | 
						|
+```
 | 
						|
 ### macOS
 | 
						|
 
 | 
						|
 - Get the source
 |