Skip to content

Commit f9039af

Browse files
committed
install headers
1 parent 261e47d commit f9039af

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

CMakeLists.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
cmake_minimum_required(VERSION 3.10)
1+
cmake_minimum_required(VERSION 3.23)
2+
# FILE_SET needs cmake 3.23
23

34
project(dbc VERSION 0.1.1 DESCRIPTION "C++ DBC Parser")
45

@@ -39,19 +40,43 @@ list(APPEND SOURCE ${PROJECT_SOURCE_DIR}/src/utils.cpp
3940
${PROJECT_SOURCE_DIR}/src/signal.cpp
4041
${PROJECT_SOURCE_DIR}/src/dbc.cpp)
4142

43+
set(HEADER_FILES
44+
${PROJECT_SOURCE_DIR}/include/libdbc/dbc.hpp
45+
${PROJECT_SOURCE_DIR}/include/libdbc/message.hpp
46+
${PROJECT_SOURCE_DIR}/include/libdbc/signal.hpp
47+
${PROJECT_SOURCE_DIR}/include/libdbc/utils/utils.hpp
48+
${PROJECT_SOURCE_DIR}/include/libdbc/exceptions/error.hpp
49+
)
50+
4251
include_directories(src)
4352
include_directories(include)
4453

4554
add_subdirectory(test)
4655
add_subdirectory(doc)
4756

4857
add_library(${PROJECT_NAME} STATIC ${SOURCE})
58+
target_sources(${PROJECT_NAME} INTERFACE FILE_SET HEADERS
59+
TYPE HEADERS
60+
BASE_DIRS ${PROJECT_SOURCE_DIR}/include/libdbc
61+
FILES ${HEADER_FILES})
4962

5063
add_custom_target(release
5164
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
5265
COMMAND ${CMAKE_SOURCE_DIR}/scripts/create_single_header.sh
5366
DEPENDS ${PROJECT_NAME})
5467

68+
## Installation
69+
# install lib
70+
install(TARGETS ${PROJECT_NAME}
71+
DESTINATION ${CMAKE_INSTALL_LIBDIR})
72+
73+
# install headers
74+
install(TARGETS ${PROJECT_NAME}
75+
FILE_SET HEADERS
76+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lib${PROJECT_NAME}
77+
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
78+
)
79+
5580
# Generate pkg-config file
5681
configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
5782
install(

0 commit comments

Comments
 (0)