diff --git a/CMakeLists.txt b/CMakeLists.txt index 8240c803..1af7100e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,10 +33,18 @@ if(RCUTILS_NO_FILESYSTEM) add_compile_options(-DRCUTILS_NO_FILESYSTEM=1) endif() +if(RCUTILS_NO_THREAD_SUPPORT) + add_compile_options(-DRCUTILS_NO_THREAD_SUPPORT=1) +endif() + if(RCUTILS_AVOID_DYNAMIC_ALLOCATION) add_compile_options(-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=1) endif() +# target_compile_definitions(${PROJECT_NAME} PRIVATE "RCUTILS_NO_FILESYSTEM") +# target_compile_definitions(${PROJECT_NAME} PRIVATE "RCUTILS_NO_THREAD_SUPPORT") +# target_compile_definitions(${PROJECT_NAME} PRIVATE "RCUTILS_AVOID_DYNAMIC_ALLOCATION") + configure_file ( "${PROJECT_SOURCE_DIR}/include/rcutils/error_handling.h.in" "${PROJECT_BINARY_DIR}/include/rcutils/error_handling.h" diff --git a/include/rcutils/macros.h b/include/rcutils/macros.h index e254df46..11981683 100644 --- a/include/rcutils/macros.h +++ b/include/rcutils/macros.h @@ -28,7 +28,9 @@ extern "C" // Note: this block was migrated from rmw/macros.h // This block either sets RCUTILS_THREAD_LOCAL or RCUTILS_THREAD_LOCAL_PTHREAD. -#if defined _WIN32 || defined __CYGWIN__ +#if RCUTILS_NO_THREAD_SUPPORT + #define RCUTILS_THREAD_LOCAL +#elif defined _WIN32 || defined __CYGWIN__ // Windows or Cygwin #define RCUTILS_THREAD_LOCAL __declspec(thread) #elif defined __APPLE__ diff --git a/src/time_unix.c b/src/time_unix.c index 028fb453..ea52711d 100644 --- a/src/time_unix.c +++ b/src/time_unix.c @@ -39,7 +39,7 @@ extern "C" // This id an appropriate check for clock_gettime() according to: // http://man7.org/linux/man-pages/man2/clock_gettime.2.html # if !defined(_POSIX_TIMERS) || !_POSIX_TIMERS -# error no monotonic clock function available +# warning no monotonic clock function available # endif // !defined(_POSIX_TIMERS) || !_POSIX_TIMERS #endif // !defined(__MACH__)