Make project installable. Install libraries and headers
parent
7cf0ec5f4f
commit
6e798b294a
|
|
@ -101,6 +101,7 @@ set(COMMON_SRC
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SRC_FILES ${COMMON_SRC} ${PLATFORM_SRC})
|
set(SRC_FILES ${COMMON_SRC} ${PLATFORM_SRC})
|
||||||
|
set(INSTALLTARGETS "")
|
||||||
|
|
||||||
# Generate build info header
|
# Generate build info header
|
||||||
execute_process(
|
execute_process(
|
||||||
|
|
@ -134,6 +135,7 @@ target_include_directories(icsneocpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
)
|
)
|
||||||
set_property(TARGET icsneocpp PROPERTY POSITION_INDEPENDENT_CODE ON)
|
set_property(TARGET icsneocpp PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||||
|
list(APPEND INSTALLTARGETS icsneocpp)
|
||||||
|
|
||||||
# libftdi
|
# libftdi
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
|
|
@ -163,6 +165,7 @@ target_include_directories(icsneoc
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
)
|
)
|
||||||
target_link_libraries(icsneoc PRIVATE icsneocpp)
|
target_link_libraries(icsneoc PRIVATE icsneocpp)
|
||||||
|
list(APPEND INSTALLTARGETS icsneoc)
|
||||||
|
|
||||||
add_library(icsneoc-static STATIC api/icsneoc/icsneoc.cpp)
|
add_library(icsneoc-static STATIC api/icsneoc/icsneoc.cpp)
|
||||||
target_include_directories(icsneoc-static
|
target_include_directories(icsneoc-static
|
||||||
|
|
@ -173,6 +176,7 @@ target_include_directories(icsneoc-static
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
)
|
)
|
||||||
target_link_libraries(icsneoc-static PUBLIC icsneocpp)
|
target_link_libraries(icsneoc-static PUBLIC icsneocpp)
|
||||||
|
list(APPEND INSTALLTARGETS icsneoc-static)
|
||||||
|
|
||||||
add_library(icsneolegacy SHARED
|
add_library(icsneolegacy SHARED
|
||||||
api/icsneolegacy/icsneolegacy.cpp
|
api/icsneolegacy/icsneolegacy.cpp
|
||||||
|
|
@ -187,6 +191,7 @@ target_include_directories(icsneolegacy
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
)
|
)
|
||||||
target_link_libraries(icsneolegacy PRIVATE icsneocpp)
|
target_link_libraries(icsneolegacy PRIVATE icsneocpp)
|
||||||
|
list(APPEND INSTALLTARGETS icsneolegacy)
|
||||||
|
|
||||||
target_compile_features(icsneocpp PUBLIC cxx_auto_type cxx_constexpr cxx_lambdas cxx_nullptr cxx_range_for cxx_rvalue_references cxx_sizeof_member cxx_strong_enums)
|
target_compile_features(icsneocpp PUBLIC cxx_auto_type cxx_constexpr cxx_lambdas cxx_nullptr cxx_range_for cxx_rvalue_references cxx_sizeof_member cxx_strong_enums)
|
||||||
target_compile_features(icsneoc PRIVATE cxx_auto_type cxx_constexpr cxx_lambdas cxx_nullptr cxx_range_for cxx_rvalue_references cxx_sizeof_member cxx_strong_enums)
|
target_compile_features(icsneoc PRIVATE cxx_auto_type cxx_constexpr cxx_lambdas cxx_nullptr cxx_range_for cxx_rvalue_references cxx_sizeof_member cxx_strong_enums)
|
||||||
|
|
@ -201,6 +206,13 @@ if(NOT WIN32)
|
||||||
target_link_libraries(icsneocpp PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(icsneocpp PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
install(TARGETS ${INSTALLTARGETS}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
|
||||||
|
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
||||||
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
||||||
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
||||||
include(CPack)
|
include(CPack)
|
||||||
Loading…
Reference in New Issue