diff --git a/CMakeLists.txt b/CMakeLists.txt index f7316ee..444b670 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.12) project(libime VERSION 1.1.9) set(LibIME_VERSION ${PROJECT_VERSION}) @@ -8,6 +8,7 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${C ######################################### # Options ######################################### +option(BUILD_SHARED_LIBS "Build library as shared libs" On) option(ENABLE_TEST "Build Test" On) option(ENABLE_COVERAGE "Build the project with gcov support (Need ENABLE_TEST=On)" Off) set(GCOV_TOOL "gcov" CACHE STRING "Path to gcov tool used by coverage.") diff --git a/src/libime/core/CMakeLists.txt b/src/libime/core/CMakeLists.txt index 35ee954..d51e732 100644 --- a/src/libime/core/CMakeLists.txt +++ b/src/libime/core/CMakeLists.txt @@ -9,7 +9,7 @@ foreach(f ${__KENLM_SRCS}) endif() endforeach() -add_library(kenlm STATIC ${KENLM_SRCS}) +add_library(kenlm OBJECT ${KENLM_SRCS}) target_include_directories(kenlm PUBLIC $) target_compile_definitions(kenlm PUBLIC -DKENLM_MAX_ORDER=3 PRIVATE -DNDEBUG) target_link_libraries(kenlm PUBLIC Boost::boost PkgConfig::ZSTD) @@ -69,7 +69,7 @@ ecm_setup_version(PROJECT # the cmake if will set(IMECore_SOVERSION 0) -add_library(IMECore SHARED ${LIBIME_SRCS}) +add_library(IMECore ${LIBIME_SRCS}) set_target_properties(IMECore PROPERTIES VERSION ${IMECore_VERSION} SOVERSION ${IMECore_SOVERSION} diff --git a/src/libime/pinyin/CMakeLists.txt b/src/libime/pinyin/CMakeLists.txt index a5e6d35..96fcbbb 100644 --- a/src/libime/pinyin/CMakeLists.txt +++ b/src/libime/pinyin/CMakeLists.txt @@ -32,7 +32,7 @@ ecm_setup_version(PROJECT PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/LibIMEPinyinConfigVersion.cmake") set(IMEPinyin_SOVERSION 0) -add_library(IMEPinyin SHARED ${LIBIME_PINYIN_SRCS}) +add_library(IMEPinyin ${LIBIME_PINYIN_SRCS}) set_target_properties(IMEPinyin PROPERTIES VERSION ${IMEPinyin_VERSION} SOVERSION ${IMEPinyin_SOVERSION} diff --git a/src/libime/table/CMakeLists.txt b/src/libime/table/CMakeLists.txt index 62317bd..620a6ee 100644 --- a/src/libime/table/CMakeLists.txt +++ b/src/libime/table/CMakeLists.txt @@ -23,7 +23,7 @@ ecm_setup_version(PROJECT PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/LibIMETableConfigVersion.cmake") set(IMETable_SOVERSION 0) -add_library(IMETable SHARED ${LIBIME_TABLE_SRCS}) +add_library(IMETable ${LIBIME_TABLE_SRCS}) set_target_properties(IMETable PROPERTIES VERSION ${IMETable_VERSION} SOVERSION ${IMETable_SOVERSION} diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index e5ecf4b..b8b9445 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -24,7 +24,7 @@ target_link_libraries(libime_tabledict LibIME::Table) install(TARGETS libime_tabledict DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools) add_executable(LibIME::tabledict ALIAS libime_tabledict) -add_library(filesystem_helper filesystem_helper.cpp) +add_library(filesystem_helper STATIC filesystem_helper.cpp) if (HAS_STD_FILESYSTEM) target_compile_definitions(filesystem_helper PRIVATE -DHAS_STD_FILESYSTEM) else()