From b2aa2515b0305bfd58d419e64b397944ff043c69 Mon Sep 17 00:00:00 2001 From: sisinty sasmita patra Date: Wed, 19 Apr 2017 13:49:17 -0700 Subject: [PATCH] upm_version: Added get version functionality for UPM as provided by MRAA * Renamed version.c to version.hpp * Updated CMakelist file * Updated upm.i file to support version * Updated/modified src Cmakelists to support base upm and wrapper dependency Signed-off-by: sisinty sasmita patra --- CMakeLists.txt | 5 ++++- cmake/modules/version.c.in | 4 ---- cmake/modules/version.hpp.in | 6 ++++++ src/CMakeLists.txt | 21 +++++++-------------- src/upm.i | 5 +++++ 5 files changed, 22 insertions(+), 19 deletions(-) delete mode 100644 cmake/modules/version.c.in create mode 100644 cmake/modules/version.hpp.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 45d39052..26623536 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -417,7 +417,10 @@ endif() # UPM common headers set (UPM_COMMON_HEADER_DIRS ${CMAKE_HOME_DIRECTORY}/include - ${CMAKE_HOME_DIRECTORY}/include/fti) + ${CMAKE_HOME_DIRECTORY}/include/fti + ${CMAKE_BINARY_DIR}/src) + +configure_file (${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/version.hpp.in ${CMAKE_CURRENT_BINARY_DIR}/src/version.hpp @ONLY) # UPM source add_subdirectory (src) diff --git a/cmake/modules/version.c.in b/cmake/modules/version.c.in deleted file mode 100644 index 0fdf8534..00000000 --- a/cmake/modules/version.c.in +++ /dev/null @@ -1,4 +0,0 @@ -#include "version.h" - -const char* gVERSION = "@VERSION@"; -const char* gVERSION_SHORT = "@VERSION_SHORT@"; diff --git a/cmake/modules/version.hpp.in b/cmake/modules/version.hpp.in new file mode 100644 index 00000000..27ccb7ad --- /dev/null +++ b/cmake/modules/version.hpp.in @@ -0,0 +1,6 @@ +#include + +inline std::string getVersion() +{ + return "@upm_VERSION_STRING@"; +} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55a57069..27131355 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -117,7 +117,7 @@ macro(_upm_swig_python) # wrapper generation. Get them manually and add them here. _get_target_dependency_interface_include_dirs(${libname} DEPEND_DIRS) - include_directories (${CMAKE_CURRENT_SOURCE_DIR}/.. + include_directories (${UPM_COMMON_HEADER_DIRS} ${DEPEND_DIRS}) set_source_files_properties (pyupm_${libname}.i PROPERTIES CPLUSPLUS ON) @@ -230,7 +230,7 @@ macro(upm_swig_node) _get_target_dependency_interface_include_dirs(${libname} DEPEND_DIRS) include_directories ( - ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${UPM_COMMON_HEADER_DIRS} ${DEPEND_DIRS} ) @@ -289,7 +289,7 @@ macro(upm_swig_java) include_directories ( ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} - ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${UPM_COMMON_HEADER_DIRS} ${DEPEND_DIRS} ) @@ -476,12 +476,6 @@ function (UPM_MIXED_MODULE_INIT) # Make sure REQUIRES is a list separate_arguments(UPM_MIXED_MODULE_INIT_REQUIRES) - # Always add the common header dirs to the includes list, even if we - # end up only building a C++ module. This is needed for cases where - # a C++ only driver depends on a mixed C++/C driver. - include_directories (${UPM_COMMON_HEADER_DIRS} - ${CMAKE_SOURCE_DIR}/src/utilities) - # Always build C libs first if (UPM_MIXED_MODULE_INIT_C_SRC) set (libname ${UPM_MIXED_MODULE_INIT_NAME}) @@ -510,11 +504,6 @@ function (UPM_MIXED_MODULE_INIT) target_link_libraries (${libname} utilities-c) endif() - # Add include directories for C - target_include_directories (${libname} PUBLIC - ${UPM_COMMON_HEADER_DIRS} - ${CMAKE_SOURCE_DIR}/src/utilities) - ## "export" the logical C lib target for the calling module's ## CMakeLists.txt set (libnamec ${libname} PARENT_SCOPE) @@ -561,6 +550,10 @@ function(upm_module_init) # Create the target library from src/hdrs add_library (${libname} SHARED ${module_src} ${module_hpp}) + target_include_directories (${libname} PUBLIC + ${UPM_COMMON_HEADER_DIRS} + ${CMAKE_SOURCE_DIR}/src/utilities) + # Specify the current source directory as an INTERFACE include dir. # This allows for transitive header dependencies via target_link_libraries target_include_directories(${libname} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/upm.i b/src/upm.i index 5dbc81dc..eb1c5391 100644 --- a/src/upm.i +++ b/src/upm.i @@ -2,6 +2,11 @@ %include "stdint.i" %include "upm_exception.i" +%{ +#include "version.hpp" +%} +%include "version.hpp" + %apply int { speed_t }; %apply int { mraa_result_t }; %apply int { mraa::Result };