From 895df62f41400d1ef7b2b74dfdb1e4845cc653fc Mon Sep 17 00:00:00 2001 From: Simon Rohou Date: Wed, 29 Jan 2025 13:14:12 +0100 Subject: [PATCH] [ext] organizing extensions (capd/ibex) (missing CMakeLists) --- src/extensions/ibex/CMakeLists.txt | 60 ++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/extensions/ibex/CMakeLists.txt diff --git a/src/extensions/ibex/CMakeLists.txt b/src/extensions/ibex/CMakeLists.txt new file mode 100644 index 000000000..529a13e06 --- /dev/null +++ b/src/extensions/ibex/CMakeLists.txt @@ -0,0 +1,60 @@ +# ================================================================== +# Codac - cmake configuration file +# ================================================================== + +list(APPEND CODAC_IBEX_SRC + + ${CMAKE_CURRENT_SOURCE_DIR}/codac2_ibex.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/codac2_ibex.h +) + +################################################################################ +# Create the target for libcodac-ibex +################################################################################ + + #if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 20) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + #endif() + + add_library(${PROJECT_NAME}-ibex ${CODAC_IBEX_SRC}) + target_link_libraries(${PROJECT_NAME}-ibex PUBLIC ${PROJECT_NAME}-core Ibex::ibex Eigen3::Eigen Ibex::ibex) + + + ################################################################################ + # For the generation of the PKG file + ################################################################################ + + set(CODAC_PKG_CONFIG_CFLAGS "${CODAC_PKG_CONFIG_CFLAGS} -I\${includedir}/${PROJECT_NAME}-ibex" PARENT_SCOPE) + set(CODAC_PKG_CONFIG_LIBS "${CODAC_PKG_CONFIG_LIBS} -l${PROJECT_NAME}-ibex" PARENT_SCOPE) + + + ################################################################################ + # Installation of libcodac-ibex files + ################################################################################ + + # Getting header files from sources + + foreach(srcfile ${CODAC_IBEX_SRC}) + if(srcfile MATCHES "\\.h$" OR srcfile MATCHES "\\.hpp$") + list(APPEND CODAC_IBEX_HDR ${srcfile}) + file(COPY ${srcfile} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../../include) + endif() + endforeach() + + # Generating the file codac-ibex.h + + set(CODAC_IBEX_MAIN_HEADER ${CMAKE_CURRENT_BINARY_DIR}/codac-ibex.h) + file(WRITE ${CODAC_IBEX_MAIN_HEADER} "/* This file is generated by CMake */\n\n") + file(APPEND ${CODAC_IBEX_MAIN_HEADER} "#pragma once\n\n") + foreach(header_path ${CODAC_IBEX_HDR}) + get_filename_component(header_name ${header_path} NAME) + file(APPEND ${CODAC_IBEX_MAIN_HEADER} "#include <${header_name}>\n") + endforeach() + file(COPY ${CODAC_IBEX_MAIN_HEADER} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../../include) + + # Install files in system directories + + install(TARGETS ${PROJECT_NAME}-ibex DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES ${CODAC_IBEX_HDR} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}-ibex) + install(FILES ${CODAC_IBEX_MAIN_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}-ibex) \ No newline at end of file