cmake_minimum_required(VERSION 3.2)
include(ExternalProject)
project(p4nodeapi C CXX)
set(P4API_VERSION "15.2")
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(P4API_PLATFORM "darwin90x86_64")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(P4API_PLATFORM "linux26x86_64")
endif()
set(P4API_URL "http://ftp.perforce.com/perforce/r${P4API_VERSION}/bin.${P4API_PLATFORM}/p4api.tgz")
set(P4API_ROOT ${PROJECT_SOURCE_DIR}/.p4api)
message("Downloading Perforce SDK.")
file(DOWNLOAD ${P4API_URL} ${CMAKE_BINARY_DIR}/p4api.tgz SHOW_PROGRESS)
message("Unpacking Perforce SDK.")
execute_process(
COMMAND ${CMAKE_COMMAND} -E make_directory ${P4API_ROOT}
COMMAND tar --strip-components=1 -C ${P4API_ROOT} -xf ${CMAKE_BINARY_DIR}/p4api.tgz
)
list(APPEND
CMAKE_MODULE_PATH
${CMAKE_CURRENT_SOURCE_DIR}/node_modules/node-cmake
)
find_package(NodeJS)
include_directories(${P4API_ROOT}/include)
add_nodejs_module(${PROJECT_NAME} src/cpp/basicuser.h src/cpp/basicuser.cc src/cpp/p4nodeapi.cc)
target_link_libraries(${PROJECT_NAME}
${P4API_ROOT}/lib/libclient.a
${P4API_ROOT}/lib/librpc.a
${P4API_ROOT}/lib/libsupp.a
${P4API_ROOT}/lib/libp4sslstub.a
)
set_target_properties(${PROJECT_NAME}
PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib
)
# |
Change |
User |
Description |
Committed |
|
#1
|
16512 |
photex |
p4nodeapi build and implementation updates
- CMake
- Node 5.0.0
- p4 api 15.2 |
|
|