exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name
f19edfa95f8dc9fa596282a210757e4d6d0cd490 broke for some people who used
libaom.dll as the linked library as the def file caused the linker to
produce aom.dll instead
Signed-off-by: Christopher Degawa <christopher.degawa@intel.com>
Change-Id: I9040de491d9df5a9434e7874ed8b6e8d1c82a203
diff --git a/build/cmake/exports.cmake b/build/cmake/exports.cmake
index 4f9d043..3fcdd0c 100644
--- a/build/cmake/exports.cmake
+++ b/build/cmake/exports.cmake
@@ -27,23 +27,25 @@
set(aom_sym_file "${AOM_CONFIG_DIR}/libaom.${symbol_file_ext}")
- add_custom_target(generate_exports
- COMMAND ${CMAKE_COMMAND}
- -DAOM_ROOT="${AOM_ROOT}"
- -DAOM_CONFIG_DIR="${AOM_CONFIG_DIR}"
- -DAOM_TARGET_SYSTEM=${AOM_TARGET_SYSTEM}
- -DAOM_SYM_FILE="${aom_sym_file}"
- -DAOM_MSVC=${MSVC}
- -DAOM_XCODE=${XCODE}
- -DCONFIG_NAME=$<CONFIG>
- -DCONFIG_AV1_DECODER=${CONFIG_AV1_DECODER}
- -DCONFIG_AV1_ENCODER=${CONFIG_AV1_ENCODER}
- -DCONFIG_INSPECTION=${CONFIG_INSPECTION}
- -DENABLE_TESTS=${ENABLE_TESTS}
- -P
- "${AOM_ROOT}/build/cmake/generate_exports.cmake"
- SOURCES ${AOM_EXPORTS_SOURCES}
- DEPENDS ${AOM_EXPORTS_SOURCES} BYPRODUCTS ${aom_sym_file})
+ add_custom_target(
+ generate_exports
+ COMMAND ${CMAKE_COMMAND}
+ -DAOM_ROOT="${AOM_ROOT}"
+ -DAOM_CONFIG_DIR="${AOM_CONFIG_DIR}"
+ -DAOM_TARGET_SYSTEM=${AOM_TARGET_SYSTEM}
+ -DAOM_SYM_FILE="${aom_sym_file}"
+ -DAOM_MSVC=${MSVC}
+ -DAOM_XCODE=${XCODE}
+ -DCMAKE_SHARED_LIBRARY_PREFIX="${CMAKE_SHARED_LIBRARY_PREFIX}"
+ -DCONFIG_NAME=$<CONFIG>
+ -DCONFIG_AV1_DECODER=${CONFIG_AV1_DECODER}
+ -DCONFIG_AV1_ENCODER=${CONFIG_AV1_ENCODER}
+ -DCONFIG_INSPECTION=${CONFIG_INSPECTION}
+ -DENABLE_TESTS=${ENABLE_TESTS}
+ -P
+ "${AOM_ROOT}/build/cmake/generate_exports.cmake"
+ SOURCES ${AOM_EXPORTS_SOURCES}
+ DEPENDS ${AOM_EXPORTS_SOURCES} BYPRODUCTS ${aom_sym_file})
# Make libaom depend on the exports file, and set flags to pick it up when
# creating the dylib.
diff --git a/build/cmake/generate_exports.cmake b/build/cmake/generate_exports.cmake
index 8720ac8..3a5f67c 100644
--- a/build/cmake/generate_exports.cmake
+++ b/build/cmake/generate_exports.cmake
@@ -10,6 +10,7 @@
#
cmake_minimum_required(VERSION 3.5)
+# CMAKE_SHARED_LIBRARY_PREFIX can be empty
set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "AOM_TARGET_SYSTEM" "AOM_SYM_FILE"
"CONFIG_AV1_DECODER" "CONFIG_AV1_ENCODER")
@@ -24,7 +25,8 @@
if("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin")
set(symbol_prefix "_")
elseif("${AOM_TARGET_SYSTEM}" MATCHES "Windows\|MSYS")
- file(WRITE "${AOM_SYM_FILE}" "LIBRARY aom\n" "EXPORTS\n")
+ file(WRITE "${AOM_SYM_FILE}" "LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}aom\n"
+ "EXPORTS\n")
else()
set(symbol_suffix ";")
endif()
@@ -34,7 +36,8 @@
if("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin")
file(REMOVE "${aom_sym_file}")
elseif("${AOM_TARGET_SYSTEM}" MATCHES "Windows\|MSYS")
- file(WRITE "${aom_sym_file}" "LIBRARY aom\n" "EXPORTS\n")
+ file(WRITE "${aom_sym_file}" "LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}aom\n"
+ "EXPORTS\n")
else()
file(WRITE "${aom_sym_file}" "{\nglobal:\n")
endif()