Files
baidu_fanyi/CMakeLists.txt

52 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(baidu_fanyi LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
if (MSVC)
add_compile_options(/utf-8)
add_compile_options(/EHsc)
add_definitions(-DWIN32_LEAN_AND_MEAN)
add_definitions(-D_WIN32_WINNT=0x0601)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/)
find_package(CURL CONFIG REQUIRED)
find_package(OpenSSL CONFIG REQUIRED)
find_package(Xlnt CONFIG REQUIRED)
find_package(nlohmann_json CONFIG REQUIRED)
find_package(CLI11 CONFIG REQUIRED)
find_package(spdlog CONFIG REQUIRED)
find_package(fmt CONFIG REQUIRED)
set(SOURCES
bf.config.cpp bf.config.h
bf.request.cpp bf.request.h
bf.interface.cpp bf.interface.h
bf.util.cpp bf.util.h
bf.xlnt.cpp bf.xlnt.h
)
add_executable(baidu_fanyi main.cpp ${SOURCES})
add_executable(cli_test cli_test.cpp)
target_link_libraries(baidu_fanyi PRIVATE
xlnt::xlnt OpenSSL::SSL OpenSSL::Crypto
CURL::libcurl nlohmann_json::nlohmann_json
CLI11::CLI11 spdlog::spdlog fmt::fmt
)
target_link_libraries(cli_test PRIVATE CLI11::CLI11)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/compile_commands.json
${CMAKE_SOURCE_DIR}/build/compile_commands.json
RESULT_VARIABLE copy_result
ERROR_QUIET
OUTPUT_QUIET
)