diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e9afd5cadfb..c6d19de46fd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,15 +144,16 @@ endif() if(WIN32) set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation root directory") -else(WIN32) + set(CMAKE_INSTALL_BINDIR bin CACHE PATH "Output directory for executables") + set(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files") + set(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files") + set(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files") + # Don't set it without manual adoption of LibDir variable in src/App/FreeCADInit.py + set(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries") +else() set(CMAKE_INSTALL_PREFIX "/usr/lib${LIB_SUFFIX}/freecad" CACHE PATH "Installation root directory") -endif(WIN32) - -set(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files") -set(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files") -set(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files") -# Don't set it without manual adoption of LibDir variable in src/App/FreeCADInit.py -set(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries") + include(GNUInstallDirs) +endif() set(PYCXX_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/src" CACHE PATH @@ -166,6 +167,7 @@ set(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}") set(DOCDIR "${CMAKE_INSTALL_DOCDIR}") message(STATUS "prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "bindir: ${CMAKE_INSTALL_BINDIR}") message(STATUS "datadir: ${CMAKE_INSTALL_DATADIR}") message(STATUS "docdir: ${CMAKE_INSTALL_DOCDIR}") message(STATUS "includedir: ${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/src/3rdParty/salomesmesh/CMakeLists.txt b/src/3rdParty/salomesmesh/CMakeLists.txt index 54cfeddb897f..4ea0753431ec 100644 --- a/src/3rdParty/salomesmesh/CMakeLists.txt +++ b/src/3rdParty/salomesmesh/CMakeLists.txt @@ -403,8 +403,8 @@ endif (BUILD_FEM_NETGEN) if(WIN32) INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32) INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers @@ -415,8 +415,8 @@ endif(WIN32) if (BUILD_FEM_NETGEN) if(WIN32) INSTALL(TARGETS NETGENPlugin - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32) INSTALL(TARGETS NETGENPlugin diff --git a/src/App/CMakeLists.txt b/src/App/CMakeLists.txt index 0b97d641ca2e..5dd583abb73f 100644 --- a/src/App/CMakeLists.txt +++ b/src/App/CMakeLists.txt @@ -299,7 +299,7 @@ SET_BIN_DIR(FreeCADApp FreeCADApp) if(WIN32) INSTALL(TARGETS FreeCADApp - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32) diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 94f1e3d6b999..9124fa0eb713 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -398,7 +398,7 @@ SET_BIN_DIR(FreeCADBase FreeCADBase) if(WIN32) INSTALL(TARGETS FreeCADBase - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32) diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index 4377289b78be..b709ecbccf98 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -1323,21 +1323,28 @@ SET_BIN_DIR(FreeCADGui FreeCADGui) if(WIN32) INSTALL(TARGETS FreeCADGui - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32) INSTALL(TARGETS FreeCADGui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) - INSTALL(FILES Icons/freecad.xpm - Icons/freecad-icon-16.png - Icons/freecad-icon-32.png - Icons/freecad-icon-48.png - Icons/freecad-icon-64.png - Icons/freecad.svg - Icons/freecad-doc.png - DESTINATION ${CMAKE_INSTALL_DATADIR} - ) + #INSTALL(FILES Icons/freecad.xpm + # Icons/freecad-icon-16.png + # Icons/freecad-icon-32.png + # Icons/freecad-icon-48.png + # Icons/freecad-icon-64.png + # Icons/freecad.svg + # Icons/freecad-doc.png + # DESTINATION ${CMAKE_INSTALL_DATADIR} + #) + INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps RENAME freecad.png) + INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps RENAME freecad.png) + INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps RENAME freecad.png) + INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps RENAME freecad.png) + INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps) + INSTALL(FILES Icons/freecad.xpm DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps) + INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg) endif(WIN32) diff --git a/src/Main/CMakeLists.txt b/src/Main/CMakeLists.txt index 0907ad2b385f..56033ad8bd60 100644 --- a/src/Main/CMakeLists.txt +++ b/src/Main/CMakeLists.txt @@ -54,7 +54,7 @@ if(BUILD_GUI) if(WIN32) INSTALL(TARGETS FreeCADMain - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) elseif(APPLE AND NOT BUILD_WITH_CONDA) @@ -64,7 +64,7 @@ if(BUILD_GUI) ) else() INSTALL(TARGETS FreeCADMain - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) endif() endif(BUILD_GUI) @@ -107,7 +107,7 @@ SET_BIN_DIR(FreeCADMainCmd FreeCADCmd) if(WIN32) INSTALL(TARGETS FreeCADMainCmd - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) elseif(APPLE AND NOT BUILD_WITH_CONDA) @@ -117,7 +117,7 @@ elseif(APPLE AND NOT BUILD_WITH_CONDA) ) else() INSTALL(TARGETS FreeCADMainCmd - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) endif() @@ -136,7 +136,7 @@ SET_PYTHON_PREFIX_SUFFIX(FreeCADMainPy) if(WIN32) INSTALL(TARGETS FreeCADMainPy - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32) @@ -167,7 +167,7 @@ if(BUILD_GUI) if(WIN32) INSTALL(TARGETS FreeCADGuiPy - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) else(WIN32)