2014-06-11 13:54:19 +01:00
|
|
|
cmake_minimum_required (VERSION 2.8.11)
|
2014-04-25 14:48:43 +01:00
|
|
|
project (upm)
|
|
|
|
|
2015-01-29 09:29:58 +01:00
|
|
|
if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
2016-09-05 21:57:41 -07:00
|
|
|
message (WARNING "Building into sources dir can be risky, prefer other directory")
|
2015-01-29 09:29:58 +01:00
|
|
|
endif ()
|
|
|
|
|
2014-05-08 14:39:21 +01:00
|
|
|
find_package (Threads REQUIRED)
|
2014-04-30 14:58:11 +01:00
|
|
|
find_package (PkgConfig REQUIRED)
|
2015-04-23 14:07:26 -07:00
|
|
|
|
2015-11-24 11:07:47 -08:00
|
|
|
# Force a libmraa search and minimum required version every time a config is generated
|
2015-04-23 14:07:26 -07:00
|
|
|
unset(MRAA_FOUND CACHE)
|
2016-09-15 18:12:24 +03:00
|
|
|
set(MRAA_MINIMUM 1.1.1)
|
|
|
|
pkg_check_modules (MRAA REQUIRED mraa>=${MRAA_MINIMUM})
|
2016-09-05 21:57:41 -07:00
|
|
|
message (STATUS "found mraa version: ${MRAA_VERSION}")
|
2014-04-25 14:48:43 +01:00
|
|
|
|
2014-06-09 17:10:44 +01:00
|
|
|
# Appends the cmake/modules path to MAKE_MODULE_PATH variable.
|
|
|
|
set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
|
2014-12-01 10:21:49 -02:00
|
|
|
|
2016-04-06 12:49:16 -07:00
|
|
|
# Set CMAKE_INSTALL_LIBDIR if not defined
|
2014-12-01 10:21:49 -02:00
|
|
|
include(GNUInstallDirs)
|
2016-04-06 12:49:16 -07:00
|
|
|
set (LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installation path for libraries")
|
2014-06-09 17:10:44 +01:00
|
|
|
|
|
|
|
# Make a version file containing the current version from git.
|
|
|
|
include (GetGitRevisionDescription)
|
|
|
|
git_describe (VERSION "--tags")
|
2015-11-24 02:50:17 +03:00
|
|
|
if ("x_${VERSION}" STREQUAL "x_GIT-NOTFOUND" OR "x_${VERSION}" STREQUAL "x_-128-NOTFOUND")
|
2015-06-29 10:49:56 +01:00
|
|
|
message (WARNING " - Install git to compile a production UPM!")
|
2016-09-14 13:45:04 -07:00
|
|
|
set (VERSION "v0.8.0-dirty")
|
2014-06-09 17:10:44 +01:00
|
|
|
endif ()
|
|
|
|
|
2016-09-05 21:57:41 -07:00
|
|
|
message (STATUS "UPM Version ${VERSION}")
|
2014-06-09 17:10:44 +01:00
|
|
|
|
2015-11-24 11:07:47 -08:00
|
|
|
# Parse the version information into pieces.
|
2014-06-09 17:10:44 +01:00
|
|
|
string (REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VERSION}")
|
|
|
|
string (REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VERSION}")
|
|
|
|
string (REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${VERSION}")
|
|
|
|
string (REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+\\-([0-9]+).*" "\\1" VERSION_COMMIT "${VERSION}")
|
|
|
|
string (REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+-[0-9]+\\-(.*)" "\\1" VERSION_SHA1 "${VERSION}")
|
|
|
|
|
2014-06-09 19:22:52 +01:00
|
|
|
if ("${VERSION_COMMIT}" MATCHES "^v.*")
|
|
|
|
set (VERSION_COMMIT "")
|
|
|
|
endif()
|
|
|
|
|
2014-06-09 17:10:44 +01:00
|
|
|
set (upm_VERSION_MAJOR ${VERSION_MAJOR})
|
|
|
|
set (upm_VERSION_MINOR ${VERSION_MINOR})
|
|
|
|
set (upm_VERSION_PATCH ${VERSION_PATCH})
|
2014-06-11 13:54:19 +01:00
|
|
|
set (upm_VERSION_STRING ${upm_VERSION_MAJOR}.${upm_VERSION_MINOR}.${upm_VERSION_PATCH})
|
2014-06-09 17:10:44 +01:00
|
|
|
|
2014-04-25 14:48:43 +01:00
|
|
|
set (CMAKE_SWIG_FLAGS "")
|
|
|
|
|
2016-08-17 17:58:21 -07:00
|
|
|
option (BUILDDOC "Build all doc" OFF)
|
|
|
|
option (BUILDCPP "Build CPP sensor libraries" ON)
|
|
|
|
option (BUILDFTI "Build Funtion Table Interface (FTI) in C sensor libraries" OFF)
|
|
|
|
option (BUILDSWIGPYTHON "Build swig python modules" ON)
|
|
|
|
option (BUILDSWIGNODE "Build swig node modules" ON)
|
2016-08-03 11:52:43 -06:00
|
|
|
option (BUILDSWIGJAVA "Build swig java modules" OFF)
|
|
|
|
option (BUILDPYTHON3 "Use python3 for building/installing/testing" OFF)
|
2016-08-17 17:58:21 -07:00
|
|
|
option (BUILDEXAMPLES "Build C/C++ example binaries" OFF)
|
2015-12-11 19:44:04 +02:00
|
|
|
option (BUILDJAVAEXAMPLES "Build java example jars" OFF)
|
2015-07-17 16:46:17 -07:00
|
|
|
option (IPK "Generate IPK using CPack" OFF)
|
|
|
|
option (RPM "Generate RPM using CPack" OFF)
|
2016-03-07 20:51:11 +02:00
|
|
|
option (BUILDTESTS "Generate check-ups for upm" ON)
|
2016-03-03 13:16:08 -07:00
|
|
|
option (ENABLECXX11 "Enable C++11 standards support" ON)
|
2014-06-09 17:10:44 +01:00
|
|
|
|
2015-11-24 11:07:47 -08:00
|
|
|
# Find swig
|
2016-08-03 11:52:43 -06:00
|
|
|
if (BUILDSWIGPYTHON OR BUILDSWIGNODE OR BUILDSWIGJAVA)
|
2015-11-24 11:07:47 -08:00
|
|
|
if (BUILDSWIGNODE)
|
|
|
|
find_package (SWIG 3.0.5 REQUIRED)
|
|
|
|
else ()
|
|
|
|
find_package (SWIG REQUIRED)
|
|
|
|
endif ()
|
|
|
|
if (SWIG_FOUND)
|
|
|
|
include (${SWIG_USE_FILE})
|
|
|
|
endif ()
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
# Detect arch
|
2015-07-20 11:59:55 -07:00
|
|
|
include (TargetArch)
|
|
|
|
target_architecture (DETECTED_ARCH)
|
2016-09-05 21:57:41 -07:00
|
|
|
message (STATUS "Target arch is ${DETECTED_ARCH}")
|
2015-07-20 11:59:55 -07:00
|
|
|
|
2016-05-12 11:56:19 -07:00
|
|
|
#-march=native for ARM when not defined/forced
|
|
|
|
if (DETECTED_ARCH MATCHES "arm.*" AND NOT CMAKE_CXX_FLAGS MATCHES "-march")
|
|
|
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
|
|
|
endif()
|
|
|
|
|
2016-03-03 13:16:08 -07:00
|
|
|
# enable c++11 standards support
|
|
|
|
if (ENABLECXX11)
|
|
|
|
include(CheckCXXCompilerFlag)
|
|
|
|
if (CMAKE_VERSION VERSION_LESS "3.1")
|
|
|
|
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(WARNING "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please update your C++ compiler.")
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
# 3.1+ uses this generic method to enable c++11
|
|
|
|
set (CMAKE_CXX_STANDARD 11)
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
message(WARNING "Some modules require C++11 support, and may not build without it.")
|
|
|
|
endif()
|
|
|
|
|
2014-06-11 09:13:15 +01:00
|
|
|
if (BUILDDOC)
|
2015-11-24 11:07:47 -08:00
|
|
|
# Add a target to generate API documentation with Doxygen
|
2014-06-11 09:13:15 +01:00
|
|
|
find_package (Doxygen)
|
|
|
|
if (DOXYGEN_FOUND)
|
2015-03-19 14:50:41 -07:00
|
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
|
2015-09-22 19:28:02 +03:00
|
|
|
if (BUILDSWIGJAVA)
|
|
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/Doxyfile.java.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile-java @ONLY)
|
|
|
|
endif()
|
2015-06-29 14:15:04 -07:00
|
|
|
file(GLOB PNG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/docs docs/icons/*.png)
|
2015-06-03 12:11:16 -07:00
|
|
|
foreach(PNG_FILE ${PNG_FILES})
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/${PNG_FILE} ${CMAKE_CURRENT_BINARY_DIR}/html/docs/${PNG_FILE} COPYONLY)
|
|
|
|
endforeach()
|
2014-06-11 09:13:15 +01:00
|
|
|
add_custom_target (doc
|
|
|
|
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
2015-09-04 14:51:31 -07:00
|
|
|
COMMAND tar -czf html/xml.tar.gz -C xml .
|
2014-06-11 09:13:15 +01:00
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
|
|
|
)
|
|
|
|
endif (DOXYGEN_FOUND)
|
2015-11-24 11:07:47 -08:00
|
|
|
# Check if Sphinx is installed and add target to generate API documentation
|
2015-05-14 08:30:24 -07:00
|
|
|
find_package (Sphinx)
|
2016-08-03 11:52:43 -06:00
|
|
|
if(SPHINX_FOUND AND BUILDSWIGPYTHON)
|
2015-11-24 11:07:47 -08:00
|
|
|
# Python required for Sphinx build
|
2016-03-25 11:57:13 -07:00
|
|
|
find_package (PythonLibs ${PYTHONBUILD_VERSION} REQUIRED)
|
2015-05-18 11:08:19 -07:00
|
|
|
string (REPLACE "." ";" PYTHON_VERSION_LIST ${PYTHONLIBS_VERSION_STRING})
|
|
|
|
list (GET PYTHON_VERSION_LIST 0 PYTHON_VERSION_MAJOR)
|
|
|
|
list (GET PYTHON_VERSION_LIST 1 PYTHON_VERSION_MINOR)
|
|
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/pydoc/conf.py @ONLY)
|
2015-05-21 11:48:55 -07:00
|
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/index.rst ${CMAKE_CURRENT_BINARY_DIR}/pydoc/index.rst COPYONLY)
|
2015-05-28 10:19:49 -07:00
|
|
|
add_custom_target (pydoc ALL
|
2015-05-27 14:02:46 -07:00
|
|
|
COMMAND rm -r -f ${CMAKE_BINARY_DIR}/pyupm && mkdir -p ${CMAKE_BINARY_DIR}/pyupm
|
|
|
|
COMMAND find ${CMAKE_BINARY_DIR}/src -name "_pyupm_*.so" -exec cp {} ${CMAKE_BINARY_DIR}/pyupm \;
|
|
|
|
COMMAND find ${CMAKE_BINARY_DIR}/src -name "pyupm_*.py" -exec cp {} ${CMAKE_BINARY_DIR}/pyupm \;
|
|
|
|
COMMAND ${SPHINX_API_EXECUTABLE} -f -o pydoc ${CMAKE_BINARY_DIR}/pyupm
|
2015-11-24 11:07:47 -08:00
|
|
|
# TODO: use a separate cmake FILE module for string replacement instead
|
2015-05-18 11:08:19 -07:00
|
|
|
COMMAND ${SPHINX_EXECUTABLE} -b html pydoc html/python
|
|
|
|
COMMAND sed -i.bak s|\">pyupm_|\">|g html/python/index.html html/python/modules.html
|
2015-06-02 11:55:49 -07:00
|
|
|
COMMAND sed -i.bak s|[[:space:]][mM]odule</a>|</a>|g html/python/index.html html/python/modules.html
|
2015-05-27 15:04:46 +01:00
|
|
|
DEPENDS doc
|
2015-05-18 11:08:19 -07:00
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
COMMENT "Generating API documentation with Sphinx" VERBATIM
|
|
|
|
)
|
2015-05-27 15:04:46 +01:00
|
|
|
endif ()
|
2015-11-24 11:07:47 -08:00
|
|
|
# Check if Yuidoc is installed and add target for API documentation
|
2015-05-20 10:58:45 -07:00
|
|
|
find_package(Yuidoc)
|
2015-05-28 10:19:49 -07:00
|
|
|
if(YUIDOC_FOUND AND BUILDSWIGNODE)
|
2015-11-24 11:07:47 -08:00
|
|
|
# Node required for Yuidoc documentation
|
2015-05-27 14:02:46 -07:00
|
|
|
find_package(Node)
|
|
|
|
file(GLOB_RECURSE JSDOC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/doxy/node doxy/node/*)
|
|
|
|
foreach(JSDOC_FILE ${JSDOC_FILES})
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doxy/node/${JSDOC_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${JSDOC_FILE} COPYONLY)
|
|
|
|
endforeach()
|
2015-05-28 10:19:49 -07:00
|
|
|
add_custom_target(jsdoc ALL
|
2016-04-12 16:56:55 -07:00
|
|
|
COMMAND ${NODEJS_EXECUTABLE} docgen -m upm -i xml -t ${CMAKE_CURRENT_SOURCE_DIR}/src -g ../../
|
2015-05-27 14:02:46 -07:00
|
|
|
COMMAND ${YUIDOC_EXECUTABLE} -C --no-sort --helpers generators/yuidoc/helper.js --themedir generators/yuidoc/tmpl -o html/node jsdoc/yuidoc/upm
|
2016-04-12 16:56:55 -07:00
|
|
|
COMMAND ${NODEJS_EXECUTABLE} tolower -i html/node
|
2015-05-27 14:02:46 -07:00
|
|
|
DEPENDS doc
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
2015-05-20 10:58:45 -07:00
|
|
|
COMMENT "Generating API documentation with Yuidoc" VERBATIM
|
2015-05-27 14:02:46 -07:00
|
|
|
)
|
2015-05-20 10:58:45 -07:00
|
|
|
endif()
|
2014-06-11 09:13:15 +01:00
|
|
|
endif()
|
2014-04-30 15:47:12 +01:00
|
|
|
|
2014-06-09 17:10:44 +01:00
|
|
|
if (IPK)
|
2015-08-17 17:21:13 +03:00
|
|
|
|
|
|
|
# Get target package arch from Yocto ADT sysroot if set or host OS, mapping to Ubuntu name if necessary
|
|
|
|
if (DEFINED ENV{OECORE_TARGET_SYSROOT})
|
|
|
|
GET_FILENAME_COMPONENT (DETECTED_SYSROOT $ENV{OECORE_TARGET_SYSROOT} NAME)
|
|
|
|
string (REGEX REPLACE "-poky-linux" "" TARGET_ARCH "${DETECTED_SYSROOT}")
|
|
|
|
else ()
|
2015-11-24 11:07:47 -08:00
|
|
|
# Debian uses amd64 to denote x86_64
|
2015-08-17 17:21:13 +03:00
|
|
|
if (DETECTED_ARCH STREQUAL "x86_64")
|
|
|
|
set (TARGET_ARCH "amd64")
|
|
|
|
else ()
|
|
|
|
set (TARGET_ARCH ${DETECTED_ARCH})
|
|
|
|
endif ()
|
|
|
|
endif ()
|
2016-09-05 21:57:41 -07:00
|
|
|
message (STATUS "Package arch is ${TARGET_ARCH}")
|
2015-08-17 17:21:13 +03:00
|
|
|
|
2016-03-22 18:42:31 +00:00
|
|
|
set(CPACK_GENERATOR "DEB")
|
2015-08-17 17:21:13 +03:00
|
|
|
set(OPKG_ARCH ${TARGET_ARCH})
|
2014-06-09 17:10:44 +01:00
|
|
|
set(CPACK_BINARY_DIR ${CMAKE_BINARY_DIR})
|
|
|
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Intel IoT-Devkit") #required
|
2014-06-09 19:22:52 +01:00
|
|
|
set(upm_PACKAGE_ON_TAG ".")
|
|
|
|
if ("${VERSION_COMMIT}" STREQUAL "")
|
|
|
|
set(upm_PACKAGE_ON_TAG "")
|
|
|
|
endif()
|
|
|
|
set(CPACK_PACKAGE_VERSION
|
2015-08-12 14:07:46 -07:00
|
|
|
"${upm_VERSION_MAJOR}.${upm_VERSION_MINOR}.${upm_VERSION_PATCH}${upm_PACKAGE_ON_TAG}${VERSION_COMMIT}")
|
2014-06-10 11:48:34 +01:00
|
|
|
set(CPACK_PACKAGE_NAME "upm")
|
2014-06-09 17:10:44 +01:00
|
|
|
set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
|
2015-08-17 17:21:13 +03:00
|
|
|
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${TARGET_ARCH})
|
|
|
|
set(CPACK_SYSTEM_NAME ${TARGET_ARCH})
|
2015-08-24 19:24:57 +03:00
|
|
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "mraa (>= ${MRAA_VERSION})")
|
2014-06-10 11:48:34 +01:00
|
|
|
set(CPACK_DEBIAN_PACKAGE_PROVIDES "upm-dev, upm-dbg, upm-doc")
|
2014-06-09 19:22:52 +01:00
|
|
|
set(CPACK_DEBIAN_PACKAGE_REPLACES ${CPACK_DEBIAN_PACKAGE_PROVIDES})
|
|
|
|
set(CPACK_DEBIAN_PACKAGE_CONFLICTS ${CPACK_DEBIAN_PACKAGE_PROVIDES})
|
2014-06-09 17:10:44 +01:00
|
|
|
set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}")
|
|
|
|
include (CPack)
|
|
|
|
endif()
|
|
|
|
|
2015-07-17 16:46:17 -07:00
|
|
|
if (RPM)
|
2016-09-05 21:57:41 -07:00
|
|
|
message (STATUS "RPM packaging enabled for ${DETECTED_ARCH}")
|
2015-07-17 16:46:17 -07:00
|
|
|
set(CPACK_PACKAGE_VERSION ${VERSION})
|
|
|
|
set(CPACK_GENERATOR "RPM")
|
2016-01-07 17:21:53 -08:00
|
|
|
set(CPACK_PACKAGE_NAME "upm")
|
2016-04-07 16:21:45 -07:00
|
|
|
set(upm_PACKAGE_ON_TAG ".")
|
|
|
|
if ("${VERSION_COMMIT}" STREQUAL "")
|
|
|
|
set(upm_PACKAGE_ON_TAG "")
|
|
|
|
endif()
|
2015-07-17 16:46:17 -07:00
|
|
|
set(CPACK_PACKAGE_VERSION
|
2016-04-07 16:21:45 -07:00
|
|
|
"${upm_VERSION_MAJOR}.${upm_VERSION_MINOR}.${upm_VERSION_PATCH}${upm_PACKAGE_ON_TAG}${VERSION_COMMIT}")
|
2015-07-17 16:46:17 -07:00
|
|
|
set(CPACK_PACKAGE_CONTACT "Intel IoT-Devkit")
|
|
|
|
set(CPACK_PACKAGE_VENDOR "Intel IoT-Devkit")
|
2015-08-24 19:24:57 +03:00
|
|
|
set(CPACK_RPM_PACKAGE_REQUIRES "mraa >= ${MRAA_VERSION}")
|
2015-07-17 16:46:17 -07:00
|
|
|
set(CPACK_RPM_PACKAGE_PROVIDES "${CPACK_PACKAGE_NAME}-devel")
|
2016-04-07 16:21:45 -07:00
|
|
|
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
|
2015-07-17 16:46:17 -07:00
|
|
|
EXECUTE_PROCESS(COMMAND rpm --showrc
|
|
|
|
COMMAND grep -E "dist[[:space:]]*\\."
|
|
|
|
COMMAND sed -e "s/^.*dist\\s*\\.//"
|
|
|
|
COMMAND tr \\n \\t
|
|
|
|
COMMAND sed -e s/\\t//
|
|
|
|
OUTPUT_VARIABLE DIST_TAG)
|
2016-01-07 17:21:53 -08:00
|
|
|
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.${DIST_TAG}.${DETECTED_ARCH}")
|
2015-07-17 16:46:17 -07:00
|
|
|
include(CPack)
|
|
|
|
endif()
|
|
|
|
|
2016-03-21 17:22:25 +00:00
|
|
|
if (BUILDSWIGPYTHON OR BUILDTESTS)
|
|
|
|
if (BUILDPYTHON3)
|
|
|
|
set (PYTHONBUILD_VERSION 3)
|
|
|
|
else ()
|
|
|
|
set (PYTHONBUILD_VERSION 2.7)
|
|
|
|
endif ()
|
|
|
|
endif ()
|
|
|
|
|
2016-08-17 17:58:21 -07:00
|
|
|
# UPM common headers
|
|
|
|
set (UPM_COMMON_HEADER_DIRS
|
|
|
|
${CMAKE_HOME_DIRECTORY}/include
|
|
|
|
${CMAKE_HOME_DIRECTORY}/include/fti)
|
|
|
|
|
2016-06-24 17:11:28 -07:00
|
|
|
add_subdirectory (src)
|
2016-07-06 16:49:55 -06:00
|
|
|
if(BUILDEXAMPLES)
|
2016-08-17 17:58:21 -07:00
|
|
|
add_subdirectory (examples/c)
|
|
|
|
if(BUILDCPP)
|
|
|
|
add_subdirectory (examples/c++)
|
|
|
|
endif(BUILDCPP)
|
2016-07-06 16:49:55 -06:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(BUILDJAVAEXAMPLES)
|
|
|
|
add_subdirectory (examples/java)
|
|
|
|
endif()
|
|
|
|
|
2016-03-21 17:22:25 +00:00
|
|
|
if (BUILDTESTS)
|
2016-03-25 11:57:13 -07:00
|
|
|
find_package (PythonInterp ${PYTHONBUILD_VERSION} REQUIRED)
|
2016-03-21 17:22:25 +00:00
|
|
|
enable_testing ()
|
|
|
|
add_subdirectory (tests)
|
2016-01-13 13:38:23 +02:00
|
|
|
endif()
|
2016-08-17 17:58:21 -07:00
|
|
|
|
|
|
|
# Install C headers
|
|
|
|
install(DIRECTORY include/ DESTINATION include/upm
|
|
|
|
FILES_MATCHING PATTERN "*.h")
|