diff --git a/CMakeLists.txt b/CMakeLists.txt index 149024a9880db820f8cdbe8c6bc9bf371987fad8..68b7fa17bfb1912c0319bd2b099cedd76a9f1c27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,8 @@ if(NOT uppercase_CMAKE_BUILD_TYPE MATCHES "^(DEBUG|RELEASE|RELWITHDEBINFO|MINSIZ endif() message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") +add_definitions(-DONEFLOW_CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "") option(THIRD_PARTY "Build third party" ON) diff --git a/oneflow/__main__.py b/oneflow/__main__.py index e93609569583a990f424220a6d9349604a72df03..7b575523a1d024c935cd68e78c15a5f9897416c8 100644 --- a/oneflow/__main__.py +++ b/oneflow/__main__.py @@ -48,6 +48,7 @@ def main(): print("path:", oneflow.__path__) print("version:", oneflow.__version__) + print("cmake_build_type:", oneflow.sysconfig.cmake_build_type()) if __name__ == "__main__": diff --git a/oneflow/api/python/flags.cpp b/oneflow/api/python/flags.cpp index 4f9cfd89a11f663f8c9b0f2246a97f81c3a9f879..32e53492e8d373cb60cf001d74b600469b57e9c1 100644 --- a/oneflow/api/python/flags.cpp +++ b/oneflow/api/python/flags.cpp @@ -57,6 +57,18 @@ ONEFLOW_API_PYBIND11_MODULE("flags", m) { return false; #endif // RPC_BACKEND_LOCAL }); + +#define STRINGIFY(x) STRINGIFY_(x) +#define STRINGIFY_(x) #x + m.def("cmake_build_type", []() { +#ifdef ONEFLOW_CMAKE_BUILD_TYPE + return std::string(STRINGIFY(ONEFLOW_CMAKE_BUILD_TYPE)); +#else + return std::string("Undefined"); +#endif // ONEFLOW_CMAKE_BUILD_TYPE + }); +#undef STRINGIFY +#undef STRINGIFY_ } } // namespace oneflow diff --git a/oneflow/python/framework/sysconfig.py b/oneflow/python/framework/sysconfig.py index f9985b7dbd124e22ec6fce70c4f8ed0ae8dbc07d..0f0e360d63cc028293291b529eb4a4078254bead 100644 --- a/oneflow/python/framework/sysconfig.py +++ b/oneflow/python/framework/sysconfig.py @@ -80,3 +80,8 @@ def has_rpc_backend_grpc() -> bool: @oneflow_export("sysconfig.has_rpc_backend_local") def has_rpc_backend_local() -> bool: return oneflow._oneflow_internal.flags.has_rpc_backend_local() + + +@oneflow_export("sysconfig.cmake_build_type") +def cmake_build_type() -> str: + return oneflow._oneflow_internal.flags.cmake_build_type()