1/* 2 * Copyright (c) 2014-2017, Siemens AG. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * 1. Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. 9 * 10 * 2. Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 * POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#ifndef EMBB_BASE_C_INTERNAL_CMAKE_CONFIG_H_ 28#define EMBB_BASE_C_INTERNAL_CMAKE_CONFIG_H_ 29 30/* This file is used as input for CMake. CMake creates a file cmake_config.h in 31 its current build directory under the path builddir/embb/base/internal/. From 32 there, the cmake_config.h can be included as usual using 33 #include <embb/base/c/internal/cmake_config.h> 34 */ 35 36/** 37 * Is used to get the number of cores on certain systems. 38 */ 39#cmakedefine EMBB_PLATFORM_HAS_HEADER_SYSINFO 40 41/** 42 * Is used to get the number of cores on certain systems. 43 */ 44#cmakedefine EMBB_PLATFORM_HAS_SC_NPROCESSORS_ONLN 45 46/** 47 * Is used to set thread affinities on certain systems. 48 */ 49#cmakedefine EMBB_PLATFORM_HAS_HEADER_CPUSET 50 51/** 52 * Is used to set thread affinities on certain systems. 53 */ 54#cmakedefine EMBB_PLATFORM_HAS_HEADER_PTHREAD_NP 55 56/** 57 * Is used for Linux thread affinities. 58 */ 59#cmakedefine EMBB_PLATFORM_HAS_GLIB_CPU 60 61/** 62 * Enables mutex-based implementation of all synchronization constructs. 63 */ 64#cmakedefine EMBB_THREADING_ANALYSIS_MODE 65 66#cmakedefine EMBB_PLATFORM_USE_C11_CXX11 67 68/** 69 * Version defines. 70 */ 71#define EMBB_BASE_VERSION_MAJOR ${EMBB_BASE_VERSION_MAJOR} 72#define EMBB_BASE_VERSION_MINOR ${EMBB_BASE_VERSION_MINOR} 73#define EMBB_BASE_VERSION_PATCH ${EMBB_BASE_VERSION_PATCH} 74 75 76#endif /* EMBB_BASE_INTERNAL_CMAKE_CONFIG_H_ */ 77