1 cmake_minimum_required(VERSION 2.8)
2 include(GenerateExportHeader)
5 include_directories(src/ ${CMAKE_CURRENT_BINARY_DIR})
7 add_library(jsongssapi SHARED
8 src/datamodel/GSSDisplayStatus.cpp
9 src/datamodel/GSSName.cpp
10 src/datamodel/GSSOID.cpp
11 src/datamodel/GSSOIDSet.cpp
12 src/datamodel/GSSBuffer.cpp
13 src/datamodel/GSSCredential.cpp
16 src/commands/GSSGetMic.cpp
17 src/commands/GSSInitSecContext.cpp
18 src/commands/GSSCommand.cpp
19 src/commands/GSSImportName.cpp
20 src/commands/GSSAcquireCred.cpp
21 src/commands/GSSDisplayName.cpp
22 src/commands/GSSPseudoRandom.cpp
23 src/commands/GSSWrap.cpp
24 src/commands/GSSUnwrap.cpp
28 src/cache/GSSContextCache.cpp
29 src/cache/GSSNameCache.cpp
30 src/datamodel/GSSContext.cpp
33 GENERATE_EXPORT_HEADER(jsongssapi)
35 add_executable(json_gssapi main.cpp)
37 find_package (PkgConfig)
38 pkg_check_modules (GLIB2 glib-2.0)
40 find_package (Jansson)
43 set(JANSSON_LIBRARIES jansson)
46 # deal with gssapi / krb5
48 set(KRB5_SDK $ENV{PROGRAMW6432}\\MIT\\Kerberos)
49 message("KRB5_SDK: ${KRB5_SDK}" )
50 set(KRB5_INCLUDE_DIRS ${KRB5_SDK}\\include;${KRB5_SDK}\\include\\gssapi)
51 set(KRB5_LIBRARIES ${KRB5_SDK}\\lib\\amd64\\gssapi64.lib)
53 set(KRB5_LIBRARIES gssapi_krb5)
56 # openssl / crpyto for random
59 target_link_libraries(jsongssapi crypto)
60 target_link_libraries(json_gssapi crypto)
61 add_definitions(-DHAVE_OPENSSL)
64 include_directories(${KRB5_INCLUDE_DIRS} ${JANSSON_INCLUDE_DIRS})
65 target_link_libraries(jsongssapi ${KRB5_LIBRARIES} ${JANSSON_LIBRARIES})
66 target_link_libraries(json_gssapi jsongssapi ${KRB5_LIBRARIES} ${JANSSON_LIBRARIES})
68 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/")
70 find_package (CPPUNIT)
71 install(TARGETS json_gssapi RUNTIME DESTINATION bin)
75 add_subdirectory(test)