From 9b19f9225460472af9d98959b7217d0a840ee972 Mon Sep 17 00:00:00 2001 From: nightwalker-87 <15526941+Nightwalker-87@users.noreply.github.com> Date: Tue, 21 Apr 2020 14:49:25 +0200 Subject: [PATCH] Fixed compilation errors - Moved include of GNUInstallDirs module in cmake-routine - Removed old ci-leftover in Makefile - cmake: Fixed name pattern for libusb module (Fixes #940) - Wrong command option formatting for 7zip (Fixes #936) Extraction of downloaded libusb archive on Windows failed since commit a8c1f41f1b1c9dd1314f99a1d42de1008f5a4f74. --- CMakeLists.txt | 6 ++---- Makefile | 2 +- .../modules/{Find_7zip.cmake => Find7zip.cmake} | 2 +- .../{Find_libusb.cmake => Findlibusb.cmake} | 16 ++++++++-------- 4 files changed, 12 insertions(+), 14 deletions(-) rename cmake/modules/{Find_7zip.cmake => Find7zip.cmake} (91%) rename cmake/modules/{Find_libusb.cmake => Findlibusb.cmake} (92%) diff --git a/CMakeLists.txt b/CMakeLists.txt index ccb5fefa9..fd79ac10e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,9 +8,6 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_SOURCE_DIR}/cmake/modules") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -# Define GNU standard installation directories -include(GNUInstallDirs) - ### # General project settings @@ -18,6 +15,7 @@ include(GNUInstallDirs) project(stlink C) set(PROJECT_DESCRIPTION "Open source version of the STMicroelectronics ST-LINK Tools") +include(GNUInstallDirs) # Define GNU standard installation directories set(STLINK_UDEV_RULES_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/udev/rules.d" CACHE PATH "udev rules directory") set(STLINK_MODPROBED_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/modprobe.d" CACHE PATH "modprobe.d directory") @@ -67,7 +65,7 @@ endif () # Dependencies ### -find_package(_libusb REQUIRED) +find_package(libusb REQUIRED) if (NOT WIN32 AND NOT CMAKE_CROSSCOMPILING) find_package(PkgConfig) diff --git a/Makefile b/Makefile index 5272c74d2..444f1920b 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ MAKEFLAGS += -s CMAKEFLAGS += all: release -ci: debug release binary test +ci: debug release test help: @echo " debug: Run a debug build" diff --git a/cmake/modules/Find_7zip.cmake b/cmake/modules/Find7zip.cmake similarity index 91% rename from cmake/modules/Find_7zip.cmake rename to cmake/modules/Find7zip.cmake index c75cf1150..83eb912d4 100644 --- a/cmake/modules/Find_7zip.cmake +++ b/cmake/modules/Find7zip.cmake @@ -1,4 +1,4 @@ -# Find_7zip.cmake +# Find7zip.cmake # Detect 7zip file archiver on Windows systems to extract (zip-)archives find_program( diff --git a/cmake/modules/Find_libusb.cmake b/cmake/modules/Findlibusb.cmake similarity index 92% rename from cmake/modules/Find_libusb.cmake rename to cmake/modules/Findlibusb.cmake index d9dd706c8..13f70d7b7 100644 --- a/cmake/modules/Find_libusb.cmake +++ b/cmake/modules/Findlibusb.cmake @@ -1,4 +1,4 @@ -# Find_libusb.cmake +# Findlibusb.cmake # Once done this will define # # LIBUSB_FOUND libusb present on system @@ -19,7 +19,7 @@ if (APPLE) # macOS LIBUSB_LIBRARY NAMES ${LIBUSB_NAME} HINTS /usr /usr/local /opt ) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARY) if (NOT LIBUSB_FOUND) message(FATAL_ERROR "No libusb library found on your system! Install libusb-1.0 from Homebrew or MacPorts") @@ -35,7 +35,7 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") # FreeBSD; libusb is integrated LIBUSB_LIBRARY NAMES ${LIBUSB_NAME} HINTS /usr /usr/local /opt ) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARY) if (NOT LIBUSB_FOUND) message(FATAL_ERROR "Expected libusb library not found on your system! Verify your system integrity.") @@ -73,7 +73,7 @@ elseif (WIN32) # Windows if (NOT LIBUSB_FOUND OR EXISTS "/etc/debian_version") # Preparations for installing libusb library - find_package(_7zip REQUIRED) + find_package(7zip REQUIRED) set(LIBUSB_WIN_VERSION 1.0.23) # set libusb version set(LIBUSB_WIN_ARCHIVE libusb-${LIBUSB_WIN_VERSION}.7z) set(LIBUSB_WIN_ARCHIVE_PATH ${CMAKE_BINARY_DIR}/${LIBUSB_WIN_ARCHIVE}) @@ -100,8 +100,8 @@ elseif (WIN32) # Windows ) else () execute_process( - COMMAND ${ZIP_EXECUTABLE} x -y ${LIBUSB_WIN_ARCHIVE_PATH} -o ${LIBUSB_WIN_OUTPUT_FOLDER} - ) + COMMAND ${ZIP_EXECUTABLE} x -y ${LIBUSB_WIN_ARCHIVE_PATH} -o${LIBUSB_WIN_OUTPUT_FOLDER} + ) # <-- Note the absence of a space character following the -o option! endif () # Find path to libusb library @@ -131,7 +131,7 @@ elseif (WIN32) # Windows endif () message(STATUS "Missing libusb library has been installed") endif () - FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARY) else () # all other OS (unix-based) @@ -145,7 +145,7 @@ else () # all other OS (unix-based) LIBUSB_LIBRARY NAMES ${LIBUSB_NAME} HINTS /usr /usr/local /opt ) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(libusb DEFAULT_MSG LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR) mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARY) if (NOT LIBUSB_FOUND)