diff --git a/CMakeLists.txt b/CMakeLists.txt index 21d575b..daa5723 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ project(kaldifeat) # remember to change the version in # scripts/conda/kaldifeat/meta.yaml # scripts/conda-cpu/kaldifeat/meta.yaml -set(kaldifeat_VERSION "1.25") +set(kaldifeat_VERSION "1.25.0") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") @@ -26,11 +26,6 @@ endif() set(CMAKE_INSTALL_RPATH ${kaldifeat_rpath_origin}) set(CMAKE_BUILD_RPATH ${kaldifeat_rpath_origin}) -set(BUILD_SHARED_LIBS ON) -if(WIN32) - message(STATUS "Set BUILD_SHARED_LIBS to OFF for Windows") - set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) -endif() if(NOT CMAKE_BUILD_TYPE) message(STATUS "No CMAKE_BUILD_TYPE given, default to Release") @@ -45,10 +40,16 @@ message(STATUS "C++ Standard version: ${CMAKE_CXX_STANDARD}") list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) - +option(BUILD_SHARED_LIBS "Whether to build shared libraries" ON) option(kaldifeat_BUILD_TESTS "Whether to build tests or not" ON) option(kaldifeat_BUILD_PYMODULE "Whether to build python module or not" ON) +message(STATUS "BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}") + +if(BUILD_SHARED_LIBS AND MSVC) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + if(kaldifeat_BUILD_PYMODULE) include(pybind11) endif() diff --git a/kaldifeat/csrc/CMakeLists.txt b/kaldifeat/csrc/CMakeLists.txt index 2e140a6..ab63496 100644 --- a/kaldifeat/csrc/CMakeLists.txt +++ b/kaldifeat/csrc/CMakeLists.txt @@ -78,10 +78,16 @@ file(COPY DESTINATION ${PROJECT_BINARY_DIR}/include/kaldifeat/csrc ) +if(BUILD_SHARED_LIBS AND WIN32) + install(TARGETS kaldifeat_core + DESTINATION ../ + ) +else() + install(TARGETS kaldifeat_core + DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) +endif() -install(TARGETS kaldifeat_core - DESTINATION ${CMAKE_INSTALL_LIBDIR} -) install(FILES ${all_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/kaldifeat/csrc )