diff --git a/CMakeLists.txt b/CMakeLists.txt index 601ddf63a..bfcecf798 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,13 +97,25 @@ set(SDRPP_MODULE_COMPILER_FLAGS ${SDRPP_COMPILER_FLAGS}) # Set a default install prefix if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + if (MSVC) + set(CMAKE_INSTALL_PREFIX "C:/Program Files/SDR++/" CACHE PATH "..." FORCE) + elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "..." FORCE) else() set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE) endif() endif() +# Set up the standard install directories +if (MSVC) + set(CMAKE_INSTALL_BINDIR "/") + set(CMAKE_INSTALL_LIBDIR "/") + set(CMAKE_INSTALL_INCLUDEDIR "include") + set(CMAKE_INSTALL_DATAROOTDIR "/") +else() + include(GNUInstallDirs) +endif() + # Configure toolchain for android if (ANDROID) set(CMAKE_SHARED_LINKER_FLAGS @@ -364,16 +376,16 @@ endif () configure_file(${CMAKE_SOURCE_DIR}/sdrpp_module.cmake ${CMAKE_CURRENT_BINARY_DIR}/sdrpp_module.cmake @ONLY) # Install directives -install(TARGETS sdrpp DESTINATION bin) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/bandplans DESTINATION share/sdrpp) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/colormaps DESTINATION share/sdrpp) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/fonts DESTINATION share/sdrpp) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/icons DESTINATION share/sdrpp) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/themes DESTINATION share/sdrpp) +install(TARGETS sdrpp DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/bandplans DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/sdrpp) +install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/colormaps DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/sdrpp) +install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/fonts DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/sdrpp) +install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/icons DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/sdrpp) +install(DIRECTORY ${CMAKE_SOURCE_DIR}/root/res/themes DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/sdrpp) configure_file(${CMAKE_SOURCE_DIR}/sdrpp.desktop ${CMAKE_CURRENT_BINARY_DIR}/sdrpp.desktop @ONLY) if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sdrpp.desktop DESTINATION share/applications) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sdrpp.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications) endif () # Create uninstall target diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index f194d7aed..213f03ad3 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -167,4 +167,4 @@ set(CORE_FILES ${RUNTIME_OUTPUT_DIRECTORY} PARENT_SCOPE) # cmake .. "-DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake" # Install directives -install(TARGETS sdrpp_core DESTINATION lib) \ No newline at end of file +install(TARGETS sdrpp_core DESTINATION ${CMAKE_INSTALL_LIBDIR}) \ No newline at end of file diff --git a/sdrpp_module.cmake b/sdrpp_module.cmake index a14a1bb80..5f0a2c16d 100644 --- a/sdrpp_module.cmake +++ b/sdrpp_module.cmake @@ -16,4 +16,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") target_compile_options(${PROJECT_NAME} PRIVATE ${SDRPP_MODULE_COMPILER_FLAGS}) # Install directives -install(TARGETS ${PROJECT_NAME} DESTINATION lib/sdrpp/plugins) \ No newline at end of file +install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sdrpp/plugins) \ No newline at end of file