Skip to content

Commit 895df62

Browse files
committed
[ext] organizing extensions (capd/ibex) (missing CMakeLists)
1 parent 34dd287 commit 895df62

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

src/extensions/ibex/CMakeLists.txt

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# ==================================================================
2+
# Codac - cmake configuration file
3+
# ==================================================================
4+
5+
list(APPEND CODAC_IBEX_SRC
6+
7+
${CMAKE_CURRENT_SOURCE_DIR}/codac2_ibex.cpp
8+
${CMAKE_CURRENT_SOURCE_DIR}/codac2_ibex.h
9+
)
10+
11+
################################################################################
12+
# Create the target for libcodac-ibex
13+
################################################################################
14+
15+
#if(NOT CMAKE_CXX_STANDARD)
16+
set(CMAKE_CXX_STANDARD 20)
17+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
18+
#endif()
19+
20+
add_library(${PROJECT_NAME}-ibex ${CODAC_IBEX_SRC})
21+
target_link_libraries(${PROJECT_NAME}-ibex PUBLIC ${PROJECT_NAME}-core Ibex::ibex Eigen3::Eigen Ibex::ibex)
22+
23+
24+
################################################################################
25+
# For the generation of the PKG file
26+
################################################################################
27+
28+
set(CODAC_PKG_CONFIG_CFLAGS "${CODAC_PKG_CONFIG_CFLAGS} -I\${includedir}/${PROJECT_NAME}-ibex" PARENT_SCOPE)
29+
set(CODAC_PKG_CONFIG_LIBS "${CODAC_PKG_CONFIG_LIBS} -l${PROJECT_NAME}-ibex" PARENT_SCOPE)
30+
31+
32+
################################################################################
33+
# Installation of libcodac-ibex files
34+
################################################################################
35+
36+
# Getting header files from sources
37+
38+
foreach(srcfile ${CODAC_IBEX_SRC})
39+
if(srcfile MATCHES "\\.h$" OR srcfile MATCHES "\\.hpp$")
40+
list(APPEND CODAC_IBEX_HDR ${srcfile})
41+
file(COPY ${srcfile} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../../include)
42+
endif()
43+
endforeach()
44+
45+
# Generating the file codac-ibex.h
46+
47+
set(CODAC_IBEX_MAIN_HEADER ${CMAKE_CURRENT_BINARY_DIR}/codac-ibex.h)
48+
file(WRITE ${CODAC_IBEX_MAIN_HEADER} "/* This file is generated by CMake */\n\n")
49+
file(APPEND ${CODAC_IBEX_MAIN_HEADER} "#pragma once\n\n")
50+
foreach(header_path ${CODAC_IBEX_HDR})
51+
get_filename_component(header_name ${header_path} NAME)
52+
file(APPEND ${CODAC_IBEX_MAIN_HEADER} "#include <${header_name}>\n")
53+
endforeach()
54+
file(COPY ${CODAC_IBEX_MAIN_HEADER} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../../include)
55+
56+
# Install files in system directories
57+
58+
install(TARGETS ${PROJECT_NAME}-ibex DESTINATION ${CMAKE_INSTALL_LIBDIR})
59+
install(FILES ${CODAC_IBEX_HDR} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}-ibex)
60+
install(FILES ${CODAC_IBEX_MAIN_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}-ibex)

0 commit comments

Comments
 (0)