Warning, /games/palapeli/libpala/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 project(libpala)
0002 
0003 include(ECMGenerateHeaders)
0004 include(GenerateExportHeader)
0005 include(CMakePackageConfigHelpers)
0006 
0007 set(libpala_VERSION "0.2.0")
0008 set(libpala_SOVERSION "0")
0009 # Pala/ is include visibility protection layer
0010 set(libpala_INSTALL_INCLUDEDIR ${KDE_INSTALL_INCLUDEDIR}/Pala)
0011 
0012 add_library(pala SHARED)
0013 
0014 target_sources(pala PRIVATE
0015     slicer.cpp slicer.h
0016     slicerjob.cpp slicerjob.h
0017     slicermode.cpp slicermode.h
0018     slicerproperty.cpp slicerproperty.h
0019     slicerpropertyset.cpp slicerpropertyset.h
0020 )
0021 
0022 ecm_qt_declare_logging_category(pala
0023     HEADER libpala_debug.h
0024     IDENTIFIER PALAPELI_LIBPALA_LOG
0025     CATEGORY_NAME org.kde.palapeli.libpala
0026     DESCRIPTION "palapeli (libpala)"
0027     EXPORT PALAPELI
0028 )
0029 
0030 set(libpala_HDRS
0031     ${CMAKE_CURRENT_BINARY_DIR}/libpala_export.h
0032 )
0033 ecm_generate_headers(libpala_CamelCase_HEADERS
0034     HEADER_NAMES
0035         Slicer
0036         SlicerJob
0037         SlicerMode
0038         SlicerProperty
0039         SlicerPropertySet
0040     REQUIRED_HEADERS libpala_HDRS
0041     PREFIX Pala
0042 )
0043 
0044 generate_export_header(pala BASE_NAME libpala)
0045 target_link_libraries(pala
0046     PUBLIC
0047         KF6::I18n
0048         Qt6::Gui
0049 )
0050 target_include_directories(pala
0051     INTERFACE
0052         "$<INSTALL_INTERFACE:${libpala_INSTALL_INCLUDEDIR}>"
0053 )
0054 set_target_properties(pala PROPERTIES
0055     VERSION ${libpala_VERSION}
0056     SOVERSION ${libpala_SOVERSION}
0057     EXPORT_NAME Pala
0058 )
0059 
0060 install(TARGETS pala EXPORT PalaTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0061 # pala/ & Pala/ are class namespace path part
0062 install(FILES ${libpala_HDRS} DESTINATION ${libpala_INSTALL_INCLUDEDIR}/pala COMPONENT Devel)
0063 install(FILES ${libpala_CamelCase_HEADERS} DESTINATION ${libpala_INSTALL_INCLUDEDIR}/Pala COMPONENT Devel)
0064 
0065 export(TARGETS pala FILE "${PROJECT_BINARY_DIR}/PalaTargets.cmake")
0066 
0067 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Pala")
0068 
0069 configure_package_config_file(
0070     "${CMAKE_CURRENT_SOURCE_DIR}/PalaConfig.cmake.in"
0071     "${CMAKE_CURRENT_BINARY_DIR}/PalaConfig.cmake"
0072     INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0073 )
0074 write_basic_package_version_file(
0075     "${CMAKE_CURRENT_BINARY_DIR}/PalaConfigVersion.cmake"
0076     VERSION ${libpala_VERSION}
0077     COMPATIBILITY SameMajorVersion
0078 )
0079 install(FILES
0080     "${CMAKE_CURRENT_BINARY_DIR}/PalaConfig.cmake"
0081     "${CMAKE_CURRENT_BINARY_DIR}/PalaConfigVersion.cmake"
0082     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0083     COMPONENT Devel
0084 )
0085 
0086 install(EXPORT PalaTargets
0087     DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0088     COMPONENT Devel
0089 )