diff --git a/python_module/CMakeLists.txt b/python_module/CMakeLists.txt index 28b0d1f9..4d605932 100644 --- a/python_module/CMakeLists.txt +++ b/python_module/CMakeLists.txt @@ -63,8 +63,10 @@ endif() include(UseSWIG) set_property(SOURCE ${SWIG_SRC} PROPERTY CPLUSPLUS ON) + # cmake < 3.12 do not honor INCLUDE_DIRECTORIES property, just add include directory into SWIG_FLAGS -set_property(SOURCE ${SWIG_SRC} PROPERTY SWIG_FLAGS ${MGB_DEF} -I${PROJECT_SOURCE_DIR}/src/serialization/include) +# Add -I${PROJECT_BINARY_DIR}/genfiles in order to include megbrain_build_config.h so that we don't need to pass cmake flags by -D. +set_property(SOURCE ${SWIG_SRC} PROPERTY SWIG_FLAGS -I${PROJECT_SOURCE_DIR}/src/serialization/include -I${PROJECT_BINARY_DIR}/genfiles) set(SWIG_OUTFILE_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/megengine/_internal) diff --git a/python_module/src/swig/mgb.i b/python_module/src/swig/mgb.i index ff46a699..1a838f5a 100644 --- a/python_module/src/swig/mgb.i +++ b/python_module/src/swig/mgb.i @@ -49,6 +49,7 @@ intb4 = _mgb.intb4 #include "plugin.h" %} +%include "megbrain_build_config.h" %include "comp_node.i" %include "comp_graph.i" %include "symbol_var.i" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 221b071a..0cafea12 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,10 +32,8 @@ if(MGE_WITH_CUDA AND MGE_WITH_TRT) endif() -set(MGB_DEF ${MGB_DEF} PARENT_SCOPE) add_library(megbrain STATIC EXCLUDE_FROM_ALL ${SOURCES}) target_link_libraries(megbrain mgb_opr_param_defs) -target_compile_definitions(megbrain PUBLIC ${MGB_DEF}) target_include_directories(megbrain PUBLIC ${MGB_INC}) if(MGE_WITH_CUDA)