anotherim-desktop/plugins/windows-notification/CMakeLists.txt

75 lines
2.7 KiB
CMake
Raw Normal View History

2021-03-26 11:22:55 +00:00
project(windows-notification)
2020-10-24 22:05:35 +00:00
find_packages(WINDOWS_NOTIFICATION_PACKAGES REQUIRED
Gee
GLib
GModule
GObject
GTK3
)
vala_precompile(WINDOWS_NOTIFICATION_VALA_C
SOURCES
src/plugin.vala
src/register_plugin.vala
2021-02-18 09:24:53 +00:00
# src/win_notification_provider.vala
2020-10-24 22:05:35 +00:00
CUSTOM_VAPIS
${CMAKE_BINARY_DIR}/exports/xmpp-vala.vapi
${CMAKE_BINARY_DIR}/exports/dino.vapi
${CMAKE_BINARY_DIR}/exports/qlite.vapi
2021-03-26 11:22:55 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/vapi/win32.vapi
2021-02-18 09:24:53 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/vapi/winrt.vapi
2021-03-26 11:22:55 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/vapi/shortcutcreator.vapi
2021-02-18 09:24:53 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/vapi/toastnotification.vapi
${CMAKE_CURRENT_SOURCE_DIR}/vapi/enums.vapi
${CMAKE_CURRENT_SOURCE_DIR}/vapi/callbacks.vapi
2020-10-24 22:05:35 +00:00
PACKAGES
${WINDOWS_NOTIFICATION_PACKAGES}
)
2021-03-26 11:22:55 +00:00
set(WINDOWS_API_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/api/src/win32.cpp
2021-02-18 09:24:53 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/api/src/winrt.cpp
2021-03-26 11:22:55 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/api/src/converter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/api/src/shortcutcreator.cpp
2021-02-18 09:24:53 +00:00
${CMAKE_CURRENT_SOURCE_DIR}/api/src/toastnotification.cpp
${CMAKE_CURRENT_SOURCE_DIR}/api/src/callbacks.cpp
)
2021-03-26 11:22:55 +00:00
add_library(windows-notification SHARED ${WINDOWS_NOTIFICATION_VALA_C} ${WINDOWS_API_SOURCES})
2020-11-25 21:55:33 +00:00
2021-03-26 11:22:55 +00:00
target_include_directories(windows-notification
PRIVATE
${PROJECT_SOURCE_DIR}/api/include
2021-02-18 09:24:53 +00:00
${PROJECT_SOURCE_DIR}/yolort/include
2020-11-25 21:55:33 +00:00
)
2021-03-26 11:22:55 +00:00
find_library(shlwapi_LIBRARY shlwapi libshlwapi libshlwapi.a HINTS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
if(NOT shlwapi_LIBRARY)
message(FATAL_ERROR "shlwapi library not found")
endif(NOT shlwapi_LIBRARY)
find_library(propsys_LIBRARY propsys libpropsys libpropsys.a HINTS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
if(NOT propsys_LIBRARY)
message(FATAL_ERROR "propsys library not found")
endif(NOT propsys_LIBRARY)
find_library(ntdll_LIBRARY ntdll libntdll libntdll.a HINTS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
if(NOT ntdll_LIBRARY)
message(FATAL_ERROR "ntdll library not found")
endif(NOT ntdll_LIBRARY)
find_library(mincore_LIBRARY mincore libmincore libmincore.a HINTS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
if(NOT mincore_LIBRARY)
message(FATAL_ERROR "mincore library not found")
endif(NOT mincore_LIBRARY)
2020-11-20 11:58:53 +00:00
2021-03-26 11:22:55 +00:00
target_link_libraries(windows-notification libdino ${shlwapi_LIBRARY} ${propsys_LIBRARY} ${ntdll_LIBRARY} ${mincore_LIBRARY} ${WINDOWS_NOTIFICATION_PACKAGES})
target_compile_features(windows-notification PRIVATE cxx_std_20)
2021-02-18 09:24:53 +00:00
target_compile_options(windows-notification PRIVATE -municode -DUNICODE -fcoroutines -iquote ${PROJECT_SOURCE_DIR}/yolort/include/winrt/yolort_impl)
2020-11-20 11:58:53 +00:00
2020-10-24 22:05:35 +00:00
set_target_properties(windows-notification PROPERTIES PREFIX "")
set_target_properties(windows-notification PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins/)
install(TARGETS windows-notification ${PLUGIN_INSTALL})