From 1926c7bca716fbd41f9636674bc5d663bfd80254 Mon Sep 17 00:00:00 2001
From: Lorenz Meier <lm@inf.ethz.ch>
Date: Mon, 12 Dec 2016 22:32:34 +0100
Subject: [PATCH] Revert "Implement the way to run posix simulator directly
 from IDE without the need to reconfigure command lines, but use runner
 created via CMake"

This reverts commit fff493474356f34c32075cc4f67e50d787efa7a2.
---
 Tools/sitl_run.sh                           |   9 -
 src/firmware/posix/CMakeLists.txt           | 219 +++++++++-----------
 src/platforms/posix/main.cpp                |   6 -
 src/platforms/posix/sitl_runner_main.cpp.in |  53 -----
 4 files changed, 95 insertions(+), 192 deletions(-)
 delete mode 100644 src/platforms/posix/sitl_runner_main.cpp.in

diff --git a/Tools/sitl_run.sh b/Tools/sitl_run.sh
index 7703b0171b..563c10a993 100755
--- a/Tools/sitl_run.sh
+++ b/Tools/sitl_run.sh
@@ -135,15 +135,6 @@ then
 elif [ "$debugger" == "valgrind" ]
 then
 	valgrind $sitl_command
-elif [ "$debugger" == "ide" ]
-then
-	echo "######################################################################"
-	echo
-	echo "PX4 simulator not started, use your IDE to start PX4_${model} target."
-	echo "Hit enter to quit..."
-	echo
-	echo "######################################################################"
-	read
 else
 	$sitl_command
 fi
diff --git a/src/firmware/posix/CMakeLists.txt b/src/firmware/posix/CMakeLists.txt
index 854a0b9fb1..d1057fbfa0 100644
--- a/src/firmware/posix/CMakeLists.txt
+++ b/src/firmware/posix/CMakeLists.txt
@@ -4,137 +4,122 @@ px4_posix_generate_builtin_commands(
 	OUT apps
 	MODULE_LIST ${module_libraries})
 
+if ("${BOARD}" STREQUAL "eagle" OR ("${BOARD}" STREQUAL "excelsior"))
 
-function(px4_add_sitl_app)
-	px4_parse_function_args(
-			NAME px4_add_sitl_app
-			ONE_VALUE APP_NAME MAIN_SRC UPLOAD_NAME
-			REQUIRED APP_NAME MAIN_SRC
-			ARGN ${ARGN})
-
-	if ("${BOARD}" STREQUAL "eagle" OR ("${BOARD}" STREQUAL "excelsior"))
-
-		include(fastrpc)
-		include(linux_app)
-
-		FASTRPC_STUB_GEN(../qurt/px4muorb.idl)
-
-		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-prototypes -Wno-missing-declarations")
-		LINUX_APP(
-			APP_NAME ${APP_NAME}
-			IDL_NAME px4muorb
-			APPS_DEST "/home/linaro"
-			SOURCES
-				px4muorb_stub.c
-				${MAIN_SRC}
-				apps.cpp
-			LINK_LIBS
-				-Wl,--start-group
-				${module_libraries}
-				${df_driver_libs}
-				${FASTRPC_ARM_LIBS}
-				pthread m rt
-				-Wl,--end-group
-			)
-
-		px4_add_adb_push(OUT ${UPLOAD_NAME}
-				 OS ${OS}
-				 BOARD ${BOARD}
-				 FILES ${CMAKE_CURRENT_BINARY_DIR}/${APP_NAME}
-				 ${PX4_SOURCE_DIR}/posix-configs/eagle/flight/mainapp.config
-				 DEPENDS ${APP_NAME}
-				 DEST /home/linaro)
+	include(fastrpc)
+	include(linux_app)
 
-	elseif ("${BOARD}" STREQUAL "rpi")
+	FASTRPC_STUB_GEN(../qurt/px4muorb.idl)
 
-		px4_add_executable(${APP_NAME}
-			${MAIN_SRC}
+	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-missing-prototypes -Wno-missing-declarations")
+	LINUX_APP(
+		APP_NAME px4
+		IDL_NAME px4muorb
+		APPS_DEST "/home/linaro"
+		SOURCES
+			px4muorb_stub.c
+			${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
 			apps.cpp
-			)
-
-		target_link_libraries(${APP_NAME}
+		LINK_LIBS
 			-Wl,--start-group
 			${module_libraries}
-			df_driver_framework
 			${df_driver_libs}
+			${FASTRPC_ARM_LIBS}
 			pthread m rt
 			-Wl,--end-group
-			)
+		)
 
-		file(GLOB RPI_CONFIG_FILES ${PX4_SOURCE_DIR}/posix-configs/rpi/*.config)
-		px4_add_scp_push(OUT ${UPLOAD_NAME}
-				 OS ${OS}
-				 BOARD ${BOARD}
-				 FILES ${CMAKE_CURRENT_BINARY_DIR}/${APP_NAME}
-				 ${RPI_CONFIG_FILES}
-				 ${PX4_SOURCE_DIR}/ROMFS
-				 DEPENDS ${APP_NAME}
-				 DEST /home/pi)
+	px4_add_adb_push(OUT upload
+			 OS ${OS}
+			 BOARD ${BOARD}
+			 FILES ${CMAKE_CURRENT_BINARY_DIR}/px4
+				 ${PX4_SOURCE_DIR}/posix-configs/eagle/flight/mainapp.config
+			 DEPENDS px4
+			 DEST /home/linaro)
 
-	elseif ("${BOARD}" STREQUAL "bebop")
+elseif ("${BOARD}" STREQUAL "rpi")
 
-		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
-		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
+	px4_add_executable(px4
+		${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
+		apps.cpp
+		)
 
-		px4_add_executable(${APP_NAME}
-			${MAIN_SRC}
-			apps.cpp
-			)
+	target_link_libraries(px4
+		-Wl,--start-group
+		${module_libraries}
+		df_driver_framework
+		${df_driver_libs}
+		pthread m rt
+		-Wl,--end-group
+		)
 
-		if (NOT APPLE)
-			target_link_libraries(${APP_NAME}
-				-Wl,--start-group
-				${module_libraries}
-				${df_driver_libs}
-				pthread m rt
-				-Wl,--end-group
-				)
-		else()
-			target_link_libraries(${APP_NAME}
-				${module_libraries}
-				${df_driver_libs}
-				pthread m
-				)
-		endif()
+	file(GLOB RPI_CONFIG_FILES ${PX4_SOURCE_DIR}/posix-configs/rpi/*.config)
+	px4_add_scp_push(OUT upload
+			 OS ${OS}
+			 BOARD ${BOARD}
+			 FILES ${CMAKE_CURRENT_BINARY_DIR}/px4
+				${RPI_CONFIG_FILES}
+				${PX4_SOURCE_DIR}/ROMFS
+			 DEPENDS px4
+			 DEST /home/pi)
 
-		px4_add_adb_push_to_bebop(OUT ${UPLOAD_NAME}
-				 OS ${OS}
-				 BOARD ${BOARD}
-				 FILES ${CMAKE_CURRENT_BINARY_DIR}/${APP_NAME}
-				 DEPENDS ${APP_NAME}
-				 DEST /usr/bin)
+elseif ("${BOARD}" STREQUAL "bebop")
 
-	else()
+	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
+	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
 
-		px4_add_executable(${APP_NAME}
-			${MAIN_SRC}
-			apps.cpp
-			)
+	px4_add_executable(px4
+		${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
+		apps.cpp
+		)
 
-		if (NOT APPLE)
-			target_link_libraries(${APP_NAME}
-				-Wl,--start-group
-				${module_libraries}
-				${df_driver_libs}
-				pthread m rt
-				-Wl,--end-group
-				)
-		else()
-			target_link_libraries(${APP_NAME}
-				${module_libraries}
-				${df_driver_libs}
-				pthread m
-				)
-		endif()
+	if (NOT APPLE)
+		target_link_libraries(px4
+			-Wl,--start-group
+			${module_libraries}
+			${df_driver_libs}
+			pthread m rt
+			-Wl,--end-group
+			)
+	else()
+		target_link_libraries(px4
+			${module_libraries}
+			${df_driver_libs}
+			pthread m
+			)
 	endif()
-endfunction()
 
-SET(SITL_RUNNER_MAIN_CPP ${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp)
-px4_add_sitl_app(APP_NAME px4
-		UPLOAD_NAME upload
-		MAIN_SRC ${SITL_RUNNER_MAIN_CPP}
+	px4_add_adb_push_to_bebop(OUT upload
+			 OS ${OS}
+			 BOARD ${BOARD}
+			 FILES ${CMAKE_CURRENT_BINARY_DIR}/px4
+			 DEPENDS px4
+			 DEST /usr/bin)
+
+else()
+
+	px4_add_executable(px4
+		${PX4_SOURCE_DIR}/src/platforms/posix/main.cpp
+		apps.cpp
 		)
 
+	if (NOT APPLE)
+		target_link_libraries(px4
+			-Wl,--start-group
+			${module_libraries}
+			${df_driver_libs}
+			pthread m rt
+			-Wl,--end-group
+			)
+	else()
+		target_link_libraries(px4
+			${module_libraries}
+			${df_driver_libs}
+			pthread m
+			)
+	endif()
+endif()
+
 #=============================================================================
 # sitl run targets
 #
@@ -167,7 +152,7 @@ set_target_properties(sitl_gazebo PROPERTIES EXCLUDE_FROM_ALL TRUE)
 
 # create targets for each viewer/model/debugger combination
 set(viewers none jmavsim gazebo replay)
-set(debuggers none ide gdb lldb ddd valgrind)
+set(debuggers none gdb lldb ddd valgrind)
 set(models none iris iris_opt_flow tailsitter standard_vtol plane solo typhoon_h480)
 set(all_posix_vmd_make_targets)
 foreach(viewer ${viewers})
@@ -186,20 +171,6 @@ foreach(viewer ${viewers})
 					set(_targ_name "${viewer}_${model}_${debugger}")
 				endif()
 			endif()
-
-			if (debugger STREQUAL "ide" AND viewer STREQUAL "gazebo")
-				SET(SITL_RUNNER_SOURCE_DIR ${PX4_SOURCE_DIR})
-				SET(SITL_RUNNER_MODEL_FILE ${PX4_SOURCE_DIR}/${config_sitl_rcS_dir}/${model})
-				SET(SITL_RUNNER_WORKING_DIRECTORY ${SITL_WORKING_DIR})
-
-				CONFIGURE_FILE(${PX4_SOURCE_DIR}/src/platforms/posix/sitl_runner_main.cpp.in sitl_runner_main_${model}.cpp @ONLY)
-
-				px4_add_sitl_app(APP_NAME px4_${model}
-                        UPLOAD_NAME upload_${model}
-						MAIN_SRC ${CMAKE_CURRENT_BINARY_DIR}/sitl_runner_main_${model}.cpp
-						)
-			endif()
-
 			add_custom_target(${_targ_name}
 				COMMAND ${PX4_SOURCE_DIR}/Tools/sitl_run.sh
 				$<TARGET_FILE:px4>
diff --git a/src/platforms/posix/main.cpp b/src/platforms/posix/main.cpp
index d861d292b4..cef7470933 100644
--- a/src/platforms/posix/main.cpp
+++ b/src/platforms/posix/main.cpp
@@ -286,13 +286,7 @@ static void set_cpu_scaling()
 #endif
 }
 
-#ifdef __PX4_SITL_MAIN_OVERRIDE
-int SITL_MAIN(int argc, char **argv);
-
-int SITL_MAIN(int argc, char **argv)
-#else
 int main(int argc, char **argv)
-#endif
 {
 	bool daemon_mode = false;
 	bool chroot_on = false;
diff --git a/src/platforms/posix/sitl_runner_main.cpp.in b/src/platforms/posix/sitl_runner_main.cpp.in
deleted file mode 100644
index 22d981b882..0000000000
--- a/src/platforms/posix/sitl_runner_main.cpp.in
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
- *
- *   Copyright (C) 2015 Anton Matosov. 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.
- *
- ****************************************************************************/
-/**
- * @file sitl_runner_main.cpp
- * Basic shell to execute px4 with specific model
- *
- * @author Anton Matosov <anton.matosov@gmail.com>
- */
-
-#include <unistd.h>
-
-#define __PX4_SITL_MAIN_OVERRIDE
-#include "@SITL_RUNNER_MAIN_CPP@"
-
-int main(int argc, const char **argv)
-{
-    if (chdir("@SITL_RUNNER_WORKING_DIRECTORY@") != 0) {
-        PX4_ERR("Failed to change current directory to @SITL_RUNNER_WORKING_DIRECTORY@. error %i", errno);
-        return errno;
-    }
-    const char *argsOverride[] = {argv[0], "@SITL_RUNNER_SOURCE_DIR@", "@SITL_RUNNER_MODEL_FILE@"};
-    return SITL_MAIN(sizeof(argsOverride) / sizeof(argsOverride[0]), (char**)argsOverride);
-}
\ No newline at end of file
-- 
GitLab