X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2FCMakeLists.txt;h=ceb31e4b2e3d623e0a449775a6d9e5a040a4c7ea;hb=79609ba359fa28e9d560e81d69e37c6c95e087eb;hp=da8bb179d135908b7f2a82aa6ead877290232e9c;hpb=6bc2b0fb53865c85c786f7f2a0393d88e7784c08;p=contrib%2Fmraa.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index da8bb17..ceb31e4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,10 +1,14 @@ -include_directories( +set (mraa_LIB_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/api ${PROJECT_SOURCE_DIR}/api/mraa ${PROJECT_SOURCE_DIR}/include ) -set (mraa_LIB_SRCS +include_directories( + ${mraa_LIB_INCLUDE_DIRS} +) + +set (mraa_LIB_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/mraa.c ${PROJECT_SOURCE_DIR}/src/gpio/gpio.c ${PROJECT_SOURCE_DIR}/src/i2c/i2c.c @@ -12,11 +16,92 @@ set (mraa_LIB_SRCS ${PROJECT_SOURCE_DIR}/src/spi/spi.c ${PROJECT_SOURCE_DIR}/src/aio/aio.c ${PROJECT_SOURCE_DIR}/src/uart/uart.c - ${PROJECT_SOURCE_DIR}/src/intel_galileo_rev_d.c - ${PROJECT_SOURCE_DIR}/src/intel_galileo_rev_g.c - ${PROJECT_SOURCE_DIR}/src/intel_edison_fab_c.c - ${PROJECT_SOURCE_DIR}/src/intel_de3815.c - ${PROJECT_SOURCE_DIR}/src/intel_minnow_max.c + ${PROJECT_SOURCE_DIR}/src/iio/iio.c +) + +set (mraa_LIB_X86_SRCS_NOAUTO + ${PROJECT_SOURCE_DIR}/src/x86/x86.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_galileo_rev_d.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_galileo_rev_g.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_edison_fab_c.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_de3815.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_nuc5.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_minnow_byt_compatible.c + ${PROJECT_SOURCE_DIR}/src/x86/intel_sofia_3gr.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) + elseif (${MRAAPLATFORMFORCE} STREQUAL "MRAA_INTEL_SOFIA_3GR") + set (mraa_LIB_X86_SRCS_NOAUTO ${PROJECT_SOURCE_DIR}/src/x86/x86.c ${PROJECT_SOURCE_DIR}/src/x86/intel_sofia_3gr.c) + else () + message (ERROR " - Unknown x86 platform enabled!") + endif () +else () + message (INFO " - Adding support for all platforms") +endif () + +set (mraa_LIB_ARM_SRCS_NOAUTO + ${PROJECT_SOURCE_DIR}/src/arm/arm.c + ${PROJECT_SOURCE_DIR}/src/arm/96boards.c + ${PROJECT_SOURCE_DIR}/src/arm/raspberry_pi.c + ${PROJECT_SOURCE_DIR}/src/arm/beaglebone.c + ${PROJECT_SOURCE_DIR}/src/arm/banana.c +) + +set (mraa_LIBS ${CMAKE_THREAD_LIBS_INIT}) + +if (X86PLAT) + add_subdirectory(x86) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DX86PLAT=1") +endif() + +if (ARMPLAT) + add_subdirectory(arm) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DARMPLAT=1") +endif() + +if (USBPLAT) + message (INFO " - Adding USB platforms") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSBPLAT=1") + if (FTDID2xx) + find_package (Ftd2xx) + if (${LIBFTD2XX_FOUND}) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFTDID2XX=1") + set (mraa_LIBS ${mraa_LIBS} ${LIBFTD2XX_LIBRARIES}) + else () + message (WARNING " - Enabled FTDID2xx support but library not found") + endif () + endif () + if (FTDI4222) + find_package (Ftd4222) + if (${LIBFT4222_FOUND}) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFTDI4222=1") + set (mraa_LIBS ${mraa_LIBS} ${LIBFT4222_LIBRARIES}) + else () + message (WARNING " - Enabled FTDI4222 support but library not found") + endif () + endif () + add_subdirectory(usb) +endif () + +set (mraa_LIB_SRCS + ${mraa_LIB_PLAT_SRCS_NOAUTO} # autogenerated version file ${CMAKE_CURRENT_BINARY_DIR}/version.c ) @@ -27,7 +112,9 @@ set (mraa_LIB_GLOB_HEADERS ) add_library (mraa SHARED ${mraa_LIB_SRCS}) -target_link_libraries (mraa ${CMAKE_THREAD_LIBS_INIT}) + + +target_link_libraries (mraa ${mraa_LIBS}) set_target_properties( mraa @@ -35,16 +122,16 @@ set_target_properties( SOVERSION ${mraa_VERSION_MAJOR} VERSION ${mraa_VERSION_STRING} ) -install (FILES ${mraa_LIB_GLOB_HEADERS} DESTINATION include/) -install (DIRECTORY ${PROJECT_SOURCE_DIR}/api/mraa/ DESTINATION include/mraa) +install (FILES ${mraa_LIB_GLOB_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install (DIRECTORY ${PROJECT_SOURCE_DIR}/api/mraa/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mraa) macro (mraa_CREATE_INSTALL_PKGCONFIG generated_file install_location) configure_file (${generated_file}.cmake ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} @ONLY) install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${generated_file} DESTINATION ${install_location}) endmacro (mraa_CREATE_INSTALL_PKGCONFIG) -mraa_create_install_pkgconfig (mraa.pc lib${LIB_SUFFIX}/pkgconfig) +mraa_create_install_pkgconfig (mraa.pc ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -install (TARGETS mraa DESTINATION lib) +install(TARGETS mraa DESTINATION ${CMAKE_INSTALL_LIBDIR}) if (DOXYGEN_FOUND) set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND}) @@ -92,8 +179,15 @@ if (BUILDSWIG) if (BUILDSWIGPYTHON) add_subdirectory (python) endif () + if (BUILDSWIGJAVA) + add_subdirectory (java) + endif () if (BUILDSWIGNODE) - add_subdirectory (javascript) + if (SWIG_VERSION VERSION_GREATER 3.0.4) + add_subdirectory (javascript) + else () + message ("WARN - SWIG is ${SWIG_VERSION}. Please upgrade to 3.0.5+ to build nodejs addon") + endif () endif () endif () endif ()