-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
executable file
·48 lines (38 loc) · 1.84 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
cmake_minimum_required(VERSION 3.13)
project(saltpack-jni)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
if(MSVC)
set(MSVC_COMPILER_DEFS "-D_VARIADIC_MAX=10") #vc 2012 fix for vararg templates
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
endif()
IF(WIN32)
SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
ELSE(WIN32)
SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
ENDIF(WIN32)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
include_directories("src/main/cpp/include")
# Sources
set(SOURCE_FILES src/main/cpp/InputStreamWrapper.cpp src/main/cpp/OutputStreamWrapper.cpp src/main/cpp/com_gherynos_libsaltpack_MessageReader.cpp src/main/cpp/com_gherynos_libsaltpack_MessageWriter.cpp src/main/cpp/com_gherynos_libsaltpack_Utils.cpp)
set(HEADER_FILES src/main/cpp/include/common.h src/main/cpp/include/InputStreamWrapper.h src/main/cpp/include/OutputStreamWrapper.h src/main/cpp/include/com_gherynos_libsaltpack_MessageReader.h src/main/cpp/include/com_gherynos_libsaltpack_MessageWriter.h src/main/cpp/include/com_gherynos_libsaltpack_Utils.h)
add_library(saltpack-jni SHARED ${SOURCE_FILES} ${HEADER_FILES})
# JNI
find_package(JNI REQUIRED)
include_directories(${JNI_INCLUDE_DIRS})
target_link_libraries(saltpack-jni ${JNI_LIBRARIES})
# LibSaltpack
find_package(LibSaltpack REQUIRED)
include_directories(${LIBSALTPACK_INCLUDE_DIRS})
target_link_libraries(saltpack-jni ${LIBSALTPACK_LIBRARIES})
# LibSodium
find_package(Libsodium REQUIRED)
include_directories(${LIBSODIUM_INCLUDE_DIRS})
target_link_libraries(saltpack-jni ${LIBSODIUM_LIBRARIES})
# MessagePack
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
find_package(Msgpack REQUIRED)
include_directories(${MSGPACK_INCLUDE_DIRS})