diff options
author | Adam Malinowski <a.malinowsk2@partner.samsung.com> | 2016-03-18 10:53:37 +0100 |
---|---|---|
committer | Adam Malinowski <a.malinowsk2@partner.samsung.com> | 2016-04-26 17:43:05 +0200 |
commit | 500583e5998cc6951d8901a70c571cae94b1e2dd (patch) | |
tree | 473eeb6fbb37b395d85416f2dcacc553460a3c6b | |
parent | f43fc1cf03a9f3a908af2c14d45d6eeb8af3c668 (diff) | |
download | sd-mux-500583e5998cc6951d8901a70c571cae94b1e2dd.tar.gz sd-mux-500583e5998cc6951d8901a70c571cae94b1e2dd.tar.bz2 sd-mux-500583e5998cc6951d8901a70c571cae94b1e2dd.zip |
Add project skeleton
Add all needed files for building the project.
Change-Id: I70e5d7a3c8aff62cc499beafd60ea2ed4d6a84f6
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | CMakeLists.txt | 70 | ||||
-rw-r--r-- | README | 28 | ||||
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 21 | ||||
-rw-r--r-- | debian/copyright | 24 | ||||
-rw-r--r-- | debian/format | 1 | ||||
-rwxr-xr-x | debian/rules | 4 | ||||
-rw-r--r-- | packaging/sd-mux-ctrl.changes | 2 | ||||
-rw-r--r-- | packaging/sd-mux-ctrl.spec | 42 | ||||
-rw-r--r-- | src/CMakeLists.txt | 46 | ||||
-rw-r--r-- | src/main.cpp | 28 |
13 files changed, 273 insertions, 0 deletions
@@ -0,0 +1 @@ +Adam Malinowski <a.malinowsk2@partner.samsung.com> diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9249439 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,70 @@ +# Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# @file CMakeLists.txt +# @author Adam Malinowski <a.malinowsk2@partner.samsung.com> +# + +############################# Check minimum CMake version ##################### + +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3) +PROJECT("sd-mux-ctrl") +set(SDMUXCTRL_VERSION 0.0.1) + +############################# cmake packages ################################## + +INCLUDE(FindPkgConfig) +INCLUDE(CheckCXXCompilerFlag) + +############################# install dirs ################################## + +SET(BIN_INSTALL_DIR + "${CMAKE_INSTALL_PREFIX}/bin" + CACHE PATH + "Binary installation directory") + +############################# compiler flags ################################## + +SET(CMAKE_CXX_FLAGS_PROFILING "-O0 -g -pg") +SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb") +SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g") +SET(CMAKE_CXX_FLAGS_CCOV "-O2 -g --coverage") + +# Check for C++11 support and enable proper compilation flags +CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) +CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) +IF(COMPILER_SUPPORTS_CXX11) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +ELSEIF(COMPILER_SUPPORTS_CXX0X) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") +ELSE() + MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") +ENDIF() + +# Set compiler warning flags +ADD_DEFINITIONS("-Werror") # Make all warnings into errors. +ADD_DEFINITIONS("-Wall") # Generate all warnings +ADD_DEFINITIONS("-Wextra") # Generate even more extra warnings + +# Don't export symbols by default +ADD_DEFINITIONS("-fvisibility=hidden") + + +IF (CMAKE_BUILD_TYPE MATCHES "DEBUG") + ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG") +ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG") + +SET(TARGET_SDMUXCTRL "sd-mux-ctrl") + +ADD_SUBDIRECTORY(src) @@ -0,0 +1,28 @@ +sd-mux stands for Secure Digital Multiplexer. + +This is SD card switcher (multiplexer) designed to help automatic testing. + +This project is sd-mux controller - binary for controlling sd-mux device. + +Requirements: + 1. libftdi1 1.2 - development library + 2. popt - development library + 3. cmake - binary tool + +Build: + - enter into project directory + - create 'build' directory + - enter into "build" directory + - run 'cmake ..' + - run 'make' + +Install: + - enter into 'build' directory + - run 'sudo make install' to install binary into '/usr/local/bin' (the default one) directory + +Note: +If you want to install files into different directory then add argument to cmake command: + cmake -DCMAKE_INSTALL_PREFIX=/usr .. +Then again run: + make + make install diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..d84a7e8 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +sd-mux-ctrl (0.0.1) UNRELEASED; urgency=medium + + * Initial release. + + -- Adam Malinowski <a.malinowsk2@partner.samsung.com> Tue, 16 Feb 2016 09:31:30 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..d6d09b1 --- /dev/null +++ b/debian/control @@ -0,0 +1,21 @@ +Source: sd-mux-ctrl +Maintainer: Adam Malinowski <a.malinowsk2@partner.samsung.com> +Section: utils +Priority: optional +Build-Depends: libftdi1-dev (>= 1.2), + libpopt-dev, + debhelper (>=9), +Standards-Version: 3.9.5 + +Package: sd-mux-ctrl +Architecture: any +Depends: libftdi1-2 (>=1.2), + libpopt0, + ${misc:Depends}, + ${shlibs:Depends}, +Description: Tool for controlling multiple sd-mux devices. + This tool allows: + to connect SD card to DUT (Device Under Test) or to TS (Test Server) + to connect one USB port to DUT or TS + to power off or on DUT + to reset DUT through power disconnecting and reconnecting diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..606a0ee --- /dev/null +++ b/debian/copyright @@ -0,0 +1,24 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: git://git.tizen.org/tools/testlab/sd-mux + +Files: * +Copyright: (C) 2016 Samsung Electronics Co., Ltd All Rights Reserved +License: Apache-2.0 + +Files: debian/* +Copyright: (C) 2016 Samsung Electronics Co., Ltd All Rights Reserved +License: Apache-2.0 + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the full text of the Apache License, Version 2.0 + can be found in the file `/usr/share/common-licenses/Apache-2.0'. + diff --git a/debian/format b/debian/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2d33f6a --- /dev/null +++ b/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ diff --git a/packaging/sd-mux-ctrl.changes b/packaging/sd-mux-ctrl.changes new file mode 100644 index 0000000..61f68f4 --- /dev/null +++ b/packaging/sd-mux-ctrl.changes @@ -0,0 +1,2 @@ +* Tue Feb 16 2016 Adam Malinowski <a.malinowsk2@partner.samsung.com> 0.0.1 +- Initial release diff --git a/packaging/sd-mux-ctrl.spec b/packaging/sd-mux-ctrl.spec new file mode 100644 index 0000000..367b72a --- /dev/null +++ b/packaging/sd-mux-ctrl.spec @@ -0,0 +1,42 @@ +%define rc_version 0 + +%if 0%{?rc_version} +%define release_prefix 0.rc%{rc_version}. +%endif + +Name: sd-mux-ctrl +Summary: Control software for sd-mux devices. +Version: 0.0.1 +Release: %{?release_prefix}%{?opensuse_bs:<CI_CNT>.<B_CNT>}%{!?opensuse_bs:0} +Group: Development/Tools +License: Apache-2.0 +URL: http://www.tizen.org +Source0: %{name}_%{version}.tar.gz +BuildRequires: cmake +Requires: libftdi >= 1.2 +Requires: popt + +BuildRoot: %{_tmppath}/%{name}_%{version}-build + +%description +Tool for controlling multiple sd-mux devices. + This tool allows: + to connect SD card to DUT (Device Under Test) or to TS (Test Server) + to connect one USB port to DUT or TS + to power off or on DUT + to reset DUT through power disconnecting and reconnecting + + +%prep +%setup -q -n %{name}-%{version} + +%build +cmake -DCMAKE_INSTALL_PREFIX=/usr +%__make + +%install +rm -rf %{buildroot} +%make_install + +%files +%{_bindir}/%{name} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..96d4cdc --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,46 @@ +# Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# @file src/CMakeLists.txt +# @author Adam Malinowski <a.malinowsk2@partner.samsung.com> +# + +FIND_PACKAGE(PkgConfig) + +PKG_CHECK_MODULES(SDMUX_DEP + REQUIRED + libftdi1 + popt + ) + +SET(SDMUXCTRL_PATH + ${PROJECT_SOURCE_DIR}/src + ) + +SET(SDMUXCTRL_SOURCES + ${SDMUXCTRL_PATH}/main.cpp + ) + +INCLUDE_DIRECTORIES( + ${SDMUXCTRL_PATH} + ${FTD2XX_PATH} + ) + +ADD_EXECUTABLE(${TARGET_SDMUXCTRL} ${SDMUXCTRL_SOURCES}) + +TARGET_LINK_LIBRARIES(${TARGET_SDMUXCTRL} + ${SDMUX_DEP_LIBRARIES} + ) + +INSTALL(TARGETS ${TARGET_SDMUXCTRL} DESTINATION ${BIN_INSTALL_DIR}) diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..637a024 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ +/** + * @file src/main.cpp + * @author Adam Malinowski <a.malinowsk2@partner.samsung.com> + * @brief Main sd-mux-ctrl file + */ + + +int main(int argc, const char **argv) { + (void)argc; + (void)argv; + + return 0; +} |