mirror of
https://github.com/yanyiwu/cppjieba.git
synced 2025-07-18 00:00:12 +08:00
- Changed Release and Debug compiler flags to exclude default libraries for better compatibility. - Ensured proper configuration for MSVC builds in the unittest CMakeLists.
50 lines
1.4 KiB
CMake
50 lines
1.4 KiB
CMake
message(STATUS "MSVC value: ${MSVC}")
|
|
if (MSVC)
|
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
add_compile_options(/utf-8)
|
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /NODEFAULTLIB:LIBCMT")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /NODEFAULTLIB:LIBCMTD")
|
|
endif()
|
|
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
googletest
|
|
GIT_REPOSITORY https://github.com/google/googletest.git
|
|
GIT_TAG release-1.12.1
|
|
)
|
|
FetchContent_MakeAvailable(googletest)
|
|
|
|
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
|
|
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
|
|
|
|
ADD_DEFINITIONS(-DLOGGING_LEVEL=LL_WARNING)
|
|
|
|
# Add include directories
|
|
INCLUDE_DIRECTORIES(
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_BINARY_DIR}/test
|
|
${PROJECT_SOURCE_DIR}/include
|
|
${PROJECT_SOURCE_DIR}/deps/limonp/include
|
|
${CMAKE_BINARY_DIR}/_deps/googletest-src/googletest/include
|
|
)
|
|
|
|
ADD_EXECUTABLE(test.run
|
|
gtest_main.cpp
|
|
keyword_extractor_test.cpp
|
|
trie_test.cpp
|
|
segments_test.cpp
|
|
pos_tagger_test.cpp
|
|
jieba_test.cpp
|
|
pre_filter_test.cpp
|
|
unicode_test.cpp
|
|
textrank_test.cpp
|
|
)
|
|
|
|
TARGET_LINK_LIBRARIES(test.run gtest gtest_main gmock gmock_main)
|
|
|
|
enable_testing()
|
|
ADD_TEST(NAME test.run COMMAND test.run)
|
|
SET_TESTS_PROPERTIES(test.run PROPERTIES WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|