From d84dc7f75c96184b89ea27bd5f1e7eb73c436e24 Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Tue, 21 Apr 2020 01:27:21 +0800 Subject: [PATCH] build(python_module): use consistent flag declaration in SWIG and c++ Include cmake generated megbrain_build_config.h in SWIG in order to remove usage of MGB_DEF. GitOrigin-RevId: d3e841eaf645e9501fa911d4d0462be36fba9b27 --- python_module/CMakeLists.txt | 4 +++- python_module/src/swig/mgb.i | 1 + src/CMakeLists.txt | 2 -- 3 files changed, 4 insertions(+), 3 deletions(-) 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 7b7f05b7..7496eff5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -31,10 +31,8 @@ if(MGE_WITH_CUDA AND MGE_WITH_TRT) list(APPEND SOURCES ${SOURCES_}) 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)