diff --git a/CMakeLists.txt b/CMakeLists.txt index ce9b97de0..4f1bcdabb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,7 +61,7 @@ endif() set(BOOST_COMPONENTS filesystem regex system) if(BOOST_USE_SIGNALS2) - add_definitions("-DBOOST_SIGNALS2") + set(RIME_BOOST_SIGNALS2 1) else() set(BOOST_COMPONENTS ${BOOST_COMPONENTS} signals) endif() @@ -89,7 +89,7 @@ if(ENABLE_LOGGING) add_definitions(-DGOOGLE_GLOG_DLL_DECL=) endif() - add_definitions(-DRIME_ENABLE_LOGGING) + set(RIME_ENABLE_LOGGING 1) endif() @@ -134,6 +134,11 @@ else() message(WARNING "X11/keysym.h not found.") endif() +configure_file( + "${PROJECT_SOURCE_DIR}/src/rime/build_config.h.in" + "${PROJECT_BINARY_DIR}/src/rime/build_config.h") + +include_directories(${PROJECT_BINARY_DIR}/src) include_directories(${PROJECT_SOURCE_DIR}/src) include_directories(${PROJECT_SOURCE_DIR}/thirdparty/include) link_directories(${PROJECT_SOURCE_DIR}/thirdparty/lib) diff --git a/src/rime/build_config.h.in b/src/rime/build_config.h.in new file mode 100644 index 000000000..ebd16527e --- /dev/null +++ b/src/rime/build_config.h.in @@ -0,0 +1,11 @@ +// +// Copyright RIME Developers +// Distributed under the BSD License +// +#ifndef RIME_BUILD_CONFIG_H_ +#define RIME_BUILD_CONFIG_H_ + +#cmakedefine RIME_BOOST_SIGNALS2 +#cmakedefine RIME_ENABLE_LOGGING + +#endif // RIME_BUILD_CONFIG_H_ diff --git a/src/rime/common.h b/src/rime/common.h index e2b91c1b6..cf6c3e96c 100644 --- a/src/rime/common.h +++ b/src/rime/common.h @@ -7,6 +7,8 @@ #ifndef RIME_COMMON_H_ #define RIME_COMMON_H_ +#include + #include #include #include @@ -20,7 +22,7 @@ #include #include #define BOOST_BIND_NO_PLACEHOLDERS -#ifdef BOOST_SIGNALS2 +#ifdef RIME_BOOST_SIGNALS2 #include #include #else @@ -79,7 +81,7 @@ inline an New(Args&&... args) { return std::make_shared(std::forward(args)...); } -#ifdef BOOST_SIGNALS2 +#ifdef RIME_BOOST_SIGNALS2 using boost::signals2::connection; using boost::signals2::signal; #else diff --git a/src/rime/lever/deployment_tasks.cc b/src/rime/lever/deployment_tasks.cc index eea663edc..e40bc6df6 100644 --- a/src/rime/lever/deployment_tasks.cc +++ b/src/rime/lever/deployment_tasks.cc @@ -4,6 +4,9 @@ // // 2011-12-10 GONG Chen // + +#include + #include #include #include diff --git a/src/rime/setup.cc b/src/rime/setup.cc index bb65a9f1b..9a3c7eca3 100644 --- a/src/rime/setup.cc +++ b/src/rime/setup.cc @@ -5,6 +5,8 @@ // 2011-10-02 GONG Chen // +#include + #ifdef RIME_ENABLE_LOGGING #include #endif // RIME_ENABLE_LOGGING