summaryrefslogtreecommitdiff
path: root/cmake/lib/dev.cmake
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2025-12-23 11:59:45 +0100
committerSander Vrijders <sander@ouroboros.rocks>2026-01-07 10:00:06 +0100
commit48c294105f5123dc876fbad199ec1e0166d82a18 (patch)
treec49ce8ac75a7d63c10ea1ff960eeff750c680a8e /cmake/lib/dev.cmake
parent145be13e8c18fcb39476d8f65fed23d82320f22f (diff)
downloadouroboros-48c294105f5123dc876fbad199ec1e0166d82a18.tar.gz
ouroboros-48c294105f5123dc876fbad199ec1e0166d82a18.zip
build: Refactor CMake modules
This moves the CMake build logic out of the source tree and splits it up into a more modular form. The tests now have a CMakeLists.txt file in their respective source directory. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'cmake/lib/dev.cmake')
-rw-r--r--cmake/lib/dev.cmake37
1 files changed, 37 insertions, 0 deletions
diff --git a/cmake/lib/dev.cmake b/cmake/lib/dev.cmake
new file mode 100644
index 00000000..21fe140d
--- /dev/null
+++ b/cmake/lib/dev.cmake
@@ -0,0 +1,37 @@
+set(SOURCE_FILES_DEV
+ cep.c
+ dev.c
+)
+
+# Convert relative paths to absolute
+set(SOURCE_FILES_DEV_ABS)
+foreach(src ${SOURCE_FILES_DEV})
+ list(APPEND SOURCE_FILES_DEV_ABS "${LIB_SOURCE_DIR}/${src}")
+endforeach()
+
+add_library(ouroboros-dev SHARED
+ ${SOURCE_FILES_DEV_ABS}
+ ${CEP_PROTO_SRCS})
+
+set_target_properties(ouroboros-dev PROPERTIES
+ VERSION ${PACKAGE_VERSION}
+ SOVERSION ${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR})
+
+if (CMAKE_BUILD_TYPE MATCHES "Debug*")
+ add_compile_flags(ouroboros-dev -DCONFIG_OUROBOROS_DEBUG)
+endif ()
+
+target_include_directories(ouroboros-dev PUBLIC
+ ${LIB_SOURCE_DIR}
+ ${LIB_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}/include
+ ${CMAKE_BINARY_DIR}/include
+ ${CMAKE_BINARY_DIR}
+ ${PROTOBUF_C_INCLUDE_DIRS}
+ ${SYS_RND_HDR}
+ ${LIBGCRYPT_INCLUDE_DIR}
+ ${OPENSSL_INCLUDE_DIR})
+
+target_link_libraries(ouroboros-dev ouroboros-common)
+
+install(TARGETS ouroboros-dev LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})