keeweb/extension/native-messaging-host/CMakeLists.txt

35 lines
955 B
CMake

cmake_minimum_required(VERSION 3.7)
project(keeweb-native-messaging-host)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
FetchContent_Declare(
libuv
GIT_REPOSITORY https://github.com/libuv/libuv.git
GIT_TAG v1.41.0
)
FetchContent_MakeAvailable(libuv)
set(OUTPUT_NAME ${PROJECT_NAME})
set(SOURCES src/native-messaging-host.cpp)
add_executable(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME} PRIVATE uv_a)
target_include_directories(${PROJECT_NAME} PRIVATE ${libuv_SOURCE_DIR}/include)
if(WIN32)
target_compile_options(${PROJECT_NAME} PRIVATE /W4 /WX /permissive-)
else()
target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -pedantic -Werror)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
target_compile_options(${PROJECT_NAME} PRIVATE -fsanitize=address,undefined)
target_link_options(${PROJECT_NAME} PRIVATE -fsanitize=address,undefined)
endif()