cmake: enable settign of MRAAPLATFORMFORCE to reduce libmraa.so size
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
@@ -64,6 +64,8 @@ option (INSTALLGPIOTOOL "Install gpio tool" OFF)
|
|||||||
option (BUILDARCH "Override architecture to build for - override" OFF)
|
option (BUILDARCH "Override architecture to build for - override" OFF)
|
||||||
option (TESTS "Override the addition of tests" ON)
|
option (TESTS "Override the addition of tests" ON)
|
||||||
|
|
||||||
|
set (MRAAPLATFORMFORCE "" CACHE STRING "ALL")
|
||||||
|
|
||||||
if (NOT BUILDSWIG)
|
if (NOT BUILDSWIG)
|
||||||
set (BUILDSWIGPYTHON OFF)
|
set (BUILDSWIGPYTHON OFF)
|
||||||
set (BUILDSWIGNODE OFF)
|
set (BUILDSWIGNODE OFF)
|
||||||
|
|||||||
@@ -28,6 +28,30 @@ set (mraa_LIB_X86_SRCS_NOAUTO
|
|||||||
${PROJECT_SOURCE_DIR}/src/x86/intel_minnow_byt_compatible.c
|
${PROJECT_SOURCE_DIR}/src/x86/intel_minnow_byt_compatible.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
message (INFO " - Adding support for platform ${MRAAPLATFORMFORCE}")
|
||||||
|
|
||||||
|
#keywords in if statements are case sensitive
|
||||||
|
if (NOT ${MRAAPLATFORMFORCE} STREQUAL "ALL")
|
||||||
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dx${MRAAPLATFORMFORCE} -DMRAA_PLATFORM_FORCE=${MRAAPLATFORMFORCE}")
|
||||||
|
if (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_GALILEO_GEN2")
|
||||||
|
set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_galileo_rev_g.c)
|
||||||
|
elseif (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_GALILEO_GEN1")
|
||||||
|
set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_galileo_rev_d.c)
|
||||||
|
elseif (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_DE3815")
|
||||||
|
set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_de3815.c)
|
||||||
|
elseif (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_EDISON_FAB_C")
|
||||||
|
set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_edison_fab_c.c)
|
||||||
|
elseif (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_MINNOWBOARD_MAX")
|
||||||
|
set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_minnow_byt_compatible.c)
|
||||||
|
elseif (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_NUC5")
|
||||||
|
set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_nuc5.c)
|
||||||
|
else ()
|
||||||
|
message (ERROR " - Unknown x86 platform enabled!")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
message (INFO " - Adding support for all platforms")
|
||||||
|
endif ()
|
||||||
|
|
||||||
set (mraa_LIB_ARM_SRCS_NOAUTO
|
set (mraa_LIB_ARM_SRCS_NOAUTO
|
||||||
${PROJECT_SOURCE_DIR}/src/arm/arm.c
|
${PROJECT_SOURCE_DIR}/src/arm/arm.c
|
||||||
${PROJECT_SOURCE_DIR}/src/arm/raspberry_pi.c
|
${PROJECT_SOURCE_DIR}/src/arm/raspberry_pi.c
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "mraa_internal.h"
|
#include "mraa_internal.h"
|
||||||
|
|
||||||
#include "x86/intel_galileo_rev_d.h"
|
#include "x86/intel_galileo_rev_d.h"
|
||||||
#include "x86/intel_galileo_rev_g.h"
|
#include "x86/intel_galileo_rev_g.h"
|
||||||
#include "x86/intel_edison_fab_c.h"
|
#include "x86/intel_edison_fab_c.h"
|
||||||
@@ -36,7 +37,9 @@
|
|||||||
mraa_platform_t
|
mraa_platform_t
|
||||||
mraa_x86_platform()
|
mraa_x86_platform()
|
||||||
{
|
{
|
||||||
|
#ifndef MRAA_PLATFORM_FORCE
|
||||||
mraa_platform_t platform_type = MRAA_UNKNOWN_PLATFORM;
|
mraa_platform_t platform_type = MRAA_UNKNOWN_PLATFORM;
|
||||||
|
|
||||||
char* line = NULL;
|
char* line = NULL;
|
||||||
// let getline allocate memory for *line
|
// let getline allocate memory for *line
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
@@ -80,4 +83,22 @@ mraa_x86_platform()
|
|||||||
}
|
}
|
||||||
|
|
||||||
return platform_type;
|
return platform_type;
|
||||||
|
#else
|
||||||
|
#if defined(xMRAA_INTEL_GALILEO_GEN2)
|
||||||
|
plat = mraa_intel_galileo_gen2();
|
||||||
|
#elif defined(xMRAA_INTEL_EDISON_FAB_C)
|
||||||
|
plat = mraa_intel_edison_fab_c();
|
||||||
|
#elif defined(xMRAA_INTEL_DE3815)
|
||||||
|
plat = mraa_intel_de3815();
|
||||||
|
#elif defined(xMRAA_INTEL_MINNOWBOARD_MAX)
|
||||||
|
plat = mraa_intel_minnowboard_byt_compatible();
|
||||||
|
#elif defined(xMRAA_INTEL_GALILEO_GEN1)
|
||||||
|
plat = mraa_intel_galileo_rev_d();
|
||||||
|
#elif defined(xMRAA_INTEL_NUC5)
|
||||||
|
plat = mraa_intel_nuc5();
|
||||||
|
#else
|
||||||
|
#error "Not using a valid platform value from mraa_platform_t - cannot compile"
|
||||||
|
#endif
|
||||||
|
return MRAA_PLATFORM_FORCE;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user