mirror of
https://github.com/slint-ui/slint.git
synced 2025-09-27 20:42:25 +00:00
CMake: Fix installation
This commit is contained in:
parent
d771143f68
commit
07c4b6cb3d
2 changed files with 33 additions and 28 deletions
|
@ -24,13 +24,9 @@ add_library(SixtyFPS::SixtyFPS ALIAS SixtyFPS)
|
||||||
target_link_libraries(SixtyFPS INTERFACE sixtyfps-rendering-backend-default)
|
target_link_libraries(SixtyFPS INTERFACE sixtyfps-rendering-backend-default)
|
||||||
target_compile_features(SixtyFPS INTERFACE cxx_std_17)
|
target_compile_features(SixtyFPS INTERFACE cxx_std_17)
|
||||||
|
|
||||||
set(api_headers
|
file(GLOB api_headers RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/include/"
|
||||||
sixtyfps.h
|
"${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
|
||||||
sixtyfps_properties.h
|
|
||||||
sixtyfps_signals.h
|
|
||||||
sixtyfps_string.h
|
|
||||||
vtable.h
|
|
||||||
)
|
|
||||||
foreach(header IN LISTS api_headers)
|
foreach(header IN LISTS api_headers)
|
||||||
set_property(TARGET SixtyFPS APPEND PROPERTY PUBLIC_HEADER include/${header})
|
set_property(TARGET SixtyFPS APPEND PROPERTY PUBLIC_HEADER include/${header})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -47,7 +43,8 @@ set(generated_headers
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/generated_include/sixtyfps_default_backend_internal.h
|
${CMAKE_CURRENT_BINARY_DIR}/generated_include/sixtyfps_default_backend_internal.h
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB generated_headers_dependencies "${CMAKE_CURRENT_SOURCE_DIR}/../../sixtyfps_runtime/corelib/*.rs")
|
file(GLOB generated_headers_dependencies
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/../../sixtyfps_runtime/corelib/*.rs")
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
generated_headers_target
|
generated_headers_target
|
||||||
|
@ -71,22 +68,33 @@ target_include_directories(SixtyFPS INTERFACE
|
||||||
add_executable(SixtyFPS::sixtyfps_compiler ALIAS sixtyfps_compiler)
|
add_executable(SixtyFPS::sixtyfps_compiler ALIAS sixtyfps_compiler)
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/cmake/SixtyFPSMacro.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/cmake/SixtyFPSMacro.cmake)
|
||||||
|
|
||||||
#FIXME: also export and install the compiler
|
export(TARGETS SixtyFPS sixtyfps-rendering-backend-default
|
||||||
|
|
||||||
export(TARGETS SixtyFPS sixtyfps-rendering-backend-default #sixtyfps_compiler
|
|
||||||
NAMESPACE SixtyFPS:: FILE "${CMAKE_BINARY_DIR}/lib/cmake/SixtyFPS/SixtyFPSTargets.cmake")
|
NAMESPACE SixtyFPS:: FILE "${CMAKE_BINARY_DIR}/lib/cmake/SixtyFPS/SixtyFPSTargets.cmake")
|
||||||
install(EXPORT SixtyFPSTargets NAMESPACE SixtyFPS:: DESTINATION lib/cmake/SixtyFPS)
|
install(EXPORT SixtyFPSTargets NAMESPACE SixtyFPS:: DESTINATION lib/cmake/SixtyFPS)
|
||||||
install(TARGETS SixtyFPS sixtyfps-rendering-backend-default #sixtyfps_compiler
|
install(TARGETS SixtyFPS sixtyfps-rendering-backend-default
|
||||||
EXPORT SixtyFPSTargets LIBRARY DESTINATION lib PUBLIC_HEADER DESTINATION include/sixtyfps)
|
EXPORT SixtyFPSTargets LIBRARY DESTINATION lib PUBLIC_HEADER DESTINATION include/sixtyfps)
|
||||||
|
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
get_target_property(SIXTYFPS_SHARED_LIB sixtyfps-rendering-backend-default-shared IMPORTED_LOCATION)
|
||||||
|
install(FILES ${SIXTYFPS_SHARED_LIB} TYPE LIB)
|
||||||
|
if (WIN32)
|
||||||
|
get_filename_component(SIXTYFPS_SHARED_LIB_DIR ${SIXTYFPS_SHARED_LIB} DIRECTORY)
|
||||||
|
get_filename_component(SIXTYFPS_SHARED_LIB_WE ${SIXTYFPS_SHARED_LIB} NAME_WLE)
|
||||||
|
install(FILES "${SIXTYFPS_SHARED_LIB_DIR}/${SIXTYFPS_SHARED_LIB_WE}.lib" TYPE LIB)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_target_property(SIXTYFPS_COMPILER_PATH sixtyfps_compiler IMPORTED_LOCATION)
|
||||||
|
install(PROGRAMS ${SIXTYFPS_COMPILER_PATH} TYPE BIN)
|
||||||
|
|
||||||
|
|
||||||
configure_package_config_file("cmake/SixtyFPSConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SixtyFPS/SixtyFPSConfig.cmake" INSTALL_DESTINATION lib/cmake/SixtyFPS)
|
configure_package_config_file("cmake/SixtyFPSConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SixtyFPS/SixtyFPSConfig.cmake" INSTALL_DESTINATION lib/cmake/SixtyFPS)
|
||||||
|
|
||||||
write_basic_package_version_file(
|
write_basic_package_version_file(
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SixtyFPS/SixtyFPSConfigVersion.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SixtyFPS/SixtyFPSConfigVersion.cmake
|
||||||
VERSION 1.0.0
|
VERSION 0.0.1
|
||||||
COMPATIBILITY SameMajorVersion
|
COMPATIBILITY ExactVersion
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES
|
install(FILES
|
||||||
|
@ -96,3 +104,4 @@ install(FILES
|
||||||
DESTINATION lib/cmake/SixtyFPS
|
DESTINATION lib/cmake/SixtyFPS
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,21 +17,17 @@ if(_IMPORT_PREFIX STREQUAL "/")
|
||||||
set(_IMPORT_PREFIX "")
|
set(_IMPORT_PREFIX "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(internal_lib IN ITEMS @internal_libs@)
|
add_library(sixtyfps-rendering-backend-default-shared SHARED IMPORTED)
|
||||||
add_library(${internal_lib} SHARED IMPORTED)
|
get_filename_component(SIXTYFPS_SHARED_LIB @SIXTYFPS_SHARED_LIB@ NAME_WLE)
|
||||||
set(fn "${internal_lib}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
set_property(TARGET sixtyfps-rendering-backend-default-shared PROPERTY IMPORTED_LOCATION
|
||||||
# Don't look in lib when we're inside a cargo tree, as cargo doesn't use a lib/ sub-dir.
|
"${_IMPORT_PREFIX}/@CMAKE_INSTALL_LIBDIR@/${SIXTYFPS_SHARED_LIB}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||||
if(EXISTS "${_IMPORT_PREFIX}/${fn}")
|
if (WIN32)
|
||||||
else()
|
set_property(TARGET ${internal_lib} PROPERTY IMPORTED_IMPLIB
|
||||||
set(fn "lib/${fn}")
|
"${_IMPORT_PREFIX}/@CMAKE_INSTALL_LIBDIR@/${SIXTYFPS_SHARED_LIB}.lib")
|
||||||
endif()
|
endif()
|
||||||
set_property(TARGET ${internal_lib} PROPERTY IMPORTED_LOCATION "${_IMPORT_PREFIX}/${fn}")
|
|
||||||
if (WIN32)
|
|
||||||
set_property(TARGET ${internal_lib} PROPERTY IMPORTED_IMPLIB "${_IMPORT_PREFIX}/${fn}.lib")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set(fn)
|
add_executable(SixtyFPS::sixtyfps_compiler IMPORTED GLOBAL)
|
||||||
endforeach()
|
set_target_properties(SixtyFPS::sixtyfps_compiler PROPERTIES IMPORTED_LOCATION "${_IMPORT_PREFIX}/@CMAKE_INSTALL_BINDIR@/sixtyfps_compiler${CMAKE_EXECUTABLE_SUFFIX}")
|
||||||
|
|
||||||
set(_IMPORT_PREFIX)
|
set(_IMPORT_PREFIX)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue