108 lines
5.9 KiB
CMake
108 lines
5.9 KiB
CMake
#################################################
|
|
# Generate platform metadata files
|
|
#################################################
|
|
if( APPLE )
|
|
#TODO Generate this at runtime as well
|
|
include( ${KICAD_CMAKE_MODULE_PATH}/WritePlatformMetadata_macos.cmake )
|
|
elseif( UNIX )
|
|
# Add the command to configure the linux metainfo file with the version information
|
|
add_custom_command(
|
|
OUTPUT ${PROJECT_BINARY_DIR}/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-DSRC_PATH=${PROJECT_SOURCE_DIR}
|
|
-DBUILD_PATH=${PROJECT_BINARY_DIR}
|
|
-DKICAD_CMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/cmake
|
|
-P ${KICAD_CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
|
|
DEPENDS ${KICAD_CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
|
|
COMMENT "Configuring Linux metainfo"
|
|
)
|
|
|
|
# Read the metainfo from the binary directory because it has been configured by Cmake already
|
|
# to have the version string in it
|
|
linux_metadata_translation( ${PROJECT_BINARY_DIR}/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/metainfo/org.kicad.kicad.metainfo.xml
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
# All the desktop files are read from the source directory
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/launchers/org.kicad.bitmap2component.desktop.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.bitmap2component.desktop
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/launchers/org.kicad.eeschema.desktop.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.eeschema.desktop
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/launchers/org.kicad.gerbview.desktop.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.gerbview.desktop
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/launchers/org.kicad.kicad.desktop.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.kicad.desktop
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/launchers/org.kicad.pcbcalculator.desktop.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.pcbcalculator.desktop
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/launchers/org.kicad.pcbnew.desktop.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.pcbnew.desktop
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
# Translate the MIME info, which are read from the source directory
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/mime/kicad-gerbers.xml.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/mime/kicad-gerbers.xml
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
linux_metadata_translation( ${PROJECT_SOURCE_DIR}/resources/linux/mime/kicad-kicad.xml.in
|
|
${PROJECT_BINARY_DIR}/resources/linux/mime/kicad-kicad.xml
|
|
${PROJECT_SOURCE_DIR}/translation/pofiles )
|
|
|
|
add_custom_target( metadata ALL
|
|
DEPENDS ${PROJECT_BINARY_DIR}/resources/linux/metainfo/org.kicad.kicad.metainfo.xml
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.bitmap2component.desktop
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.eeschema.desktop
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.gerbview.desktop
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.kicad.desktop
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.pcbcalculator.desktop
|
|
${PROJECT_BINARY_DIR}/resources/linux/launchers/org.kicad.pcbnew.desktop
|
|
${PROJECT_BINARY_DIR}/resources/linux/mime/kicad-gerbers.xml
|
|
${PROJECT_BINARY_DIR}/resources/linux/mime/kicad-kicad.xml
|
|
)
|
|
|
|
|
|
# Install icons
|
|
install( DIRECTORY ${PROJECT_SOURCE_DIR}/resources/linux/icons/
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons
|
|
COMPONENT resources
|
|
)
|
|
|
|
# Install MIME type files
|
|
install( DIRECTORY ${PROJECT_BINARY_DIR}/resources/linux/mime/
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages
|
|
COMPONENT resources
|
|
FILES_MATCHING
|
|
PATTERN "*.xml"
|
|
PATTERN "*.in" EXCLUDE
|
|
)
|
|
|
|
# Install application launchers (.desktop files)
|
|
install( DIRECTORY ${PROJECT_BINARY_DIR}/resources/linux/launchers/
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
|
|
COMPONENT resources
|
|
FILES_MATCHING
|
|
PATTERN "*.desktop"
|
|
PATTERN "*.in" EXCLUDE
|
|
)
|
|
|
|
# Install appstream metadata (app store entry)
|
|
install( DIRECTORY ${PROJECT_BINARY_DIR}/resources/linux/metainfo/
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo
|
|
COMPONENT resources
|
|
FILES_MATCHING
|
|
PATTERN "*metainfo.xml"
|
|
PATTERN "*.in" EXCLUDE
|
|
)
|
|
endif()
|
|
|
|
add_subdirectory(bitmaps_png)
|
|
add_subdirectory(project_template) |