$NetBSD: patch-CMakeLists.txt,v 1.2 2025/05/16 19:43:58 wiz Exp $ * Use system dependencies instead of vcpkg * Fix install directories * Install inotify conf file only on Linux --- CMakeLists.txt.orig 2025-01-30 14:04:12.000000000 +0100 +++ CMakeLists.txt @@ -39,7 +39,7 @@ execute_process( ) endif() -if((NOT WIN32 OR BASH_VERSION_RESULT EQUAL 0) AND NOT EXISTS ${VCPKG_ROOT}) +if(VCPKG_ROOT AND (NOT WIN32 OR BASH_VERSION_RESULT EQUAL 0) AND NOT EXISTS ${VCPKG_ROOT}) message(STATUS "vcpkg will be cloned into ${VCPKG_ROOT}") execute_process( #TODO: have the same for windows ... or at least check if bash is available @@ -134,8 +134,8 @@ if(UNIX AND NOT APPLE) # If CMAKE_INSTALL_PREFIX is not set, it will set rpath to /opt/.... # Note: using cmake --install --prefix /some/prefix will not set rpath relative to that prefix # The above can be used for building packages: in which install dir is a path construction folder that will not be there in packages - set(CMAKE_INSTALL_LIBDIR "opt/megacmd/lib") - set(CMAKE_INSTALL_BINDIR "usr/bin") #override default "bin" + set(CMAKE_INSTALL_LIBDIR "lib") + set(CMAKE_INSTALL_BINDIR "bin") #override default "bin" if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) message(STATUS "Overriding default CMAKE_INSTALL_PREFIX to /") @@ -457,27 +457,31 @@ elseif(NOT WIN32) PATTERN "win" EXCLUDE) install(FILES "${CMAKE_CURRENT_LIST_DIR}/src/client/megacmd_completion.sh" - DESTINATION "etc/bash_completion.d" + DESTINATION "share/bash-completion/completions" ) - # generate 100-megacmd-inotify-limit.conf file and have it installed - execute_process(COMMAND echo "fs.inotify.max_user_watches = 524288" + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + # generate 100-megacmd-inotify-limit.conf file and have it installed + execute_process(COMMAND echo "fs.inotify.max_user_watches = 524288" OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/99-megacmd-inotify-limit.conf) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/99-megacmd-inotify-limit.conf - DESTINATION "etc/sysctl.d" - ) - - #Install vcpkg dynamic libraries in locations defined by GNUInstallDirs. - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - SET(vcpkg_lib_folder "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/") - else() - SET(vcpkg_lib_folder "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/") + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/99-megacmd-inotify-limit.conf + DESTINATION "etc/sysctl.d" + ) endif() - install(DIRECTORY "${vcpkg_lib_folder}" + + if(VCPKG_ROOT) + #Install vcpkg dynamic libraries in locations defined by GNUInstallDirs. + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + SET(vcpkg_lib_folder "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/") + else() + SET(vcpkg_lib_folder "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/") + endif() + install(DIRECTORY "${vcpkg_lib_folder}" DESTINATION ${CMAKE_INSTALL_LIBDIR} FILES_MATCHING PATTERN "lib*.so*" PATTERN "*dylib*" #macOS PATTERN "manual-link" EXCLUDE PATTERN "pkgconfig" EXCLUDE) + endif() endif() #not WIN32