diff --git a/CMakeLists.txt b/CMakeLists.txt index 363bbe0735fe095a333ef10f2a03de232bc25658..4fe36c6404057587ec782809c4421eaac6c99c8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -710,6 +710,8 @@ endif() set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MARCH}") +set(MGE_VERSION_SCRIPT ${PROJECT_SOURCE_DIR}/src/version.ld CACHE INTERNAL "Path to linker version script") + # Write out megbrain_build_config.h # It defines macros needed by both megbrain and dnn configure_file(src/megbrain_build_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/genfiles/megbrain_build_config.h) diff --git a/imperative/CMakeLists.txt b/imperative/CMakeLists.txt index 910f5bb4254256a5ffa886c0f43a08378553e2af..24d788ba4d1a79ff391486c7937c58815844fced 100644 --- a/imperative/CMakeLists.txt +++ b/imperative/CMakeLists.txt @@ -47,8 +47,7 @@ add_custom_target(gen_opr_py DEPENDS ${GEN_OPS_FILE}) ##################### end of opdef generation ######################### -set(VERSION_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/src/version.ld) -add_custom_target(_version_ld SOURCES ${VERSION_SCRIPT}) +add_custom_target(_version_ld SOURCES ${MGE_VERSION_SCRIPT}) add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/pybind11 ${PROJECT_BINARY_DIR}/third_party/pybind11) pybind11_add_module(${MODULE_NAME} NO_EXTRAS ${SRCS}) @@ -62,11 +61,11 @@ elseif (MSVC OR WIN32) else() if (MGE_WITH_PYTHON_MODULE) # use to fix runtime crash when build both mgb(MGE_WITH_PYTHON_MODULE) and imperative(MGE_BUILD_IMPERATIVE_RT) - target_link_libraries(${MODULE_NAME} PRIVATE megengine_export -Wl,--version-script=${VERSION_SCRIPT}) + target_link_libraries(${MODULE_NAME} PRIVATE megengine_export -Wl,--version-script=${MGE_VERSION_SCRIPT}) else() # use to reduce whl size by depend on megbrain/dnn directly, caused by cmake create two cuda fatbin # elf section on both megengine_export and target which depend on megengine_export - target_link_libraries(${MODULE_NAME} PRIVATE megbrain megdnn -Wl,--version-script=${VERSION_SCRIPT}) + target_link_libraries(${MODULE_NAME} PRIVATE megbrain megdnn -Wl,--version-script=${MGE_VERSION_SCRIPT}) if (MGE_WITH_DISTRIBUTED) message("-- Imperative configured to link megray") target_link_libraries(${MODULE_NAME} PRIVATE megray) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ef96423eba581dcdc4a88171c93a47f0542883ea..12d6e95777717f5bede1957b9de595a034899822 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -181,7 +181,7 @@ if(ANDROID) target_link_libraries(megbrain PUBLIC log) endif() -set (_VER_FILE ${PROJECT_SOURCE_DIR}/imperative/src/version.ld) +set (_VER_FILE ${PROJECT_SOURCE_DIR}/src/version.ld) if(MGE_BUILD_IMPERATIVE_RT ) diff --git a/imperative/src/version.ld b/src/version.ld similarity index 100% rename from imperative/src/version.ld rename to src/version.ld