mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
Merge pull request #207 from miyanyan/add-cmake-install
Add cmake install
This commit is contained in:
commit
fe489cf329
@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD 11)
|
|||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/../pocketpy/include)
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/../../include)
|
||||||
|
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
@ -16,8 +16,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
|
||||||
|
|
||||||
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src POCKETPY_SRC)
|
aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src POCKETPY_SRC)
|
||||||
|
|
||||||
option(PK_USE_CJSON "" OFF)
|
option(PK_USE_CJSON "" OFF)
|
||||||
@ -60,6 +58,36 @@ else()
|
|||||||
target_link_libraries(${PROJECT_EXE_NAME} ${CMAKE_DL_LIBS})
|
target_link_libraries(${PROJECT_EXE_NAME} ${CMAKE_DL_LIBS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
|
||||||
|
$<INSTALL_INTERFACE:include>
|
||||||
|
)
|
||||||
|
|
||||||
if(PK_USE_CJSON)
|
if(PK_USE_CJSON)
|
||||||
target_link_libraries(${PROJECT_NAME} cjson)
|
target_link_libraries(${PROJECT_NAME} PRIVATE $<BUILD_INTERFACE:cjson>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(PK_INSTALL "Generate the install target" ON)
|
||||||
|
if (PK_INSTALL)
|
||||||
|
install(
|
||||||
|
TARGETS ${PROJECT_NAME}
|
||||||
|
EXPORT ${PROJECT_NAME}_target
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
|
||||||
|
DESTINATION include
|
||||||
|
FILES_MATCHING PATTERN "*.h"
|
||||||
|
PATTERN "typings" EXCLUDE
|
||||||
|
)
|
||||||
|
|
||||||
|
# generate config.cmake
|
||||||
|
install(
|
||||||
|
EXPORT ${PROJECT_NAME}_target
|
||||||
|
FILE ${PROJECT_NAME}-config.cmake
|
||||||
|
DESTINATION "share/${PROJECT_NAME}"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
28
run_cmake_install_test.sh
Normal file
28
run_cmake_install_test.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
rm -rf install
|
||||||
|
mkdir -p install/build
|
||||||
|
cd install/build
|
||||||
|
cmake ../../ -DCMAKE_INSTALL_PREFIX=../pocketpy -DPK_USE_CJSON=ON -DPK_ENABLE_OS=ON
|
||||||
|
cmake --build . --target install --config Release -j 8
|
||||||
|
|
||||||
|
if [ -e "../pocketpy/lib/libpocketpy.so" ]; then
|
||||||
|
echo "Library installed successfully."
|
||||||
|
else
|
||||||
|
echo "Library installation failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e "../pocketpy/include/pocketpy.h" ]; then
|
||||||
|
echo "Header files installed successfully."
|
||||||
|
else
|
||||||
|
echo "Header files installation failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e "../pocketpy/share/pocketpy/pocketpy-config.cmake" ]; then
|
||||||
|
echo "Config file installed successfully."
|
||||||
|
else
|
||||||
|
echo "Config file installation failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "CMake install verified successfully."
|
Loading…
x
Reference in New Issue
Block a user