forked from hasufell/hasufell-repository
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From f418b9530c9a1d3723d599147d6e12c630cebb51 Mon Sep 17 00:00:00 2001
 | |
| From: Julian Ospald <hasufell@posteo.de>
 | |
| Date: Fri, 2 Feb 2018 14:13:24 +0100
 | |
| Upstream: declined, https://github.com/ja2-stracciatella/ja2-stracciatella/pull/703
 | |
| Subject: [PATCH] BUILD: fix install paths by utilizing GNUInstallDirs
 | |
| 
 | |
| ---
 | |
|  CMakeLists.txt | 35 ++++++++++++++++++++++-------------
 | |
|  1 file changed, 22 insertions(+), 13 deletions(-)
 | |
| 
 | |
| diff --git a/CMakeLists.txt b/CMakeLists.txt
 | |
| index f354370..9ad99f7 100644
 | |
| --- a/CMakeLists.txt
 | |
| +++ b/CMakeLists.txt
 | |
| @@ -19,6 +19,11 @@ set(JA2_BINARY "ja2")
 | |
|  set(LAUNCHER_BINARY "ja2-launcher")
 | |
|  set(CMAKE_CXX_STANDARD 98)
 | |
|  
 | |
| +## includes
 | |
| +if (UNIX AND NOT MINGW AND NOT APPLE)
 | |
| +	include(GNUInstallDirs)
 | |
| +endif()
 | |
| +
 | |
|  ## Versioning
 | |
|  
 | |
|  set(ja2-stracciatella_VERSION_MAJOR "0")
 | |
| @@ -36,8 +41,16 @@ if (NOT CMAKE_BUILD_TYPE)
 | |
|      set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: Debug RelWithDebInfo." FORCE)
 | |
|  endif()
 | |
|  set(VERSION_TAG "" CACHE STRING "Build date for nightly versioning")
 | |
| -set(EXTRA_DATA_DIR "" CACHE STRING "Directory for externalized data")
 | |
| -set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
 | |
| +if (UNIX AND NOT MINGW AND NOT APPLE)
 | |
| +	set(EXTRA_DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}/ja2" CACHE STRING "Directory for externalized data (usually just set CMAKE_INSTALL_DATADIR instead)")
 | |
| +else()
 | |
| +	set(EXTRA_DATA_DIR "" CACHE STRING "Directory for externalized data")
 | |
| +endif()
 | |
| +if (UNIX AND NOT MINGW AND NOT APPLE)
 | |
| +	set(INSTALL_LIB_DIR ${CMAKE_INSTALL_FULL_LIBDIR})
 | |
| +else()
 | |
| +	set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
 | |
| +endif()
 | |
|  set(LOCAL_SDL_LIB "" CACHE STRING "Use local SDL library from this directory")
 | |
|  set(LIBSTRACCIATELLA_TARGET "" CACHE STRING "Rust target architecture for libstracciatella")
 | |
|  option(LOCAL_FLTK_LIB "Build with fltk lib" OFF)
 | |
| @@ -316,22 +329,18 @@ set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}_${CPACK_PACKAGE_VERSION}_${PACKAGE_
 | |
|  include(CPack)
 | |
|  
 | |
|  if (UNIX AND NOT MINGW AND NOT APPLE)
 | |
| -    install(TARGETS ${JA2_BINARY} RUNTIME DESTINATION bin)
 | |
| +	install(TARGETS ${JA2_BINARY} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 | |
|      if(BUILD_LAUNCHER)
 | |
| -        install(TARGETS ${LAUNCHER_BINARY} RUNTIME DESTINATION bin)
 | |
| +        install(TARGETS ${LAUNCHER_BINARY} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 | |
|      endif()
 | |
| -    install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/assets/externalized assets/mods assets/unittests DESTINATION share/ja2)
 | |
| -    install(FILES ${STRACCIATELLA_SHARED_LIB} DESTINATION ${INSTALL_LIB_DIR})
 | |
| -    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/distr-files-linux/ja2-stracciatella.desktop DESTINATION share/applications)
 | |
| +	install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/assets/externalized assets/mods assets/unittests DESTINATION ${CMAKE_INSTALL_DATADIR}/ja2)
 | |
| +    install(FILES ${STRACCIATELLA_SHARED_LIB} DESTINATION ${CMAKE_INSTALL_LIBDIR})
 | |
| +    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/distr-files-linux/ja2-stracciatella.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
 | |
|      install(
 | |
|          FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/icons/logo.svg
 | |
|          RENAME ja2-stracciatella.svg
 | |
| -        DESTINATION share/icons/hicolor/scalable/apps)
 | |
| -    if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|DragonFly|OpenBSD")
 | |
| -        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/distr-files-linux/ja2_manpage DESTINATION man/man6 RENAME ja2.6)
 | |
| -    else()
 | |
| -        install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/distr-files-linux/ja2_manpage DESTINATION share/man/man6 RENAME ja2.6)
 | |
| -    endif()
 | |
| +        DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps)
 | |
| +	install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/distr-files-linux/ja2_manpage DESTINATION ${CMAKE_INSTALL_MANDIR}/man6 RENAME ja2.6)
 | |
|  else()
 | |
|      install(TARGETS ${JA2_BINARY} RUNTIME DESTINATION .)
 | |
|      if(BUILD_LAUNCHER)
 | |
| -- 
 | |
| 2.16.1
 | |
| 
 |