mirror of
https://onedev.site.tesses.net/crosslang/crosslang-gfx
synced 2026-02-08 09:35:45 +00:00
Fix cmake
This commit is contained in:
@@ -1,10 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
project(CrossGFX)
|
project(CrossGFX)
|
||||||
|
|
||||||
option(CROSSGFX_ISPLUGIN "Is this a plugin or a static library for something, if not a plugin it will fetchcontent crosslang and tessesframework-gfx" ON)
|
|
||||||
option(CROSSGFX_SHARED_CROSSLANG "Is crosslang shared if not plugin" ON)
|
|
||||||
option(CROSSGFX_FETCHCONTENT "Whether to Fetch content" ON)
|
|
||||||
list(APPEND CROSSGFX_SOURCES
|
list(APPEND CROSSGFX_SOURCES
|
||||||
src/reg.cpp
|
src/reg.cpp
|
||||||
src/size.cpp
|
src/size.cpp
|
||||||
@@ -18,7 +14,6 @@ src/webcam.cpp
|
|||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
if(CROSSGFX_ISPLUGIN)
|
|
||||||
find_package(TessesCrossLang REQUIRED)
|
find_package(TessesCrossLang REQUIRED)
|
||||||
|
|
||||||
find_package(TessesFrameworkGFX REQUIRED)
|
find_package(TessesFrameworkGFX REQUIRED)
|
||||||
@@ -27,78 +22,3 @@ target_link_libraries(crosslang_gfx PUBLIC TessesCrossLang::crosslang_shared)
|
|||||||
target_link_libraries(crosslang_gfx PUBLIC TessesFrameworkGFX::tessesframework_gfx_shared)
|
target_link_libraries(crosslang_gfx PUBLIC TessesFrameworkGFX::tessesframework_gfx_shared)
|
||||||
target_include_directories(crosslang_gfx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
target_include_directories(crosslang_gfx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||||
install(TARGETS crosslang_gfx DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
install(TARGETS crosslang_gfx DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||||
else()
|
|
||||||
if(CROSSGFX_FETCHCONTENT)
|
|
||||||
include(FetchContent)
|
|
||||||
|
|
||||||
FetchContent_Declare(
|
|
||||||
TessesCrossLang
|
|
||||||
GIT_REPOSITORY https://onedev.site.tesses.net/crosslang.git
|
|
||||||
)
|
|
||||||
FetchContent_Declare(
|
|
||||||
TessesFrameworkGFX
|
|
||||||
GIT_REPOSITORY https://onedev.site.tesses.net/tesses-framework/tessesframework-gfx
|
|
||||||
)
|
|
||||||
|
|
||||||
FetchContent_MakeAvailable(TessesFrameworkGFX)
|
|
||||||
FetchContent_MakeAvailable(TessesCrossLang)
|
|
||||||
else()
|
|
||||||
find_package(TessesFrameworkGFX REQUIRED)
|
|
||||||
find_package(TessesCrossLang REQUIRED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(crosslang_gfx STATIC ${CROSSGFX_SOURCES})
|
|
||||||
list(APPEND CrossLangGFXTargets crosslang_gfx)
|
|
||||||
if(CROSSGFX_FETCHCONTENT)
|
|
||||||
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC tessesframework_gfx)
|
|
||||||
list(APPEND CrossLangGFXTargets tessesframework_gfx)
|
|
||||||
if(CROSSGFX_SHARED_CROSSLANG)
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC crosslang_shared)
|
|
||||||
list(APPEND CrossLangGFXTargets crosslang_shared)
|
|
||||||
else()
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC crosslang_static)
|
|
||||||
list(APPEND CrossLangGFXTargets crosslang_static)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
if(CROSSGFX_SHARED_CROSSLANG)
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC TessesFrameworkGFX::tessesframework_gfx_shared)
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC TessesCrossLang::crosslang_shared)
|
|
||||||
else()
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC TessesFrameworkGFX::tessesframework_gfx)
|
|
||||||
target_link_libraries(crosslang_gfx PUBLIC TessesCrossLang::crosslang_static)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_include_directories(crosslang_gfx
|
|
||||||
PUBLIC
|
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
|
||||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
install(FILES include/CrossLangGFX.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
||||||
|
|
||||||
install(TARGETS ${CrossLangGFXLibs}
|
|
||||||
EXPORT CrossLangGFXTargets
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
||||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
install(EXPORT CrossLangGFXTargets
|
|
||||||
FILE CrossLangGFXTargets.cmake
|
|
||||||
NAMESPACE CrossLangGFX::
|
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CrossLangGFX
|
|
||||||
)
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/CrossLangGFXConfig.cmake"
|
|
||||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CrossLangGFX)
|
|
||||||
|
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}CrossLangGFXConfig.cmake"
|
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CrossLangGFX)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user