From bf84cf0dcf87b25181e604ad6e22a0c5cdd0fe9b Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Tue, 12 Dec 2017 14:24:34 -0500 Subject: [PATCH] Cygwin: use relative paths where needed --- cmake/cygwin_cygpath.cmake | 50 --------------------------- platforms/nuttx/CMakeLists.txt | 13 +++---- src/drivers/px4io/CMakeLists.txt | 10 ++---- src/modules/mavlink/mavlink_shell.cpp | 1 - 4 files changed, 8 insertions(+), 66 deletions(-) delete mode 100644 cmake/cygwin_cygpath.cmake diff --git a/cmake/cygwin_cygpath.cmake b/cmake/cygwin_cygpath.cmake deleted file mode 100644 index 238cfba93a..0000000000 --- a/cmake/cygwin_cygpath.cmake +++ /dev/null @@ -1,50 +0,0 @@ -############################################################################ -# -# Copyright (c) 2017 PX4 Development Team. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name PX4 nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -#============================================================================= -# -# Converts a cygwin path (/cygdrive/c/...) to a mixed windows path (C:/...) -# -# It is called on every platform but only adjusts the output when -# called inside the cygwin environment. -# - -macro (CYGPATH _path _cygpath) - if (CMAKE_HOST_SYSTEM_NAME STREQUAL CYGWIN) - EXECUTE_PROCESS(COMMAND cygpath.exe -m ${${_path}} - OUTPUT_VARIABLE ${_cygpath}) - string (STRIP ${${_cygpath}} ${_cygpath}) - else() - set(${_cygpath} ${${_path}}) - endif () -endmacro (CYGPATH) diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt index 732293808a..38bf557c01 100644 --- a/platforms/nuttx/CMakeLists.txt +++ b/platforms/nuttx/CMakeLists.txt @@ -1,5 +1,4 @@ include(common/px4_upload) -include(cygwin_cygpath) if (NOT FW_NAME) set(FW_NAME ${CONFIG}.elf) @@ -36,13 +35,9 @@ if (NOT LD_SCRIPT) set(LD_SCRIPT ld.script) endif() -# only in the cygwin environment: convert paths for -# linker script, map file and binary output to mixed windows paths (C:/...) -CYGPATH(PX4_BINARY_DIR PX4_BINARY_DIR_CYG) - target_link_libraries(${FW_NAME} - -T${PX4_BINARY_DIR_CYG}/NuttX/nuttx/configs/${BOARD}/scripts/${LD_SCRIPT} - -Wl,-Map=${PX4_BINARY_DIR_CYG}/${CONFIG}.map + -TNuttX/nuttx/configs/${BOARD}/scripts/${LD_SCRIPT} + -Wl,-Map=${CONFIG}.map -Wl,--warn-common -Wl,--gc-sections -Wl,--start-group @@ -66,8 +61,10 @@ set(fw_file ${PX4_BINARY_DIR}/${FW_NAME}) string(REPLACE ".elf" ".px4" fw_file ${fw_file}) string(REPLACE "nuttx_" "" fw_file ${fw_file}) +file(RELATIVE_PATH PX4_BINARY_DIR_REL ${CMAKE_CURRENT_BINARY_DIR} ${PX4_BINARY_DIR}) + add_custom_command(OUTPUT ${BOARD}.bin - COMMAND ${OBJCOPY} -O binary ${PX4_BINARY_DIR_CYG}/${FW_NAME} ${BOARD}.bin + COMMAND ${OBJCOPY} -O binary ${PX4_BINARY_DIR_REL}/${FW_NAME} ${BOARD}.bin DEPENDS ${FW_NAME} ) diff --git a/src/drivers/px4io/CMakeLists.txt b/src/drivers/px4io/CMakeLists.txt index d500cc77f8..3f91db3a6d 100644 --- a/src/drivers/px4io/CMakeLists.txt +++ b/src/drivers/px4io/CMakeLists.txt @@ -43,8 +43,6 @@ px4_add_module( platforms__common ) -include(cygwin_cygpath) - # include the px4io binary in ROMFS message(STATUS "Building and including ${config_io_board}") @@ -63,14 +61,12 @@ add_custom_command(OUTPUT ${fw_io_exe} USES_TERMINAL ) -# only in the cygwin environment: convert paths for -# binary in and output to mixed windows paths (C:/...) -CYGPATH(fw_io_exe fw_io_exe_cyg) -CYGPATH(fw_io_bin fw_io_bin_cyg) +file(RELATIVE_PATH fw_io_exe_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_exe}) +file(RELATIVE_PATH fw_io_bin_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_bin}) add_custom_command(OUTPUT ${fw_io_bin} COMMAND mkdir -p ${PX4_BINARY_DIR}/ROMFS/${config_romfs_root}/extras/ - COMMAND ${OBJCOPY} -O binary ${fw_io_exe_cyg} ${fw_io_bin_cyg} + COMMAND ${OBJCOPY} -O binary ${fw_io_exe_relative} ${fw_io_bin_relative} DEPENDS ${fw_io_exe} COMMENT "Copying ${config_io_board} to ROMFS extras" ) diff --git a/src/modules/mavlink/mavlink_shell.cpp b/src/modules/mavlink/mavlink_shell.cpp index 7ffb8911a1..1b0af87dfb 100644 --- a/src/modules/mavlink/mavlink_shell.cpp +++ b/src/modules/mavlink/mavlink_shell.cpp @@ -54,7 +54,6 @@ #include #endif - MavlinkShell::MavlinkShell() { }