From 95e84ecb0e5f164499c24be68c4ece2b7bed4505 Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Sun, 2 Nov 2025 18:36:45 -0600 Subject: [PATCH] Fix cmake --- CMakeLists.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f72612..85559dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ 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 @@ -27,6 +28,7 @@ target_link_libraries(crosslang_gfx PUBLIC TessesFrameworkGFX::tessesframework_g 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( @@ -40,15 +42,33 @@ FetchContent_Declare( 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