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)
|
||||
|
||||
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
|
||||
src/reg.cpp
|
||||
src/size.cpp
|
||||
@@ -18,7 +14,6 @@ src/webcam.cpp
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
if(CROSSGFX_ISPLUGIN)
|
||||
find_package(TessesCrossLang 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_include_directories(crosslang_gfx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||
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