cmake_minimum_required(VERSION 3.14) project( libwintc-shlang VERSION 1.0 DESCRIPTION "Windows Total Conversion shell language string utilities." LANGUAGES C ) set(PROJECT_ANYARCH false) set(PROJECT_FREESTATUS true) set(PROJECT_MAINTAINER "Rory Fewell ") set(PROJECT_ROOT ${CMAKE_CURRENT_LIST_DIR}) include(GNUInstallDirs) include(../../packaging/cmake-inc/common/CMakeLists.txt) include(../../packaging/cmake-inc/libraries/CMakeLists.txt) include(../../packaging/cmake-inc/linking/CMakeLists.txt) include(../../packaging/cmake-inc/locale/CMakeLists.txt) include(../../packaging/cmake-inc/packaging/CMakeLists.txt) wintc_resolve_library(glib-2.0 GLIB) wintc_resolve_library(gtk+-3.0 GTK3) wintc_resolve_library(wintc-comgtk WINTC_COMGTK) wintc_resolve_library(wintc-shcommon WINTC_SHCOMMON) configure_file(public/domain.h.in ${PROJECT_ROOT}/public/domain.h @ONLY) wintc_create_config_h() add_library( libwintc-shlang src/config.h public/domain.h src/controls.c public/controls.h src/places.c public/places.h public/punctuation.h src/ui.c public/ui.h ) set_target_properties( libwintc-shlang PROPERTIES SOVERSION 1 VERSION ${PROJECT_VERSION} ) target_compile_options( libwintc-shlang PRIVATE ${WINTC_COMPILE_OPTIONS} ) target_include_directories( libwintc-shlang SYSTEM BEFORE PRIVATE ${GLIB_INCLUDE_DIRS} PRIVATE ${GTK3_INCLUDE_DIRS} PRIVATE ${WINTC_COMGTK_INCLUDE_DIRS} PRIVATE ${WINTC_SHCOMMON_INCLUDE_DIRS} ) target_link_directories( libwintc-shlang PRIVATE ${GLIB_LIBRARY_DIRS} PRIVATE ${GTK3_LIBRARY_DIRS} PRIVATE ${WINTC_COMGTK_LIBRARY_DIRS} PRIVATE ${WINTC_SHCOMMON_LIBRARY_DIRS} ) target_link_libraries( libwintc-shlang PRIVATE ${GLIB_LIBRARIES} PRIVATE ${GTK3_LIBRARIES} PRIVATE ${WINTC_COMGTK_LIBRARIES} PRIVATE ${WINTC_SHCOMMON_LIBRARIES} ) # Installation # wintc_configure_and_install_packaging() wintc_add_pkgconfig_install() wintc_compile_and_install_pofiles() wintc_install_public_headers() install( TARGETS libwintc-shlang LIBRARY DESTINATION ${LIB_DIR} )