From 853e8ee2b0ab96712bbf80c354ed96b728b46f61 Mon Sep 17 00:00:00 2001 From: Carleton DeTar Date: Wed, 17 Jun 2026 21:32:00 -0600 Subject: [PATCH 1/2] Add option to make shared libraries. Use QMP_ROOT instead of QMP_DIR --- CMakeLists.txt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d9ad03c..48be393 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,9 +13,10 @@ option(QIO_ENABLE_OUTPUT_BUFFERING "Enable OutputBuffering" OFF) option(QIO_ENABLE_FAST_ROUTE "Enable James Osborns Fast DML route" OFF) option(QIO_ENABLE_SANITIZERS "Enable Undefined Behaviour and Address Sanitizers" OFF) option(QIO_BUILD_TESTS "Enable building of test programs" ON) +option(QIO_BUILD_SHARED_LIBS "Build shared library (in addition to or instead of static)" OFF) set(QIO_DML_BUF_BYTES "262144" CACHE STRING "Maximum DML Buffer Size in bytes") -set(QMP_DIR "" CACHE STRING "QMP Install Directory") +set(QMP_ROOT "" CACHE PATH "QMP Install Prefix") set(CLime_DIR "" CACHE STRING "C-Lime library DIrectory") if(QIO_ENABLE_PARALLEL_BUILD) @@ -24,6 +25,7 @@ if(QIO_ENABLE_PARALLEL_BUILD) set(LOCAL_PARALLEL_ARCH "parscalar") set(ARCHDEF_SUBSTITUTION "ARCH_PARSCALAR") find_package(QMP 2.5.3 REQUIRED) + mark_as_advanced(QMP_DIR) else() message(STATUS "Setting Parallel arch to scalar") set(PARALLEL_ARCH "scalar") @@ -88,7 +90,15 @@ if( QIO_ENABLE_SANITIZERS ) set(LIME_ENABLE_SANITIZERS ${QIO_ENABLE_SANITIZERS}) endif() -if(CLime_DIR) +if(QIO_BUILD_TESTS) + set(BUILD_TESTING ON) +endif() + +if(QIO_BUILD_SHARED_LIBS) + set(BUILD_SHARED_LIBS ON) +endif() + +if(CLime_DIR) find_package(CLime CONFIG REQUIRED) find_library( CLime_LIB_FILE liblime.a liblime.so liblime.dylib PATHS ${CLime_DIR}/../.. NO_DEFAULT_PATH ) message(STATUS "Lime Library found at ${CLime_LIB_FILE}" ) From 015fbdfd043d653180f8113d990a22d05f67abaf Mon Sep 17 00:00:00 2001 From: Carleton DeTar Date: Wed, 17 Jun 2026 21:54:16 -0600 Subject: [PATCH 2/2] Set permission on lib. --- lib/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index c270902..cc88265 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -65,7 +65,8 @@ endif() # into the export for the targets install(TARGETS qio EXPORT QIOTargets ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib + LIBRARY DESTINATION lib + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ RUNTIME DESTINATION bin INCLUDES DESTINATION include )